API del DENUE

La API del DENUE te permite consultar datos de identificación, ubicación, actividad económica y tamaño de más de 5 millones de establecimientos a nivel nacional, por entidad federativa y municipio. Puedes 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

El INEGI pone a tu disposición la siguiente información de más de 5 millones de establecimientos.

  • CLEE
  • Id de establecimiento
  • Nombre del establecimiento
  • Razón social
  • Clase de la actividad económica
  • Estrato (Personal ocupado)
  • Tipo de la vialidad
  • Calle
  • Número exterior
  • Número interior
  • Colonia
  • Código postal
  • Localidad, municipio y entidad federativa
  • Teléfono
  • Correo electrónico
  • Página de internet
  • Tipo de establecimiento
  • Longitud
  • Latitud
Guía para desarrolladores
Introducción

Bienvenido a la documentación para desarrolladores de la API del DENUE. 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 a los desarrolladores familiarizados con la programación JavaScript y con conocimientos de programación orientada a objetos.

Métodos para obtener información a través de la API

Buscar

Realiza una consulta de todos los establecimientos que cumplan las condiciones definidas.

Parámetros de entrada:

Condición
Palabra(s) a buscar en el nombre del establecimiento, razón social, calle, colonia, clase de la actividad económica, entidad federativa, municipio y localidad. Para buscar más de una palabra se deberán separar con una coma.
Para buscar todos los establecimientos se deberá ingresar la palabra "todos".
Coordenadas
Par de coordenadas que definen el punto en el mapa a partir del cual se hará la consulta alrededor. El formato de las coordenadas es latitud y longitud.
Distancia
Cantidad de metros a partir de las coordenadas que definen el radio de búsqueda. La distancia máxima es de 5,000 metros.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí.

Ficha

Obtiene la información de un establecimiento en específico.

Parámetros de entrada:

Id
Clave única del establecimiento.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí

Nombre

Realiza una consulta de todos los establecimientos por nombre o razón social y puede ser acotado por entidad federativa.

Parámetros de entrada:

Nombre del establecimiento ó razón social
Palabra(s) a buscar que se encuentran en el nombre del establecimiento o la razón social.
Entidad federativa
Clave de dos dígitos de la entidad federativa (01 a 32). Para incluir todas las entidades se especifica 00.
Registro inicial
Número de registro a partir del cuál se mostrarán los resultados de la búsqueda.
Registro final
Número de registro final que se mostrará en los resultados de la búsqueda.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí

BuscarEntidad

Realiza una consulta de todos los establecimientos y puede ser acotada por entidad federativa.

Parámetros de entrada:

Condición
Palabra(s) a buscar dentro del nombre del establecimiento, razón social, calle, colonia, clase de la actividad económica, entidad federativa, municipio y localidad. Para buscar más de una palabra se deberán separar con una coma.
Para buscar todos los establecimientos se deberá ingresar la palabra "todos".
Entidad federativa
Clave de dos dígitos de la entidad federativa (01 a 32). Para incluir todas las entidades se especifica 00.
Registro inicial
Número de registro a partir del cuál se mostrarán los resultados de la búsqueda.
Registro final
Número de registro final que se mostrará en los resultados de la búsqueda.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí

BuscarAreaAct

Realiza una consulta de todos los establecimientos con la opción de acotar la búsqueda por área geográfica, actividad económica, nombre y clave del establecimiento.

Parámetros de entrada:

Entidad federativa
Clave de dos dígitos de la entidad federativa (01 a 32). Para incluir todas las entidades se especifica 00.
Municipio
Clave de tres dígitos del municipio (ej. 001). Para incluir todos los municipios se especifica 0.
Localidad
Clave de cuatro dígitos de la localidad (ej. 0001 ). Para incluir todas las localidades se especifica 0.
AGEB
Clave de cuatro dígitos AGEB(ej. 2000 ).Para incluir todas las AGEBS se especifica 0
Manzana
Clave de tres dígitos de la manzana (ej. 043 ). Para incluir todas las manzanas se especifica 0.
Sector
Clave de dos dígitos del sector de la actividad económica (ej. 46 ). Para incluir todos los sectores se especifica 0.
Subsector
Clave de tres dígitos del subsector de la actividad económica ( ej. 464 ). Para incluir todos los subsectores se especifica 0.
Rama
Clave de cuatro dígitos de la rama de la actividad económica (ej. 4641 ). Para incluir todas las ramas se especifica 0.
Clase
Clave de seis dígitos de la clase (ej. 464112 ). Para incluir todas las actividades se especifica 0.
Nombre del establecimiento
Nombre del establecimiento a buscar. Para incluir todos los establecimientos se especifica 0.
Registro inicial
Número de registro a partir del cuál se mostrarán los resultados de la búsqueda.
Registro final
Número de registro final que se mostrará en resultados de la búsqueda.
Id
Clave única del establecimiento. Para incluir todos los establecimientos se especifica 0.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí

BuscarAreaActEstr

Realiza una consulta de todos los establecimientos con la opción de acotar la búsqueda por área geográfica, actividad económica, nombre,clave del establecimiento y estrato.

Parámetros de entrada:

Entidad federativa
Clave de dos dígitos de la entidad federativa (01 a 32). Para incluir todas las entidades se especifica 00.
Municipio
Clave de tres dígitos del municipio (ej. 001). Para incluir todos los municipios se especifica 0.
Localidad
Clave de cuatro dígitos de la localidad (ej. 0001 ). Para incluir todas las localidades se especifica 0.
AGEB
Clave de cuatro dígitos AGEB(ej. 2000 ).Para incluir todas las AGEBS se especifica 0
Manzana
Clave de tres dígitos de la manzana (ej. 043 ). Para incluir todas las manzanas se especifica 0.
Sector
Clave de dos dígitos del sector de la actividad económica (ej. 46 ). Para incluir todos los sectores se especifica 0.
Subsector
Clave de tres dígitos del subsector de la actividad económica ( ej. 464 ). Para incluir todos los subsectores se especifica 0.
Rama
Clave de cuatro dígitos de la rama de la actividad económica (ej. 4641 ). Para incluir todas las ramas se especifica 0.
Clase
Clave de seis dígitos de la clase (ej. 464112 ). Para incluir todas las actividades se especifica 0.
Nombre del establecimiento
Nombre del establecimiento a buscar. Para incluir todos los establecimientos se especifica 0.
Registro inicial
Número de registro a partir del cuál se mostrarán los resultados de la búsqueda.
Registro final
Número de registro final que se mostrará en resultados de la búsqueda.
Id
Clave única del establecimiento. Para incluir todos los establecimientos se especifica 0.
Estrato
Clave de un dígito del estrato. Para incluir todos los tamaños se especifica 0.
1. Para incluir de 0 a 5 personas.
2. Para incluir de 6 a 10 personas.
3. Para incluir de 11 a 30 personas.
4. Para incluir de 31 a 50 personas.
5. Para incluir de 51 a 100 personas.
6. Para incluir de 101 a 250 personas.
7. Para incluir de 251 y más personas.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí

Cuantificar

Realiza un conteo de todos los establecimientos con la opción de acotar la búsqueda por área geográfica, actividad económica y estrato.

Parámetros de entrada:

Actividad económica
Clave de dos a cinco dígitos de la actividad económica. Para considerar más de una clave deberás separarlas con coma. Para incluir todas las actividades se especifica 0.
Dos dígitos para incluir nivel sector (ej.46).
Tres dígitos para incluir nivel subsector (ej. 464).
Cuatro dígitos para incluir nivel rama (ej. 4641).
Cinco dígitos para incluir nivel subrama (ej. 46411).
Seis dígitos para incluir nivel clase (ej. 464111).
Área geográfica
Clave de dos a nueve dígitos del área geográfica. Para considerar más de una clave deberás separarlas con coma. Para incluir todo el país se especifica 0.
Dos dígitos para incluir nivel estatal (ej.01 a 32).
Cinco dígitos dígitos para incluir nivel municipal (ej. 01001).
Nueve dígitos para incluir nivel localidad (ej. 010010001).
Estrato
Clave de un dígito del estrato. Para incluir todos los tamaños se especifica 0.
1. Para incluir de 0 a 5 personas.
2. Para incluir de 6 a 10 personas.
3. Para incluir de 11 a 30 personas.
4. Para incluir de 31 a 50 personas.
5. Para incluir de 51 a 100 personas.
6. Para incluir de 101 a 250 personas.
7. Para incluir de 251 y más personas.
Token
Número único que permite hacer consultas, el cual se puede obtener al registrarse aquí
Cómo utilizar la API

Buscar

Para consultar la API se envían los parámetros directamente en la URL, por ejemplo para el método de Buscar se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/Buscar/camiones/21.85717833,-102.28487238/250/[aquí va tu Token]

Estos son los datos que regresa la URL anterior:



A continuación se explica el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18 Longitud
Campo 19: Latitud
Campo 20: Centro comercial
Campo 21: Tipo de centro comercial
Campo 22: Número de local

Ficha

Para el método de Ficha se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/Ficha/34185/[aquí va tu Token]

Estos son los datos que regresa la URL anterior:



A continuación se explica el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad económica
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18: Longitud
Campo 19: Latitud
Campo 20: Centro comercial
Campo 21: Tipo de centro comercial
Campo 22: Número de local

Nombre

Para el método de Nombre se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/Nombre/MARRIOTT/1/1/10/[aquí va tu Token]

Estos son los datos que regresa la URL anterior:



A continuación se explica el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad económica
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18: Longitud
Campo 19: Latitud
Campo 20: Tipo de corredor industrial
Campo 21: Nombre del corredor industrial
Campo 22: Número de local

BuscarEntidad

Para el método de BuscarEntidad se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/BuscarEntidad/restaurantes/14/1/10/[Aquí va tu token]

Estos son los datos que regresa la URL anterior:



A continuación se explica el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18: Longitud
Campo 19: Latitud

BuscarAreaAct

Para el método de BuscarAreaAct se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/BuscarAreaAct/01/0/0/0/0/0/0/0/0/oxxo/1/15/0/[Aquí va tu token]

Estos son los datos que regresa la URL anterior:



A continuación se lista el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad económica
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18: Longitud
Campo 19: Latitud
Campo 20: Tipo de corredor industrial
Campo 21: Nombre del corredor industrial
Campo 22: Número de local
Campo 23: AGEB
Campo 24: Manzana
Campo 25: Edificio
Campo 26: Id clase de la actividad económica
Campo 27: Id sector de la actividad económica
Campo 28: Id subsector de la actividad económica
Campo 29: Id rama de la actividad económica

BuscarAreaActEstr

Para el método de BuscarAreaAct se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/BuscarAreaActEstr/01/0/0/0/0/0/0/0/0/oxxo/1/15/0/1/[Aquí va tu token]

Estos son los datos que regresa la URL anterior:



A continuación se lista el orden de los valores devueltos:

Campo 1: Clave CLEE
Campo 2: Id de establecimiento
Campo 3: Nombre del establecimiento
Campo 4: Razón social
Campo 5: Clase de la actividad económica
Campo 6: Estrato (Personal ocupado)
Campo 7: Tipo de la vialidad
Campo 8: Calle
Campo 9: Número exterior
Campo 10: Número interior
Campo 11: Colonia
Campo 12: Código postal
Campo 13: Localidad, municipio y entidad federativa
Campo 14: Teléfono
Campo 15: Correo electrónico
Campo 16: Página de internet
Campo 17: Tipo de establecimiento
Campo 18: Longitud
Campo 19: Latitud
Campo 20: Tipo de corredor industrial
Campo 21: Nombre del corredor industrial
Campo 22: Número de local
Campo 23: AGEB
Campo 24: Manzana
Campo 25: Id clase de la actividad económica
Campo 26: Número de piso del edificio
Campo 27: Id sector de la actividad económica
Campo 28: Id subsector de la actividad económica
Campo 29: Id rama de la actividad económica
Campo 30: Id subrama de la actividad económica
Campo 31: Edificio
Campo 32: Tipo de asentamiento
Campo 33: Fecha de alta del establecimiento
Campo 34: Clave del área geográfica

Cuantificar

Para el método de Cuantificar se hace de la siguiente manera:

https://www.inegi.org.mx/app/api/denue/v1/consulta/Cuantificar/111,112/01001,01005/0/[Aquí va tu token]

Estos son los datos que regresa la URL anterior:



A continuación se lista el orden de los valores devueltos:

Campo 1: Id de la actividad económica
Campo 2: Clave del área geográfica
Campo 3: Total de establecimientos por área geográfica, actividad económica y estrato especificado


Preguntas
Ejemplos
Obtener un listado de establecimientos dada una condición, latitud y longitud y un radio a la redonda en metros
Código
<html>
    <head>
	<title>Ejemplo </title>
    <link> href="/estilos/sitio/con_sitio.min.css" rel="stylesheet" </link>
  <link> rel="stylesheet" href="/estilos/sitio/plantillas.min.css"  </link>
  <link> href="/componentes/espacio/v2/estilos/ol.css" rel="stylesheet"  </link>
  <link> href="/componentes/espacio/v2/estilos/ol.popup.css" rel="stylesheet"  </link>
  <link> href="/componentes/espacio/v2/estilos/ol3-contextmenu.min.css" rel="stylesheet" </link>
  <link> href="/componentes/espacio/v2/estilos/style.css" rel="stylesheet" </link>
 <script> src="/componentes/espacio/v2/scripts/jquery.js">     </script>
 <script>  src="/componentes/encabezado/js/recursos.min.js">  </script>
 <script>  src="/componentes/espacio/v2/scripts/Loadjs.js"> </script>
 <script> src="js/apiDenue.js"> </script>  
 <script> src="js/apiDenue.js"></script>
    </head>
    <body>
	 <div> id="disabledScreen" style="display: none;"></div>
      <div> class="container con_principal" id="contM">
         <div> class="row">
            <div> class="col-md-12" id="columna-1">
               <div> class="row">
               <div>  class="col-xs-12">
                         <div> class="row con_desf_inf">
                            <div> id="pestana" style="display:none;">
                                <script> src="/componentes/pestana/js/pestana.min.js?v=1.0"> </script>
                           </div>
                                  <div> id="popup" class="ol-popup"> </div>
                       </div>
                    </div>
               </div>
          </div>
       </div>
    </div>
	    
        <div>
			<div id="tabDenue"></div>
			<label for="condi">Condición: </label><input style="max-width:120px;" type="text" id="condi" aria-label="Condición"  value="restaurantes" tabindex="515" />
			<label for="lat">Latitud: </label><input style="max-width:120px;" type="text" id="lat" aria-label="Latitud"  value="21.85717833" tabindex="516" />
			<label for="lon">Longitud: </label><input style="max-width:120px;" type="text" id="lon" aria-label="Longitud"  value="-102.28487238" tabindex="517" />
			<label for="mts">Metros: </label><input style="max-width:120px;" type="text" id="mts" aria-label="Metros"  value="300" tabindex="518" />
			<input type="button" onclick="llamarApiDenueBus();" value="Ver listado" tabindex="519" aria-label="Ver listado" />
		<div>
    </body>
</html>	

        
													
// Cuando ya tengas tu token reemplaza el texto 'AQUÍ_VA_TU_TOKEN' de la siguiente variable con él.
var token = 'AQUÍ_VA_TU_TOKEN';
		
var urlApiBusqueda = 'https://www.inegi.org.mx/app/api/denue/v1/consulta/buscar/#condicion/#latitud,#longitud/#metros/#token;'
var vecNombres = [
'id de establecimiento',
'Nombre de la unidad económica:',
'Razón social:',
'Nombre de la clase de actividad:',
'Personal ocupado (estrato):',
'Tipo de vialidad:',
'Nombre de la vialidad:',
'Número exterior o km:',
'Número o letra interior:',
'Nombre del asentamiento humano:',
'Código postal:',
'Entidad,Municipio,Localidad:',
'Número de teléfono:',
'Correo electrónico:',
'Sitio en Internet:',
'Tipo de unidad económica:',
'Latitud:',
'Longitud:',
'Centro comercial:',
'Tipo de centro comercial:',
'Número de local:'];

function llamarApiDenueBus(){
	var condicion = $('#condi').val();
	var longitud = $('#lon').val();
	var latitud = $('#lat').val();
	var metros = $('#mts').val();
	var urlApiBusquedaTmp = urlApiBusqueda.replace('#condicion',condicion);
	urlApiBusquedaTmp = urlApiBusquedaTmp.replace('#latitud',latitud);
	urlApiBusquedaTmp = urlApiBusquedaTmp.replace('#longitud',longitud);
	urlApiBusquedaTmp = urlApiBusquedaTmp.replace('#metros',metros);
	urlApiBusquedaTmp = urlApiBusquedaTmp.replace('#token',token);
	
	$.getJSON( urlApiBusquedaTmp, function( json ) {  
		var codHtml = '';
		for(var i = 0; i < json.length; i++){
		codHtml += '<table style="width:50%;">';
		codHtml += '<tr><th colspan="2">Establecimiento ' + (i + 1) + '</th></tr>';
		codHtml += '<tr><td style="width:50%;" >' + vecNombres[0] + '</td><td style="width:50%;">' + json[i].Id + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[1] + '</td><td style="width:50%;">' + json[i].Nombre + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[2] + '</td><td style="width:50%;">' + json[i].Razon_social + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[3] + '</td><td style="width:50%;">' + json[i].Clase_actividad + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[4] + '</td><td style="width:50%;">' + json[i].Estrato + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[5] + '</td><td style="width:50%;">' + json[i].Tipo_vialidad + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[6] + '</td><td style="width:50%;">' + json[i].Calle + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[7] + '</td><td style="width:50%;">' + json[i].Num_Exterior + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[8] + '</td><td style="width:50%;">' + json[i].Num_Interior + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[9] + '</td><td style="width:50%;">' + json[i].Colonia + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[10] + '</td><td style="width:50%;">' + json[i].CP + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[11] + '</td><td style="width:50%;">' + json[i].Ubicacion + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[12] + '</td><td style="width:50%;">' + json[i].Telefono + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[13] + '</td><td style="width:50%;">' + json[i].Correo_e + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[14] + '</td><td style="width:50%;">' + json[i].Sitio_internet + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[15] + '</td><td style="width:50%;">' + json[i].Tipo + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[16] + '</td><td style="width:50%;">' + json[i].Latitud + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[17] + '</td><td style="width:50%;">' + json[i].Longitud + 
'</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[18] + '</td><td style="width:50%;">' + json[i].CentroComercial + '</td></tr>'+
		'<tr><td style="width:50%;" >' + vecNombres[19] + '</td><td style="width:50%;">' + json[i].TipoCentroComercial + '</td></tr>'+
		'<tr><td style="width:50%;" >' +vecNombres[20] + '</td><td style="width:50%;">' + json[i].NumLocal +  
'</td></tr>'
		codHtml += '<tr><td></td></tr></table><br><br>';
		}
		
		$('#tabDenue').html(codHtml);
	});	
}  
        
Para descargar el ejemplo completo aquí.