Mexico Business Directory - INEGI DENUE Lookup avatar

Mexico Business Directory - INEGI DENUE Lookup

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Mexico Business Directory - INEGI DENUE Lookup

Mexico Business Directory - INEGI DENUE Lookup

Search Mexico's official INEGI DENUE business directory (6M+ establishments) by name, keyword + state or GPS radius, or look up DENUE IDs. Get name, legal name, activity, size, full address, phone, email, website and coordinates. Official free API, no proxy. $1.50 per 1,000 results.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

1rrock

1rrock

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What is Mexico Business Directory - INEGI DENUE Lookup?

This Actor searches the DENUE (Directorio Estadístico Nacional de Unidades Económicas), the official Mexico business directory published by INEGI, through INEGI's free official API. Search Mexican businesses by name, by keyword + state, or by GPS radius, or look up known DENUE IDs. For each establishment you get the business name, legal name (razón social), economic activity, employee size band, full address, phone, email, website and coordinates, ready to export as JSON, CSV or Excel or to pull through the Apify API.

  • ✅ Official source: INEGI DENUE, about 6 million active economic units across all 32 Mexican states.
  • ✅ No proxy, no scraping: uses the official DENUE REST API. Commercial reuse is allowed with attribution.
  • ✅ Works out of the box: runs without your own token. Add a free INEGI token for production use.
  • ✅ Four search modes: DENUE ID (Ficha), name (Nombre), keyword + state (BuscarEntidad), lat/lon radius (Buscar).
  • ✅ Cheap and predictable: $1.50 per 1,000 results, platform usage included.

What data can you extract from DENUE?

FieldExampleMeaning
denue_id, clee723550DENUE establishment ID and CLEE key
nombre, razon_socialOXXOBusiness name and legal name (razón social)
clase_actividadComercio al por menor en tiendas de abarrotes…Economic activity class (SCIAN)
estrato0 a 5 personasEmployee size band
tipo_vialidad, calle, num_exterior, num_interior, colonia, cpAVENIDA, INSURGENTE EUGENIO JIRON…Street address and ZIP code
localidad, municipio, entidad, ubicacionIztapalapa, CIUDAD DE MÉXICOLocality, municipality and state
telefono, correo_e, sitio_internetPhone, email and website, when the business published them
latitud, longitud19.34163014, -99.07484527Coordinates
tipo, centro_comercial, tipo_centro_comercial, num_localFijoEstablishment type and shopping-center info
method, queriedFicha, 723550Which API method and query produced the row
source, attribution, fetched_atinegi_denue_apiSource and the required INEGI citation

Use cases for Mexico company data

  • 📈 B2B lead generation in Mexico: list restaurants, pharmacies, workshops or any other business type in a state or around a point.
  • 🏭 Supplier and distributor verification: confirm a Mexican business exists at the declared address, with its activity and size.
  • 🔎 KYC / KYB support: cross-check names, addresses and activity of Mexican counterparties.
  • 🗂️ CRM enrichment: add activity, size band, ZIP code and coordinates to Mexican accounts.
  • 🗺️ Market and location analysis: count competitors or points of sale within a radius for site selection.

How to search the Mexico business directory

  1. Click Try for free (or Start) on this page.
  2. Choose one way to search:
    • DENUE Ids: paste establishment IDs for exact lookups.
    • Name / razón social: e.g. OXXO, with a Federal entity code such as 09 (Ciudad de México) or 00 (all states).
    • Keyword: e.g. restaurantes + state code.
    • Latitude / Longitude + Radius: everything within up to 5,000 m of a point.
  3. Leave Lookup mode on auto. It picks the method from the fields you filled (IDs → name → coordinates → keyword).
  4. Click Start and open the Output tab, or export as JSON, CSV, Excel, XML or HTML.
  5. For production, paste your own free INEGI DENUE token into INEGI DENUE API token (you get it by email in a minute).

State codes: 01 Aguascalientes … 09 Ciudad de México, 14 Jalisco, 15 Estado de México, 19 Nuevo León … 32 Zacatecas (INEGI 2-digit codes). 00 = all states, for name and keyword search.

Input example

Search by name in Mexico City:

{
"mode": "auto",
"nombre": "OXXO",
"entidad": "09",
"limit": 10
}

Look up DENUE IDs (the default input):

{ "ids": ["723550", "895680"] }

Radius search around Zócalo, Mexico City:

{ "mode": "buscar", "condicion": "cafe", "lat": 19.4326, "lon": -99.1332, "metros": 300 }
FieldDescription
modeauto (default), ficha (IDs), nombre (name), buscar_entidad (keyword + state), buscar (lat/lon radius).
idsDENUE establishment IDs for exact lookup.
nombreWord(s) in the business name or razón social.
condicionKeyword for keyword/radius search. todos = all businesses.
entidadINEGI 2-digit state code (01–32), 00 = all states. Default 09.
limitMax records for name and keyword search (1–1,000, default 10).
lat, lon, metrosCenter point and radius (max 5,000 m) for radius search.
maxItemsMax records for radius search (default 100, up to 10,000).
tokenOptional. Your own free INEGI DENUE API token.
delaySecondsPause between ID lookups (default 0.5 s).

Output example

{
"denue_id": "723550",
"clee": "09007461110126731000000000U4",
"nombre": "OXXO",
"razon_social": "OXXO",
"clase_actividad": "Comercio al por menor en tiendas de abarrotes, ultramarinos y misceláneas",
"estrato": "0 a 5 personas",
"tipo_vialidad": "AVENIDA",
"calle": "INSURGENTE EUGENIO JIRON",
"num_exterior": "1",
"num_interior": null,
"colonia": "PARAJE SAN JUAN",
"cp": "09830",
"ubicacion": "IZTAPALAPA , Iztapalapa, CIUDAD DE MÉXICO",
"localidad": "IZTAPALAPA",
"municipio": "Iztapalapa",
"entidad": "CIUDAD DE MÉXICO",
"telefono": null,
"correo_e": null,
"sitio_internet": null,
"tipo": "Fijo",
"longitud": "-99.07484527",
"latitud": "19.34163014",
"method": "Ficha",
"queried": "723550",
"source": "inegi_denue_api",
"attribution": "Fuente: INEGI, Directorio Estadístico Nacional de Unidades Económicas (DENUE)",
"fetched_at": "2026-10-07T05:59:27.342631+00:00"
}

If a lookup fails because of the input (an invalid or unknown ID: invalid_id, not_found), the Actor writes a row with "ok": false, an error code, the method and the queried value. If INEGI rejects the token, the run fails with a clear message and no row is written. Temporary INEGI or network problems are not written to the dataset either (see below).

How much does DENUE data cost?

This Actor uses pay-per-result pricing: $1.50 per 1,000 results ($0.0015 per establishment), with Apify platform usage already included. Apify also charges a tiny Actor start fee of $0.00005 per run per GB of memory.

  • What counts as a result? Every item written to the dataset: one per establishment found, plus one per invalid or unknown ID (ok: false rows).
  • Temporary failures are not charged. If a lookup fails because of a temporary problem at INEGI or on our side (network errors, timeouts, HTTP 429/5xx, unreadable responses), no dataset item is written and nothing is charged. These lookups are listed under failedLookups in the run summary (key-value store record OUTPUT, linked as Run summary in the run's Output tab) so you can run them again later. If nothing could be looked up at all, the run is marked as failed.
  • Control your spend: name and keyword searches stop at limit (default 10, max 1,000). A radius search stops at maxItems (default 100); a dense city center can have thousands of businesses inside the circle, so raise maxItems only when you want them all, or use a smaller radius or a specific keyword.
  • How much fits in one run? At the defaults one run returns up to 10 records for a name/keyword search or up to 100 for a radius search, in a few seconds. ID lookups run one at a time (about 1–1.5 s each with the default 0.5 s delay), so the default 30-minute timeout covers roughly 1,000–1,500 IDs. For bigger jobs raise limit / maxItems, raise the run timeout, or split the work into several runs (for example one per state or per keyword).
  • Examples: 1,000 establishments ≈ $1.50. The default input (2 IDs) ≈ $0.003.
  • Free plan: Apify's free plan includes $5 of monthly usage, which covers about 3,000 results.

Use the DENUE API from Python, JavaScript or no-code tools

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("1rrock/mexico-denue-lookup").call(
run_input={"nombre": "OXXO", "entidad": "09", "limit": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("denue_id"), item.get("nombre"), item.get("cp"), item.get("municipio"))

JavaScript / Node.js (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('1rrock/mexico-denue-lookup').call({
condicion: 'restaurantes', entidad: '14', limit: 100, mode: 'buscar_entidad',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length);

HTTP (one call, returns the results):

curl -X POST "https://api.apify.com/v2/acts/1rrock~mexico-denue-lookup/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"ids": ["723550"]}'

No-code: connect the Actor to Zapier, Make, Google Sheets (with Google Sheets Import & Export), webhooks and other integrations. You can also run it on a schedule or let AI agents call it through the Apify MCP server.

FAQ

Yes. INEGI publishes DENUE under its Términos de Libre Uso, which allow free use, including commercial use as input for other products and services, as long as you cite the source. Every row includes the required attribution text.

Do I need an INEGI token?

No, not to try it. Without a token the Actor uses the public example token from INEGI's own token demo page, which INEGI may revoke at any time. For production, register your own free token here (only an email address is needed; INEGI emails the token automatically) and pass it in token.

How fresh is the data?

Results come live from the INEGI API, so they reflect the current DENUE edition (INEGI updates DENUE periodically; the 05/2026 edition lists about 6.1 million establishments). DENUE covers active, non-agricultural economic units.

What are the limits?

Radius search is limited to 5,000 m by INEGI and returns at most maxItems records (default 100). Name and keyword searches return records 1…limit (default 10, max 1,000 per run). ID lists have no cap other than the run timeout (roughly 1,000–1,500 IDs at the defaults). Phone, email and website are only present when the business reported them to INEGI.

Something went wrong. What should I do?

Check the ok: false rows and the run summary (OUTPUT record, which lists lookups that failed temporarily and were not charged) first. A run that fails with INEGI rejected the API token means the token is invalid or was revoked: register your own free token (see above). For bugs or feature requests, open an issue in the Issues tab.

Data source and license

License / terms (brief):

  • INEGI Términos de Libre Uso — free use including commercial exploitation as input for other products/services.
  • Must cite: Fuente: INEGI, Directorio Estadístico Nacional de Unidades Económicas (DENUE).
  • Do not imply official INEGI endorsement; disclose any transforms.
  • Full text: https://www.inegi.org.mx/inegi/terminos.html

Transforms: this Actor renames the API fields to snake_case, trims whitespace, splits Ubicacion into locality / municipality / state, and adds method, queried, source, attribution and fetched_at. It does not change the values themselves. This Actor is not an INEGI product and is not endorsed by INEGI. API docs: ES · EN.

Other actors by 1rrock

Official open-data company lookups, all at $1.50 per 1,000 results: