# Leads INEGI

> Directorio de ~6.1 millones de negocios de México (DENUE de INEGI) para prospección B2B:
> filtra por estado, municipio, giro SCIAN, tamaño (personal ocupado) y datos de contacto, dimensiona el mercado
> y descarga leads.

## Fuentes (INEGI)

- DENUE: los establecimientos (giro SCIAN, personal ocupado, dirección, teléfono, email, web, coordenadas).
- Catálogo geoestadístico con población del Censo 2020: estados y municipios; densidad por municipio.
- API de Indicadores BISE: población disponible por estado; densidad por estado.

Fuente: INEGI, Directorio Estadístico Nacional de Unidades Económicas (DENUE). Las transformaciones y los análisis son de Leads INEGI (Iron), no del INEGI. Las clasificaciones son aproximadas y pueden contener errores. Herramienta independiente de Iron, sin afiliación, patrocinio ni aval del INEGI.

Términos: https://www.inegi.org.mx/contenidos/inegi/doc/terminos_info.pdf
Metadatos originales, ediciones y explicación de transformaciones: https://leads.iron-ai.com/api/fuentes

## Conectarse

- Servidor MCP (Streamable HTTP, sin autenticación): https://leads.iron-ai.com/mcp
- API REST: POST https://leads.iron-ai.com/api/agente/<herramienta> con un cuerpo JSON
- Solo con URLs: GET https://leads.iron-ai.com/api/agente/<herramienta>?... con los argumentos en la query (ver abajo)
- OpenAPI: https://leads.iron-ai.com/openapi.json
- En el navegador, el dashboard (https://leads.iron-ai.com/) registra herramientas WebMCP para manejar los filtros en pantalla.

## Herramientas

- `listar_entidades`: Los 32 estados de México con clave, abreviatura, población y número de establecimientos en DENUE.
- `listar_municipios`: Municipios de uno o varios estados, con su clave de 5 dígitos.
- `buscar_actividades`: Busca giros de negocio del catálogo SCIAN por texto ("dentista", "tortillería") o prefijo de código, y dice cuántos establecimientos hay de cada uno. Úsala para elegir los códigos exactos antes de filtrar.
- `listar_sectores_y_tamanos`: Catálogo de los 20 sectores SCIAN y de los 7 estratos de personal ocupado que usa DENUE.
- `resolver_ubicacion`: Convierte un lugar escrito libremente ("Monterrey", "CDMX", "Benito Juárez, Quintana Roo") en las claves de estado y municipio que le corresponden.
- `estadisticas_mercado`: Dimensiona un segmento antes de bajar leads: total de establecimientos, cuántos tienen teléfono, email o web, cuántos son cadenas, y distribución por tamaño, sector, estado y municipio (con densidad por 10 mil habitantes), giros principales, altas por año y cadenas principales.
- `comparar_mercados`: Compara de 2 a 5 segmentos lado a lado (por ejemplo "dentistas en Jalisco vs. Nuevo León"): total, contactabilidad, tamaño y giros principales de cada uno.
- `buscar_leads`: Lista establecimientos que cumplen los filtros, con nombre, razón social, giro, tamaño, dirección, teléfono, email, web, número de sucursales y coordenadas. Paginada; por defecto primero los más grandes y con más formas de contacto.
- `detalle_lead`: Ficha completa de un establecimiento por su id (el que devuelve buscar_leads), con enlace a Google Maps.
- `exportar_leads_csv`: Genera un enlace de descarga CSV con los leads que cumplen los filtros (máximo 10,000 filas, los más grandes y contactables primero).

## Filtros

Aceptan nombres en vez de claves: `{"estados": ["Jalisco", "NL"], "actividades": ["consultorios dentales"], "empleados": {"min": 11, "max": 50}, "conEmail": true}`.
Entre filtros distintos se combinan con Y; varios valores de un mismo filtro, con O. Si un nombre es ambiguo,
la respuesta es un error con `opciones` para elegir. DENUE solo reporta rangos de personal, no cifras exactas.
Por defecto se excluyen dependencias de gobierno (`excluirPublico: true`).

## Llamar por GET

Si solo puedes abrir URLs, cada herramienta responde también a GET con los mismos resultados y errores que el POST:

- Un parámetro por argumento: `estados=Jalisco,NL`, `conEmail=true` (o 1/0), `porPagina=10`; objetos con punto: `empleados.min=11&empleados.max=50`.
- Listas: separadas por coma, por `;` o repitiendo la clave (`estados=Jalisco&estados=NL`). Si un valor lleva `;`, solo se separa por `;`.
- `municipios` no se separa por coma, porque un municipio puede llevar su estado ("Benito Juárez, Quintana Roo"): para varios usa `;` o repite la clave.
- Argumentos que no caben en parámetros planos (los `segmentos` de comparar_mercados): `?json=` con el JSON completo url-encoded.

Ejemplos que puedes abrir tal cual:

- https://leads.iron-ai.com/api/agente/estadisticas_mercado?estados=Jalisco,NL&actividades=621211&empleados.min=11&empleados.max=50
- https://leads.iron-ai.com/api/agente/buscar_leads?municipios=Benito%20Ju%C3%A1rez,%20Quintana%20Roo&actividades=621211&conEmail=true&porPagina=10
- https://leads.iron-ai.com/api/agente/buscar_actividades?texto=tortiller%C3%ADa
- https://leads.iron-ai.com/api/agente/comparar_mercados?json=%7B%22segmentos%22%3A%5B%7B%22etiqueta%22%3A%22Jalisco%22,%22estados%22%3A%5B%22Jalisco%22%5D,%22actividades%22%3A%5B%22621211%22%5D%7D,%7B%22etiqueta%22%3A%22Nuevo%20Le%C3%B3n%22,%22estados%22%3A%5B%22NL%22%5D,%22actividades%22%3A%5B%22621211%22%5D%7D%5D%7D

## Límites

- 100 consultas por minuto por IP; 3 exportaciones CSV por minuto; máximo 10,000 filas por CSV.
- buscar_leads devuelve hasta 100 resultados por página.
