API del Banco de Indicadores

La API de Indicadores del INEGI permite consultar los datos y metadatos de los indicadores disponibles a nivel nacional, por entidad federativa y municipio. Puede utilizar la API para crear aplicaciones que muestren la información directamente de las bases de datos del INEGI en el preciso momento en que se actualiza.

Listado de indicadores disponibles:

Selecciona un indicador para construir tu consulta:

Guía para desarrolladores

Introducción

Bienvenido a la documentación para desarrolladores de la API de Indicadores del INEGI. El INEGI se une a la iniciativa de datos de libre acceso con el objetivo de ampliar la disponibilidad de la información para los usuarios.

Audiencia

Esta documentación está dirigida para los desarrolladores familiarizados con la programación JavaScript y conocimientos de programación orientada a objetos.

Parámetros de entrada
IdIndicador

El primer paso que se debe realizar para obtener información de la API es seleccionar el indicador e identificar su clave. Esto lo puede realizar consultando el "Constructor de consultas".

Idioma

La información está disponible en español [es] e inglés [en].

Área geográfica

Puede ser nacional [00], por entidad federativa [99] o por municipio [999], dependiendo de cada indicador.

Dato más reciente o Serie histórica

Puede consultarse solo el dato más reciente [true] o la serie histórica completa [false].

Fuente de datos

Corresponde a la fuente de diseminación [BISE] o [BIE] de donde se obtendrán los datos consultados.

Versión

Con él se identificará la edición [1.0] del servicio de provisión de datos.

Token

Para utilizar la API es necesario mandarle un token válido, el cual puede obtener al registrarse aquí.

Formato

Se ofrece la información en 3 tipos de formatos: JSON [json], JSONP [jsonp] o XML [xml].


Cómo utilizar el método Indicadores
Para consultar el método Indicadores se envían los parámetros directamente en la URL, por ejemplo:
Sintaxis:        
URL:    
Parámetros de salida
Id

Es el identificador del método seleccionado["INDICATOR"].

AgencyID

Es la identificación de la agencia que proporciona los datos["INEGI"].

Versión

Es la versión del método utilizado para obtener los datos ["1.0"].

Lang

Es la clave del idioma en la que otorgan los datos["es"].

CODE

Es el arreglo de los datos obtenidos, cada elemento consta de los siguientes atributos.
Value:Es un identificador del dato.
Description:Es la descripción del dato.

Parámetros de entrada
Catálogo

Identifica [CL_UNIT] al listado de datos que complementan al indicador. Esto lo puede realizar consultando el "Constructor de consultas".

IdCatalogo

Llave de identificación para obtener un registro [1] o todos [null] los registros del catálogo.

Idioma

La información está disponible en español [es] e inglés [en].

Fuente de datos

Corresponde a la fuente de diseminación [BISE] o [BIE] de donde se obtendrán los datos consultados.

Versión

Con él se identificará la edición [1.0] del servicio de provisión de datos

Token

Para utilizar la API es necesario mandarle un token válido, el cual puede obtener al registrarse aquí.

Formato

Se ofrece la información en 3 tipos de formatos: JSON [json], JSONP [jsonp] o XML [xml].


Cómo utilizar el método Cátalogos
Para consultar el método Cátalogos se envían los parámetros directamente en la URL, por ejemplo:
Sintaxis:        
URL:   
Parámetros de salida
Id

Es el identificador del método seleccionado["INDICATOR"].

AgencyID

Es la identificación de la agencia que proporciona los datos["INEGI"].

Version

Es la versión del método utilizado para obtener los datos ["1.0"].

Lang

Es la clave del idioma en la que otorgan los datos["es"].

CODE

Es el arreglo de los datos obtenidos, cada elemento consta de los siguientes atributos.
Value:Es un identificador del dato
Description:Es la descripción del dato.

Selecciona un indicador para construir tu consulta:


Obtener datos de la serie histórica del indicador de Población total, en los Estados Unidos Mexicanos, en idioma español, en formato JSON.

Parámetros consulta de Indicador:
  • Indicador: 1002000001
  • Área geográfica: 01
  • Idioma: es
  • Dato más reciente: False (para este caso se solicita la serie histórica completa)
  • Formato: json
  • Token: [Aquí va tu Token]

La API Indicador se consultaría mediante las siguientes URL:

Estos son los datos que regresa la URL anterior:



Presentación de la información utilizando HTML y Javascript
Enseguida se muestra un ejemplo para presentar la información en una página web en forma de gráfica.

Código
 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript" src="js/llamarAPI.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head><body> <div id="chart" style="width: 100%; min-height: 550px;"></div> <div id="NoteChart"></div> <div id="FuenteChart"></div></body></html> 
 google.charts.load('current',{'packages': ['corechart', 'bar']}); google.charts.setOnLoadCallback(drawChart); var arrayChartData=[]; //Obetencion de la estructura de datos del indicador con los parametros //Clave: 1002000002 //Idioma: es //Clave entidad: 01 //Datos resientes: false //Fuente de atos: BISE //Vercion: 2.0 var urlDataStructure="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/1002000001/es/00/false/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataStructure, function (dataStructure){var Observations=dataStructure.Series[0].OBSERVATIONS; for (var i=0; i <=Observations.length - 1; i++){arrayChartData[i]=[Observations[i].TIME_PERIOD, parseInt(Observations[i].OBS_VALUE), '#E16c32'];}}); //Obetencion de metadatos del indicador con los parametros //Catalago: CL_INDICATOR //Clave: 1002000002 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_INDICATOR; var urlDataCL_INDICATOR="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_INDICATOR/1002000001/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_INDICATOR, function (dataCatalog){dataCL_INDICATOR={Descripcion: dataCatalog.CODE[0].Description, AgencyID: dataCatalog.agencyID,}}); //Obetencion de la Unidadde medida del indicador con los parametros //Catalago: CL_UNIT //Clave: 96 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_UNIT; var urlDataCL_UNIT="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_UNIT/96/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_UNIT, function (dataCatalog){dataCL_UNIT={Descripcion: dataCatalog.CODE[0].Description, Value: dataCatalog.CODE[0].value,}}); //Obetencion de la Nota del indicador con los parametrss //Catalago: CL_NOTE //Clave: 1398 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_NOTE; var urlDataCL_NOTE="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_NOTE/1398/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_NOTE, function (dataCatalog){dataCL_NOTE={Descripcion: dataCatalog.CODE[0].Description, Value: dataCatalog.CODE[0].value,}}); //Obetencion de la Nota del indicador con los parametrss //Catalago: CL_SOURCE //Clave: 2,3,343,487,510 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_SOURCE; var urlDataCL_SOURCE="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_SOURCE/2,3,343,487,510/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_SOURCE, function (dataCatalog){var descripcion=""; var value=""; for (var i=0; dataCatalog.CODE.length > i; i++){descripcion=descripcion + " " + dataCatalog.CODE[i].Description; value=value + " " + dataCatalog.CODE[i].value;}dataCL_SOURCE={Descripcion: descripcion, Value: value,}}); //Obetencion de la Nota del indicador con los parametrss //Catalago: CL_SOURCE //Clave: 2,3,343,487,510 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_TOPIC; var urlDataCL_TOPIC="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_TOPIC/2,3,343,487,510/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_SOURCE, function (dataCatalog){var descripcion=""; var value=""; for (var i=0; dataCatalog.CODE.length > i; i++){descripcion=descripcion + " " + dataCatalog.CODE[i].Description; value=value + " " + dataCatalog.CODE[i].value;}dataCL_SOURCE={Descripcion: descripcion, Value: value,}}); //Obetencion de la frecuancia o periodicidad del indicador con los parametrss //Catalago: CL_FREQ //Clave: 2,3,343,487,510 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_FREQ; var urlDataCL_FREQ="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_FREQ/7/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_FREQ, function (dataCatalog){var descripcion=""; var value=""; dataCL_FREQ={Descripcion: dataCatalog.CODE[0].Description, Value: dataCatalog.CODE[0].value,}}); //Obetencion de la entidado municipio del indicador con los parametrss //Catalago: CL_GEO_AREA //Clave: 00 //Idioma: es //Fuente de atos: BISE //Vercion: 2.0 var dataCL_GEO_AREA; var urlDataCL_GEO_AREA="https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/CL_GEO_AREA/00/es/BISE/2.0/96fbd1bf-21e6-28e3-6e64-2b15999d2c89?type=json"; $.getJSON(urlDataCL_GEO_AREA, function (dataCatalog){var descripcion=""; var value=""; dataCL_GEO_AREA={Descripcion: dataCatalog.CODE[0].Description, Value: dataCatalog.CODE[0].value,}}); //Funcion para pintar la grafica function drawChart(){document.getElementById("NoteChart").innerHTML='<b>Nota </b><br>' + dataCL_NOTE.Descripcion; document.getElementById("FuenteChart").innerHTML='<b>Fuente </b><br>' + dataCL_SOURCE.Descripcion; var data=google.visualization.arrayToDataTable([ [{role: "domain", Label: "Año", type: "string"},{Label: "Valor", role: "data", type: "number"},{role: "style"}]]); console.log(data); data.addRows(arrayChartData); var view=new google.visualization.DataView(data); var options={title:dataCL_INDICATOR.Descripcion + " (Periodicidad:" + dataCL_FREQ.Descripcion +", Area geografica: "+dataCL_GEO_AREA.Descripcion+")", titleTextStyle:{fontSize: 14, color: 'black', bold: true, italic: false}, chart:{title: 'Company Performance', subtitle: 'Sales, Expenses, and Profit: 2014-2017',}, legend:{position: "none"}, hAxis:{title: 'Años', format: 'yyyy', textStyle:{fontSize: 12, color: 'Black', bold: true, italic: false}, titleTextStyle:{fontSize: 12, color: 'Black', bold: true, italic: false}}, vAxis:{title: dataCL_UNIT.Descripcion, min:1, textStyle:{fontSize: 12, color: 'Black', bold: false, italic: false,}, titleTextStyle:{fontSize: 12, color: 'Black', bold: true, italic: false}}}; var chart=new google.visualization.ColumnChart(document.getElementById('chart')); chart.draw(view, options);}$(window).resize(function (){drawChart();}); 
Para descargar el ejemplo completo aquí.