Mexico Company Leads (DENUE INEGI) — Empresas de México avatar

Mexico Company Leads (DENUE INEGI) — Empresas de México

Pricing

from $3.00 / 1,000 company results

Go to Apify Store
Mexico Company Leads (DENUE INEGI) — Empresas de México

Mexico Company Leads (DENUE INEGI) — Empresas de México

847k Mexican legal entities from INEGI DENUE by industry (SCIAN), state, municipality and size, with +52 phone, website and corporate e-mail. English labels, no scraping. ES: empresas de México por actividad, estado y tamaño.

Pricing

from $3.00 / 1,000 company results

Rating

0.0

(0)

Developer

LatSouth Data

LatSouth Data

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Mexico Company Finder: DENUE B2B database of Mexican companies, in English

By LatSouth. Search 846,651 Mexican legal entities (private sector, DENUE edition 05/2026) from INEGI's DENUE, the national business directory, by industry, state, municipality and employee size. Get clean records with English industry labels, normalized +52 phones, HTTP-verified websites, company role e-mails (contacto@, ventas@ on the company's own domain) and the public contacts each company publishes on its own website (role e-mails, phones, LinkedIn/Instagram/Facebook, with source page and date). Legal entities only, public sector filtered out, personal contacts never returned. No DENUE token, no bulk download, no Spanish codebook. Country overview and coverage: https://latsouth.com/data/mexico/.

Fuente: INEGI, Directorio Estadístico Nacional de Unidades Económicas (DENUE) 05/2026. Data transformed (cleaned, normalized, English labels added); this is not an official INEGI product. Terms: https://www.inegi.org.mx/inegi/terminos.html.

Quick facts

Rows846,651 establishments of private legal entities (449,001 distinct legal names) out of 6,138,075 in DENUE
Data as of2026-05-20 (DENUE 05/2026; INEGI refreshes roughly yearly)
PriceUS$0.003 per company returned: 1,000 companies = US$3; 10 = US$0.03
Typical run5-15 s for a filtered query of up to a few thousand rows
Website contacts46,394 establishments with a role e-mail or phone read from their own verified homepage (only_with_public_contact); 59,650 with any channel incl. social
Company data onlyNo natural persons (personas físicas), no personal mailboxes (juan.perez@, caramosg@), no free-mail, no names

Who it's for

  • Sales and SDR teams entering Mexico: "IT consultancies in Mexico City with 11+ employees and a website", "food manufacturers in Jalisco and Nuevo León".
  • Market sizing / TAM: every run reports total_matching (all establishments that match), even if you only pull a sample.
  • Enrichment: start from a SCIAN segment and feed the list to your enrichment waterfall or CRM.

What makes it B2B

DENUE lists ~6.1 million establishments, and most of them are corner shops run by natural persons. This actor turns it into a company list:

DENUE as publishedThis actor
WhoEvery establishment, ~79% of them natural persons (no legal name)Legal entities only, always (no switch: company data only)
Public sectorMixed in (schools, offices, hospitals)Excluded by default (exclude_public_sector)
IndustrySCIAN code + Spanish labelSpanish class label + English subsector and sector labels
SizeText bracket ("11 a 30 personas")Bracket filter + min_employees + numeric bounds
PhoneFree text+52 + 10 digits, junk dropped
E-mailFree text: personal mailboxes, Gmail/Hotmail/Prodigy, typosRole mailboxes on the company's own domain only (contacto@, ventas@, facturacion@…); personal and free-mail addresses blanked
WebsiteFree text (WWW.X.COM, Facebook pages), never checkedhttps:// URL; social pages split into social_url; website_guess from corporate e-mail domain; website_verified after an HTTP check (272,768 DENUE establishments verified)
BranchesOne row per establishmentOptional one_per_company (largest establishment per legal name)

Website filters: which one to use

FilterKeeps an establishment whenUse it for
none (default)always; web fields may be emptyfull universe, TAM counts
only_with_websiteit has a website declared to INEGI or a website_guess (the domain of its corporate e-mail). Not checked: may be dead or parkedwidest list with a domain to enrich
only_with_verified_websiteits site answered our HTTP check (2xx/3xx, not parked, for sale, suspended or a hosting default page); the final URL is website_verified_urloutbound lists where the site must be live

only_with_verified_website is a strict subset of only_with_website. Free-mail, ISP, hosting, social-network and placeholder domains (gmail.com, prodigy.net.mx, contacto.com, wix.com, …) never count as a website: they are blanked in website, website_domain, website_guess, website_verified_url and email_domain at output time. Social pages are in social_url.

Public company contacts from the verified homepage

What. For establishments with a verified website we read the homepage itself and return the contacts the company publishes there: role e-mails (public_role_emails: contacto@, ventas@, info@, atencion@, facturacion@, ...), phones (public_phones, +52 + 10 digits), and the company's LinkedIn, Instagram and Facebook pages. Every value comes with the page it was read from (contact_source_url) and when (contact_fetched_at, UTC). This is the contact a buyer would find by visiting the site; the contact filed with INEGI stays in phone / email.

How. The homepage of every HTTP-verified domain (see website_verified) is fetched once (one page, no crawling, no login, no forms), and e-mails, tel: links, phone numbers and social links are extracted from the HTML. The contact is matched back to the establishment through its declared website domain, then its corporate e-mail domain.

Two flags, one filter.

  • has_public_contact: the homepage gives this establishment any company channel: role e-mail, phone or a social page (LinkedIn/Instagram/Facebook).
  • has_public_email_or_phone: it gives a role e-mail or a phone, i.e. something you can e-mail or call.
  • only_with_public_contact: true keeps the rows with has_public_email_or_phone = true; social-only pages don't count.

Rules (company data only).

  • Only role / generic company mailboxes are output, under the same strict rule as email (see "E-mail rule" below): contacto@, ventas2@ pass; juan.perez@, ventas.juan@ don't. Free-mail addresses are never output, and an e-mail must be on the company's own domain.
  • Phones must be valid Mexican numbers: +52 + 10 digits, first digit 2-9. The obsolete mobile prefix 1 (+52 1 ...) is removed; nothing is added. Placeholder numbers (one digit repeated, 1234567 sequences, 666 666 6667) are dropped.
  • A value found on more than 3 different company homepages (a web agency's footer, a template placeholder) is dropped.
  • Branches of one company share its contact. DENUE lists establishments, so a chain's stores all point to the same site. When every establishment on a domain has the same razón social (accents, punctuation and the legal form such as S.A. de C.V. ignored), the site's contact is that company's and every branch gets it.
  • When a domain is used by different companies (a group's shared site, a reseller, a franchise portal) or by an establishment without a razón social, the contacts on that site are not attributable to this one establishment: nothing is output, only the flag contact_is_shared_domain is set.
  • Social links are company pages only (LinkedIn /company/, brand Instagram/Facebook); personal profiles are discarded.

Coverage (homepages fetched 2026-11-09 by LatSouthBot, DENUE 05/2026):

Count
Verified homepages read (HTTP 2xx/3xx)101,298
... publishing any contact (before the rules above)66,256 (65.4%): role e-mail 30.1%, phone 46.0%, social 46.0%
Homepages with a contact that passes the rules63,682 (54,520 owned by one company; 9,162 shared by different companies)
Establishments (default universe) with has_public_contact (any channel)59,650 (37,855 distinct legal names)
... with has_public_email_or_phone = only_with_public_contact46,394 (30,877 distinct legal names)
... with a website role e-mail / phone / both24,122 / 40,506 / 18,234
... social page only (not counted by the filter)15,370
only_with_public_contact in Mexico City (state 09)7,381
only_with_public_contact, professional services (54) in Mexico City1,012
only_with_public_contact, software/IT (5415, 5182), 11+ employees315
Establishments flagged contact_is_shared_domain (no values)78,055

Source and date per field.

FieldSourceDate
public_role_emails, public_phones, linkedin_url, instagram_url, facebook_urlthe company's homepage, contact_source_urlcontact_fetched_at
contact_is_shared_domainDENUE (companies sharing the domain, by razón social)data_as_of
phone, emailDENUE (as declared to INEGI)data_as_of

Homepages are re-read when the dataset is rebuilt; a contact can change after contact_fetched_at.

Input examples

1. Professional services firms in Mexico City with an e-mail (the prefilled example) (sector 54 = legal, accounting, engineering, IT consulting, marketing…)

{
"scian_sectors": ["54"],
"states": ["09"],
"only_with_email": true,
"max_results": 500
}

2. Software and IT services (SCIAN 5415 + 5182) with 11+ employees and a website, one row per company

{
"scian_codes": ["5415", "5182"],
"min_employees": 11,
"only_with_website": true,
"one_per_company": true
}

3. Plastics manufacturers in Nuevo León and Jalisco added to DENUE since 2024

{
"scian_sectors": ["31-33"],
"states": ["NLE", "Jalisco"],
"keyword": "plastic",
"registered_after": "2024-01-01",
"sort_by": "registration_date_desc"
}
InputWhat it does
scian_sectorsSCIAN 2-digit sectors (54, 31-33, 48-49…; 31/32/33 also accepted)
scian_codes6-digit SCIAN classes or 3-5 digit prefixes
keywordSubstring in the English/Spanish activity label or the legal/trade name
states01-32, ISO codes (CMX, JAL, NLE, MX-CMX) or names (Ciudad de México, CDMX). Selecting states makes runs faster
municipalitiesMunicipality / alcaldía names, accents optional
size_brackets0-5, 6-10, 11-30, 31-50, 51-100, 101-250, 251+
min_employeesWhole bracket at or above N
exclude_public_sectorDefault true
only_with_website / only_with_verified_websiteSee "Website filters" above
only_with_emailOnly establishments with a returned e-mail, i.e. a company role mailbox (rule below)
only_with_phoneOnly establishments with a phone
only_with_public_contactOnly establishments whose own verified homepage publishes a role e-mail or a phone (has_public_email_or_phone; see above)
registered_afterMonth the establishment entered DENUE
registered_in_last_daysEntered DENUE in the N days up to data_as_of (not today), rounded to the month: schedule it for new-business lists
one_per_companyKeep the largest establishment per legal name
sort_bysize_desc (default), registration_date_desc, registration_date_asc, denue_id
max_resultsDefault 25 via API (the Console form is prefilled with 10)

Output fields

FieldDescription
denue_id, cleeINEGI establishment id and CLEE key (RFC is not published by DENUE)
legal_name, trade_nameRazón social (INEGI usually strips "S.A. de C.V.") and establishment name
is_legal_entity, legal_entity_basisAlways true; which rule confirmed it is a company
is_public_sectorfalse unless you turn exclude_public_sector off
scian_code, scian_label_es, scian_label_enSCIAN 2023 class, official Spanish label, English subsector label
scian_sector, scian_subsector (+ _label_en)Sector and subsector codes with English labels
size_bracket, size_bracket_en, employees_min, employees_maxINEGI personnel bracket, as text and numbers
establishment_typeFixed, semi-fixed, …
state, state_iso, state_name, municipality_code, municipality, locality, address, zip, latitude, longitudeLocation
phoneEstablishment phone, +52 + 10 digits
emailCompany role mailbox only (contacto@, ventas@, …) on the company's own domain, lower-cased; null otherwise (see "E-mail rule")
email_is_roletrue = the registered e-mail is a role mailbox and is returned; false = DENUE has an e-mail but it is personal, free-mail or not on the company's domain, so it is blanked; null = no e-mail in DENUE
email_domainDomain of the registered e-mail, only when it is the company's own (null for free-mail/ISP/placeholder/shared domains); kept even when the mailbox itself is blanked
website, website_domainSite declared to INEGI and its domain
social_urlSocial / site-builder page, only when its account name carries a word of the company's name (owner-named accounts, WhatsApp numbers and bare platform roots are dropped)
website_guesshttps:// + corporate e-mail domain, unchecked
website_verified_url, website_verified, website_checked_atHTTP-verified site (final URL after redirects), flag and check time (UTC)
public_role_emails, public_phonesRole e-mails and +52 phones published on the company's own homepage
linkedin_url, instagram_url, facebook_urlCompany pages linked from the homepage
has_public_contacttrue when at least one of the five fields above is set (any channel, social included)
has_public_email_or_phonetrue when public_role_emails or public_phones is set (what only_with_public_contact filters on)
contact_source_url, contact_fetched_atPage the contacts were read from, and when (UTC)
contact_is_shared_domainThe domain is used by different companies: no website contacts output
registration_dateMonth the establishment entered DENUE
data_as_of, sourceEdition date and the INEGI credit line

Illustrative row. The company, names and contacts below are made up.

{
"denue_id": 1234567,
"clee": "09016541510000011000000000U0",
"legal_name": "EJEMPLO SOLUCIONES DIGITALES",
"trade_name": "EJEMPLO TECH",
"is_legal_entity": true,
"legal_entity_basis": "registered_legal_name",
"is_public_sector": false,
"scian_code": "541510",
"scian_label_es": "Servicios de diseño de sistemas de cómputo y servicios relacionados",
"scian_label_en": "Professional, Scientific, and Technical Services",
"scian_sector": "54",
"scian_sector_label_en": "Professional, Scientific, and Technical Services",
"scian_subsector": "541",
"scian_subsector_label_en": "Professional, Scientific, and Technical Services",
"size_bracket": "11 a 30 personas",
"size_bracket_en": "11-30",
"employees_min": 11,
"employees_max": 30,
"establishment_type": "fixed",
"state": "09",
"state_iso": "MX-CMX",
"state_name": "Ciudad de México",
"municipality_code": "09016",
"municipality": "Miguel Hidalgo",
"locality": "Miguel Hidalgo",
"address": "CALLE EJEMPLO 100 INT 5, COLONIA GRANADA",
"zip": "11520",
"latitude": 19.4401,
"longitude": -99.2001,
"phone": "+525500000000",
"email": "contacto@ejemplotech.mx",
"email_is_role": true,
"email_domain": "ejemplotech.mx",
"website": "https://www.ejemplotech.mx",
"website_domain": "ejemplotech.mx",
"social_url": null,
"website_guess": "https://ejemplotech.mx",
"website_verified_url": "https://www.ejemplotech.mx/",
"website_verified": true,
"website_checked_at": "2026-11-09T17:42:13Z",
"registration_date": "2019-11-01",
"public_role_emails": ["contacto@ejemplotech.mx", "ventas@ejemplotech.mx"],
"public_phones": ["+525500000001"],
"linkedin_url": "https://www.linkedin.com/company/ejemplotech",
"instagram_url": null,
"facebook_url": "https://www.facebook.com/ejemplotech",
"has_public_contact": true,
"has_public_email_or_phone": true,
"contact_source_url": "https://www.ejemplotech.mx/",
"contact_fetched_at": "2026-11-09T21:48:05Z",
"contact_is_shared_domain": false,
"data_as_of": "2026-05-20",
"source": "Fuente: INEGI, Directorio Estadistico Nacional de Unidades Economicas (DENUE) 05/2026, actualizado 2026-05-20. Datos transformados (limpieza, normalizacion, etiquetas en ingles); no es un producto oficial del INEGI."
}

The run's key-value store OUTPUT record holds total_matching, pushed, and whether the run stopped at your spending limit.

Coverage (DENUE 05/2026)

Website checks: 272,768 of the 6,138,075 DENUE establishments have a verified site (490,661 checked, from the declared website and the website_guess domains); 220,921 of them are in the default universe below. Checks ran 2026-11-09 (LatSouthBot, honouring robots.txt; https://latsouth.com/bot/).

UniverseEstablishments
All DENUE establishments6,138,075
Legal entities, private sector (default)846,651
… distinct companies (one_per_company)449,001
… with 6+ employees369,664
… with an e-mail in DENUE (any kind)411,642
… with a company role e-mail returned (only_with_email)104,991
… with a website or website guess358,662
… with an HTTP-verified website (only_with_verified_website)220,921
… verified, distinct companies (one_per_company)84,053
… verified, in Mexico City (state 09)28,996
Professional services (54) in Mexico City with a verified website2,427
Professional services (54) in Mexico City with a role e-mail926
Software/IT (5415, 5182), 11+ employees, with website, one per company880
… with a role e-mail or phone on their own homepage (only_with_public_contact)46,394

Field notes

  • Legal entities. INEGI publishes the legal name (razón social) only for legal entities and usually strips the corporate suffix (S.A. de C.V., S. de R.L., …). is_legal_entity is true when the name carries a legal form, or when a legal name is present and doesn't look like a person's name or a placeholder. legal_entity_basis says which rule fired (every output row carries it). Rows with a person-like name are treated as uncertain and never returned.
  • website is what the establishment declared to INEGI. website_guess is https:// plus the corporate e-mail domain; free-mail, Mexican ISP (Prodigy/Telmex, Axtel, izzi, Megacable…), placeholder (contacto.com, correo.com.mx, …) and typo domains are never used. Neither is checked by itself; see the next note.
  • website_verified_url / website_verified / website_checked_at: each distinct domain from website and website_guess is checked by an automated script (DNS, then an HTTP GET to https://, http:// and www., up to 5 redirects, 8-second timeout, one retry with a regular-browser TLS fingerprint on 4xx/5xx). website_verified is true only when the final answer is HTTP 2xx/3xx and the page doesn't look parked, for sale, suspended, expired, "under construction" or a hosting default page. website_verified_url is then the final URL (it can be on another domain when the company forwards its domain to a brand site). Verified means the site answered at check time.
  • E-mail rule (company data only). DENUE's e-mail is free text and often the owner's or an employee's own mailbox. email is returned only when both hold: (1) the local part is a role/generic mailbox: every letter run splits into words of a Spanish/English department vocabulary (contacto, ventas, info, administracion, atencion, clientes, recepcion, facturacion, compras, rh, recursos humanos, gerencia, direccion, soporte, servicio, contabilidad, finanzas, cobranza, legal, marketing, hola, contact, sales, admin, office, …) plus qualifiers (digits, ./_/-, city or branch words such as cdmx, mty, sucursal), with at least one department word: contacto@, ventas2@, atencionaclientes@, facturacion.cdmx@ pass; caramosg@, juan.perez@, ventas.juan@, c.ventas@ don't; (2) the domain is the company's own: not free-mail/ISP/placeholder and not a domain shared by many unrelated companies (an accounting firm's). Otherwise email is null and email_is_role is false; email_domain stays only if the domain is corporate. Of the 411,642 default-universe establishments with an e-mail in DENUE, 104,991 (25.5%) carry a role mailbox; the rest are personal or free-mail and are never returned.
  • scian_label_en is the English label of the 3-digit subsector; scian_label_es is INEGI's official 6-digit class label. SCIAN is Mexico's NAICS; codes are SCIAN 2023.
  • registration_date is the month the establishment entered DENUE, not its incorporation date.
  • Rows are establishments. A chain appears once per branch; use one_per_company to collapse.

Limitations

  • Rows are establishments, not companies: a retail chain has one row per store. one_per_company collapses by legal name (exact match).
  • About 3% of the legal names that pass the legal-entity rules may still be a person's business; INEGI removes the corporate suffix, so this can't be fully separated.
  • No RFC (tax id) in DENUE. No revenue; size is the INEGI personnel bracket of the establishment.
  • DENUE is refreshed roughly once a year; some contacts are older than the edition date.
  • Website checks are newer than the DENUE edition (website_checked_at vs data_as_of): a verified site can belong to an establishment that has since closed.

Data freshness

DENUE edition 05/2026 (published 2026-05-20; Sinaloa corrected 2026-07-01). INEGI refreshes DENUE roughly yearly, mostly for large establishments. Every row carries data_as_of and source; the run log and the OUTPUT record also show the data_as_of of the release that was queried.

En español

Buscador de empresas de México (DENUE, INEGI). Personas morales del Directorio Estadístico Nacional de Unidades Económicas por estado, municipio, actividad SCIAN, tamaño (personal ocupado) y fecha de alta en el DENUE, con sitio web verificado y contactos públicos de la empresa publicados en su propio sitio (correo genérico tipo ventas@, teléfono, redes).

Búsquedas: directorio de empresas de México, base de datos de empresas, DENUE, INEGI, SCIAN, personas morales, prospección B2B, lista de empresas por estado y sector.

Solo datos de empresas: sin datos personales; los nombres de empresas unipersonales salen enmascarados (***). Precio: US$0,003 por empresa devuelta (1.000 = US$3); una llamada por API sin max_results devuelve 25. Se paga solo lo que se entrega y la ejecución se detiene en tu límite de gasto.

Ejemplo de entrada (el mismo del formulario):

{"scian_sectors": ["54"], "states": ["09"], "max_results": 10}

Privacy

Company data only. Establishments of natural persons (personas físicas) and rows that are not a confirmed legal entity are never returned, and there is no input to change that (legal_entities_only: false is rejected with an error). You are responsible for using the data lawfully (LFPDPPP, anti-spam rules, opt-out requests).

Pricing

Pay per event:

EventWhen it's chargedPrice
company-resultOnce per company row returned in the datasetUS$0.003 (1,000 companies = US$3)

The platform compute is included. Set a maximum cost per run and the actor stops pushing rows when it's reached; you only pay for rows you receive. Need the full file, a custom segment or a refresh? See https://latsouth.com/products/ and https://latsouth.com/pricing/.

More from LatSouth

FAQ

Is this the official DENUE? It is built from INEGI's open bulk download, cleaned and enriched. It is not an INEGI product and INEGI does not endorse it.

Why do some big companies have no legal name? Some establishments are registered by INEGI without razón social. Without it we can't tell a company from a natural person, so those rows are not returned.

Can I look up an RFC? DENUE does not publish RFCs.

Questions, bugs, custom extracts? hello@latsouth.com, or open an issue on this actor's Issues tab.