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.

  • 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 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 en geográficas decimales.
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.
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
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í
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: Id de establecimiento
Campo 2: Nombre del establecimiento
Campo 3: Razón social
Campo 4: Clase de la actividad
Campo 5: Estrato (Personal ocupado)
Campo 6: Tipo de la vialidad
Campo 7: Calle
Campo 8: Número exterior
Campo 9: Número interior
Campo 10: Colonia
Campo 11: Código postal
Campo 12: Localidad, municipio y entidad federativa
Campo 13: Teléfono
Campo 14: Correo electrónico
Campo 15: Página de internet
Campo 16: Tipo de establecimiento
Campo 17: Longitud
Campo 18: Latitud
Campo 19: Centro comercial
Campo 20: Tipo de centro comercial
Campo 21: 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/4292348/[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: Id de establecimiento
Campo 2: Nombre del establecimiento
Campo 3: Razón social
Campo 4: Clase de la actividad económica
Campo 5: Estrato (Personal ocupado)
Campo 6: Tipo de la vialidad
Campo 7: Calle
Campo 8: Número exterior
Campo 9: Número interior
Campo 10: Colonia
Campo 11: Código postal
Campo 12: Localidad, municipio y entidad federativa
Campo 13: Teléfono
Campo 14: Correo electrónico
Campo 15: Página de internet
Campo 16: Tipo de establecimiento
Campo 17: Longitud
Campo 18: Latitud
Campo 19: Centro comercial
Campo 20: Tipo de centro comercial
Campo 21: 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: Id de establecimiento
Campo 2: Nombre del establecimiento
Campo 3: Razón social
Campo 4: Clase de la actividad económica
Campo 5: Estrato (Personal ocupado)
Campo 6: Tipo de la vialidad
Campo 7: Calle
Campo 8: Número exterior
Campo 9: Número interior
Campo10: Colonia
Campo 11: Código postal
Campo 12: Localidad, municipio y entidad federativa
Campo 13: Teléfono
Campo 14: Correo electrónico
Campo 15: Página de internet
Campo 16: Tipo de establecimiento
Campo 17: Longitud
Campo 18: Latitud
Campo 19: Tipo de corredor industrial
Campo 20: Nombre del corredor industrial
Campo 21: 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: Id de establecimiento
Campo 2: Nombre del establecimiento
Campo 3: Razón social
Campo 4: Clase de la actividad
Campo 5: Estrato (Personal ocupado)
Campo 6: Tipo de la vialidad
Campo 7: Calle
Campo 8: Número exterior
Campo 9: Número interior
Campo 10: Colonia
Campo 11: Código postal
Campo 12: Localidad, municipio y entidad federativa
Campo 13: Teléfono
Campo 14: Correo electrónico
Campo 15: Página de internet
Campo 16: Tipo de establecimiento
Campo 17: Longitud
Campo 18: 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/25/006/0001/2000/043/46/464/4641/464112/FARMACON/

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

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>
        <style>
            body,table{ 
            background-color: #ffffff;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 9pt;
            font-weight: normal;
            text-decoration: none;
            color: #000000}
        </style>
		<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
        <script src="js/apiDenue.js"></script>
    </head>
    <body>
        <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="200" 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í.