API de DENUE

La API de DENUE te permite consultar datos de identificación, ubicación, actividad económica y tamaño de cerca 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 cerca de 5 millones de establecimientos.

  • Id de establecimiento
  • Nombre del establecimiento
  • Razón social
  • Clase de la actividad
  • Estrato (Personal ocupado)
  • Tipo de la vialidad
  • Calle
  • Número exterior
  • Número interior
  • Colonia
  • Código postal
  • Localidad, municipio y entidad
  • 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 del API de 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 para los desarrolladores familiarizados con la programación JavaScript y conocimientos de programación orientada a objetos.

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

Buscar

Realiza una búsqueda de un establecimientos dada una condición de búsqueda, las coordenadas y la distancia a la redonda en metros.

Para el método de búsqueda se utilizan los siguientes parámetros:

Condición
Palabra(s) a buscar dentro del nombre del establecimiento, razón social, calle, colonia, clase de actividad económica, entidad, municipio y localidad.
Para buscar todos los establecimientos se deberá ingresar la palabra "todos".
Coordenadas
Coordenadas centrales donde se hará la búsqueda.
Distancia
Distancia a la redonda donde se realizará la búsqueda de establecimientos en metros. La distancia máxima es de 5 000 metros.
Token
Es un número único que permite hacer consultas, el cual puede obtener al registrarse aquí

Ficha

Obtiene los datos de un establecimiento en particular.

Para el método de obtención de los datos de un establecimiento se utilizan los siguientes parámetros:

Id de establecimiento
El id del establecimiento es un número único asignado a un establecimiento en particular.
Token
Es un número único que permite hacer consultas, el cual 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 búsqueda sería de la siguiente manera:

http://www3.inegi.org.mx/sistemas/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
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

Ficha

Para el método de ficha sería de la siguiente manera:

http://www3.inegi.org.mx/sistemas/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
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
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

Preguntas
Ejemplos
Obtener datos de un establecimiento, de la entidad de Aguascalientes
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="http://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 = "http://www3.inegi.org.mx/sistemas/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:'];

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>'
		codHtml += '<tr><td></td></tr></table><br><br>';
		}
		
		$('#tabDenue').html(codHtml);
	});	
}  
        
Para descargar el ejemplo completo aquí.