Brazil CNPJ Lookup: Consulta CNPJ em Lote (Receita Federal) avatar

Brazil CNPJ Lookup: Consulta CNPJ em Lote (Receita Federal)

Pricing

from $0.80 / 1,000 company founds

Go to Apify Store
Brazil CNPJ Lookup: Consulta CNPJ em Lote (Receita Federal)

Brazil CNPJ Lookup: Consulta CNPJ em Lote (Receita Federal)

Bulk CNPJ lookup from Receita Federal open data: legal and trade name, status, opening date, CNAE codes, legal nature, size, capital, address, Simples Nacional and MEI flags, tax regime. No personal data. Pay per company found.

Pricing

from $0.80 / 1,000 company founds

Rating

0.0

(0)

Developer

Itay Ozer

Itay Ozer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Paste a list of Brazilian CNPJ numbers and get one clean company record per CNPJ: legal name (razao social), trade name (nome fantasia), registration status (situacao cadastral), opening date, main and secondary CNAE codes, legal nature, company size, share capital, address, Simples Nacional and MEI flags, and the yearly tax regime where published.

Made for checking suppliers and customers, cleaning a CRM, KYB and onboarding checks, enriching a spreadsheet of CNPJs, and AI agents that need to know whether a Brazilian company exists and is active.

The records come from the Receita Federal open CNPJ data, served by two free open-data APIs: Minha Receita first, and OpenCNPJ when Minha Receita cannot answer. No captchas, no scraping of the Receita website, no proxies, so runs are fast and steady: 3 CNPJs take about 2 seconds, 1,000 CNPJs about 4 minutes.

What you get

For every CNPJ found:

  • Identity: CNPJ (plain and formatted), head office or branch (matriz or filial), legal name, trade name
  • Status: ATIVA, BAIXADA, INAPTA, SUSPENSA or NULA, with the status date and reason
  • Opening date (data de inicio de atividade)
  • Activities: main CNAE and every secondary CNAE, each with code and description
  • Legal nature (natureza juridica) code and name, and size (porte: micro empresa, empresa de pequeno porte, demais)
  • Share capital in BRL
  • Address: street, number, complement, district (bairro), CEP, city, UF
  • Simples Nacional and MEI: yes or no, with the dates of joining and leaving
  • Tax regime by year (Lucro Real, Lucro Presumido, Imune, Isento...) where the Receita publishes it
  • Partner count: how many partners (QSA) are on record
  • Data release: which monthly Receita Federal release the record comes from, and which API answered

CNPJs that are invalid, not in the register, or could not be read are listed too (with found false or null and the reason), and they are free.

Privacy: what is left out on purpose

This actor returns company data, not personal data:

  • No partner names and no partial CPFs (only the number of partners)
  • No email addresses and no phone numbers (in the register these are often the owner's or the accountant's personal contacts)
  • Sole traders (empresario individual, MEI and other individual-person legal natures, soleTrader: true): the legal name is the owner's own name and the address is usually their home, so name, trade name, street address and share capital are withheld. Status, CNAE, size, city, UF and the Simples and MEI flags are still returned.

If you need partners or contact details, this is not the right tool.

Input

FieldRequiredExampleNotes
cnpjsyes["19.131.243/0001-97", "33683111000280"]One CNPJ per line, any format, up to 10,000 per run
  • Punctuation is optional: 19.131.243/0001-97 and 19131243000197 are the same.
  • The new alphanumeric CNPJ (for example 12.ABC.345/01DE-35) is accepted.
  • Leading zeros that a spreadsheet dropped are put back (191 stays invalid, 000000191 becomes 00.000.000/0001-91), and the check digits are always verified.
  • Duplicates are looked up and charged once.
{
"cnpjs": ["19.131.243/0001-97", "33.683.111/0002-80", "00.000.000/0001-91"]
}

Output example

One dataset item per CNPJ. Found companies come first, in your input order, then the CNPJs without a record:

{
"input": "19.131.243/0001-97",
"cnpj": "19131243000197",
"cnpjFormatted": "19.131.243/0001-97",
"found": true,
"error": null,
"isHeadOffice": true,
"legalName": "OPEN KNOWLEDGE BRASIL",
"tradeName": "REDE PELO CONHECIMENTO LIVRE",
"status": "ATIVA",
"statusDate": "2013-10-03",
"statusReason": "SEM MOTIVO",
"openingDate": "2013-10-03",
"mainActivity": { "code": "9430800", "description": "Atividades de associações de defesa de direitos sociais" },
"secondaryActivities": [
{ "code": "9493600", "description": "Atividades de organizações associativas ligadas à cultura e à arte" },
{ "code": "9499500", "description": "Atividades associativas não especificadas anteriormente" }
],
"legalNatureCode": "3999",
"legalNature": "Associação Privada",
"soleTrader": false,
"size": "DEMAIS",
"shareCapitalBrl": 0,
"street": "AVENIDA PAULISTA 37",
"number": "37",
"complement": "ANDAR 4",
"district": "BELA VISTA",
"zipCode": "01311902",
"city": "SAO PAULO",
"state": "SP",
"simplesNacional": null,
"simplesSince": null,
"simplesExcludedOn": null,
"mei": null,
"meiSince": null,
"meiExcludedOn": null,
"taxRegimes": [
{ "year": 2023, "regime": "ISENTO DO IRPJ" },
{ "year": 2024, "regime": "IMUNE DE IRPJ" }
],
"partnerCount": 1,
"source": "Minha Receita",
"dataRelease": "2026-10",
"checkedAt": "2026-10-31T16:56:04.207Z"
}

A CNPJ with no record looks like this (free):

{ "input": "12.ABC.345/01DE-35", "cnpj": "12ABC34501DE35", "found": false, "error": "Not found in the Receita Federal CNPJ register.", "source": "Minha Receita" }

Every item has the same columns in the same order, so CSV and Excel exports line up. Values the register does not have are null, never guessed.

Pricing

You pay only for companies found:

EventPriceWhen
Company found$0.0008Each CNPJ found in the register
Invalid, not found or unreadable CNPJfreeListed in the dataset with the reason

Example: 1,000 CNPJs found cost $0.80, plus Apify's standard actor start fee.

The actor reads your run's maximum charge before looking anything up and only looks up as many CNPJs as that covers, so a run never goes over the limit you set.

Limits

  • Up to 10,000 CNPJs per run. For more, split the list into several runs.
  • Speed: about 4 minutes per 1,000 CNPJs.
  • Freshness: the Receita Federal publishes the open CNPJ data once a month, and the APIs load each release a few days later. dataRelease tells you which release a record comes from. For a status that changed this week, check the Receita website.
  • This is a lookup by CNPJ. It does not search companies by name, CNAE or city.
  • The data is as the Receita publishes it. Errors in the register (old addresses, odd dates) come through unchanged.

FAQ

Where does the data come from? From the Receita Federal's open CNPJ data, which Brazilian law (Lei de Acesso à Informação) makes public. The actor reads it through Minha Receita, a free open-source API, and falls back to OpenCNPJ, a free API that allows commercial use. Both are volunteer projects; if you rely on them, consider supporting them.

What if a source is down? If Minha Receita fails, the run switches to OpenCNPJ for the rest of the CNPJs. A CNPJ that neither source can read gets found: null and is not charged; run it again later. If no CNPJ at all can be read, the run fails and nothing is charged.

Why is the legal name empty for some companies? Those are sole traders (soleTrader: true). Their legal name is the owner's personal name, so it is left out. See Privacy above.

Why is simplesNacional null? The register has no Simples Nacional option for that company (common for associations, public bodies and large companies). false means the company opted out or was never in.

Can I schedule it or call it from an AI agent? Yes. It runs with limited permissions, so it needs no access to your other Apify data, and it works from schedules, the API, integrations and MCP clients.

Something broke or a field is missing. What do I do? Open an issue on the Issues tab with your run link.