Consulta CNPJ — Receita Federal Scraper
Pricing
from $1.00 / 1,000 company records
Consulta CNPJ — Receita Federal Scraper
Consulta CNPJ em massa na Receita Federal: empresas por estado, CNAE, cidade (nome ou código IBGE) ou natureza jurídica — 55M+ CNPJs com sócios (QSA), flags fiscais, capital e telefone quando o cadastro tem. Filtro só ATIVA, vários estados numa run, lookup KYC de um CNPJ.
Pricing
from $1.00 / 1,000 company records
Rating
5.0
(1)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
15
Monthly active users
3 days ago
Last modified
Categories
Share
Consulta CNPJ — Receita Federal (dados abertos)
O registro oficial de qualquer empresa brasileira — ou milhares de empresas de uma vez, por estado, CNAE, cidade, natureza jurídica ou sócio. Cobre os 55M+ CNPJs da Receita Federal, em JSON estruturado.
Ache as empresas; não só confirme um CNPJ que você já tem. A maioria das ferramentas pede o CNPJ e devolve um registro. Esta faz o caminho inverso: CNAE + estado, e percorre o cadastro até entregar cada empresa correspondente — sócios, flags fiscais, endereço e telefone quando a Receita publica. A cobertura de contato é a do cadastro; veja Cobertura medida antes de dimensionar uma campanha.

Por que usar este scraper?
- Descoberta em massa, não só enriquecimento — varre o cadastro por UF, CNAE, município, natureza jurídica ou CPF de sócio; ou consulta CNPJs pontuais.
- Filtros com vários valores —
"uf": "SP,RJ,MG"varre três estados na mesma run. Cada filtro aceita lista separada por vírgula. - Saída estruturada — QSA e CNAEs secundários vêm como objetos JSON, não como strings achatadas.
- Só empresas ativas —
situacaoCadastral: "ATIVA"descarta CNPJs mortos antes de irem para o dataset (e não são cobrados). - Cidade pelo nome —
municipio: "São Paulo"ou"Tatuí"resolve para o código IBGE. Código de 7 dígitos continua valendo. - Grafo de sócios sob demanda — lookups pontuais podem anexar a rede de participação.
- CPF mascarado por padrão — a Receita grava o CPF completo do empresário individual no nome (
JOAO SILVA 02898774073). O Actor mascara paraJOAO SILVA ***.987.740-**e marcacpf_masked: true. - Cobertura medida, não prometida — telefone e endereço são esparsos no cadastro; as taxas reais estão abaixo.
- Sem proxy, sem captcha, sem browser — API JSON pública.
- Paginação por cursor — não pula registros depois da marca de 10 mil, como scrapers por offset.
Casos de uso
| Quem | O que faz com os dados |
|---|---|
| Prospecção B2B | Puxa cada empresa de um CNAE + estado para o CRM, sem comprar lista |
| Fintechs e KYC | Confere o CNPJ do cliente e o quadro de sócios para AML |
| Consultorias tributárias | Filtra Simples / MEI e o histórico de regime |
| Seguradoras de crédito | Pré-preenche status, capital, abertura e sócios |
| Pesquisa e jornalismo | Mapeia cadeias de sócios pelo CPF mascarado e pelo grafo |
| Marketplaces | Valida CNPJ do seller na entrada e monitora a situação cadastral |
Entradas aceitas
Consulta direta — um ou mais CNPJs (pontuação é ignorada):
{ "cnpj": ["00.000.000/0001-91", "33683111000280"] }
Busca em massa — pelo menos um filtro; todos aceitam vários valores:
{ "uf": "SP", "cnae": "6209100", "maxItems": 5000 }
| Filtro | Significado | Exemplo |
|---|---|---|
uf | Sigla(s) de estado | "SP" ou "SP,RJ,MG" |
cnae | Código(s) CNAE (atividade principal e secundárias) | "6209100" (suporte de TI) |
municipio | Nome da cidade ou código IBGE/SIAFI | "São Paulo", "Tatuí", "3550308" |
naturezaJuridica | Código(s) de natureza jurídica | "2135" (empresário individual) |
partnerCpf | CPF mascarado ***123456** ou CNPJ no QSA | "***456789**" |
O que não entra: busca por razão social (a API da Receita não tem), CPF sem máscara no partnerCpf, e varredura do cadastro inteiro sem filtro (estoura timeout upstream e é recusada na entrada).
Como funciona
- Escolha o modo: CNPJs para lookup, ou pelo menos um filtro para busca.
- O scraper consulta a API aberta de CNPJ (minhareceita.org), espelho mensal dos dumps da Receita.
- Nomes de cidade em
municipioviram código IBGE pela tabela oficial (5.571 municípios). Nomes repetidos em vários estados pedemufou o código. - A busca anda no cursor, até 1.000 registros por chamada, até
maxItemsou o fim dos resultados. - Dedup por CNPJ, filtro opcional de situação, máscara de CPF, e o registro vai para o dataset. JSON, CSV ou Excel na saída.
Parâmetros de entrada
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
cnpj | array | — | CNPJs para lookup (pontuação ignorada). Anula os filtros. |
uf | string | — | UF(s), vírgula para várias. Também desambigua cidade homônima. |
cnae | string | — | CNAE(s). Casa principal e secundárias. |
municipio | string | — | Nome da cidade ou código IBGE/SIAFI. |
naturezaJuridica | string | — | Código(s) de natureza jurídica. |
partnerCpf | string | — | CPF/CNPJ no QSA. CPF no formato ***123456**. |
situacaoCadastral | select | ALL | Só um status: ATIVA, BAIXADA, INAPTA, SUSPENSA ou NULA. |
includeGraph | boolean | false | Só no lookup: anexa o grafo (grafo). Uma chamada extra por CNPJ. |
unmaskSoleProprietorCpf | boolean | false | Desligado. Devolve o CPF completo do EI em razao_social. Só ligue com base legal na LGPD. |
maxItems | integer | 100 | Teto de registros salvos. |
pageSize | integer | 1000 | Registros por página da API (1–1000). |
maxConcurrency | integer | 5 | Paralelismo no lookup de vários CNPJs. |
TI em São Paulo, só ativas:
{ "uf": "SP", "cnae": "6209100", "situacaoCadastral": "ATIVA", "maxItems": 5000 }
KYC com grafo:
{ "cnpj": ["00.000.000/0001-91"], "includeGraph": true }
Empresários individuais em Brasília, pelo nome da cidade:
{ "municipio": "Brasília", "naturezaJuridica": "2135", "maxItems": 1000 }
Tatuí-SP (nome que sem UF seria ambíguo em outros cadastros):
{ "uf": "SP", "municipio": "Tatuí", "maxItems": 200 }
Visão da saída
Uma linha por empresa. Os nomes de campo seguem o dicionário da Receita. qsa é array de objetos, cnaes_secundarios é {codigo, descricao}, regime_tributario traz o histórico por ano.
razao_socialde empresário individual (código2135) é o nome + CPF. O Actor mascara —JOAO SILVA 02898774073viraJOAO SILVA ***.987.740-**— e marcacpf_masked: true.unmaskSoleProprietorCpf: truedevolve o valor cru se você tiver base legal.emailexiste no schema, mas na prática está vazio: o dump público da Receita não publica e-mail. Em três amostras de 1.000 registros (dump 2026-07), 0 e-mails. Não planeje campanha de e-mail em cima deste campo.
Amostra de saída
Linha real do Banco do Brasil (00000000000191):
{"cnpj": "00000000000191","razao_social": "BANCO DO BRASIL SA","cpf_masked": false,"nome_fantasia": "DIRECAO GERAL","matriz_filial": "MATRIZ","situacao_cadastral": "ATIVA","situacao_cadastral_motivo": "SEM MOTIVO","data_situacao_cadastral": "2005-11-03","data_abertura": "1966-08-01","cnae_principal_codigo": "6422100","cnae_principal_descricao": "Bancos múltiplos, com carteira comercial","cnaes_secundarios": [{ "codigo": "6499999", "descricao": "Outras atividades de serviços financeiros não especificadas anteriormente" }],"natureza_juridica_codigo": "2038","natureza_juridica": "Sociedade de Economia Mista","porte": "DEMAIS","capital_social": 120000000000,"logradouro": "QUADRA SAUN QUADRA 5 BLOCO B TORRE I, II, III","numero": "SN","bairro": "ASA NORTE","municipio": "BRASILIA","codigo_municipio_ibge": "5300108","uf": "DF","cep": "70040912","telefone1": "6134939002","email": null,"simples_nacional": false,"mei": false,"regime_tributario": [{ "ano": 2021, "forma_de_tributacao": "LUCRO REAL" }],"orgao_publico": false,"qsa": [{"nome": "ALAN CARLOS GUEDES DE OLIVEIRA","qualificacao": "Diretor","cnpj_cpf": "***550179**","data_entrada": "2023-05-17","faixa_etaria": "Entre 41 a 50 anos"}],"qsa_count": 41,"data_atualizacao_base": "2026-07","source_url": "https://minhareceita.org/00000000000191"}
Empresário individual numa varredura, com CPF mascarado e contato típico (vazio):
{"cnpj": "41985107000113","razao_social": "JOAO FERNANDES DE LIMA ***.381.448-**","cpf_masked": true,"nome_fantasia": null,"natureza_juridica_codigo": "2135","natureza_juridica": "Empresário (Individual)","porte": "MICRO EMPRESA","telefone1": null,"email": null,"qsa": [],"qsa_count": 0}
Cobertura medida
O cadastro é jurídico, não uma base de contato. Contagens reais da fonte (extração 2026-07), 1.000 registros por amostra:
| Amostra | email | telefone1 | logradouro |
|---|---|---|---|
uf: "SP" — sem outro filtro | 0 / 1000 | 369 / 1000 (37%) | 409 / 1000 (41%) |
uf: "MG" — sem outro filtro | 0 / 1000 | 302 / 1000 (30%) | 330 / 1000 (33%) |
uf: "SP", cnae: "6201501" (software) | 0 / 1000 | 854 / 1000 (85%) | 862 / 1000 (86%) |
Na prática:
- E-mail não existe na fonte. O campo fica no schema, mas é
null. - Varredura de estado sem CNAE é pobre de contato. Cerca de um terço são EI parados e cascas sem telefone nem rua. Em
uf: "SP", 240 de 1.000 eram empresário individual. - CNAE + UF é rico de contato. Indústria real mais que dobra o telefone (85%). Para lead, junte
uf+cnae+situacaoCadastral: "ATIVA". - Nada é inventado, adivinhado ou enriquecido.
Campos principais
- Identidade —
cnpj,razao_social(CPF embutido mascarado),cpf_masked,nome_fantasia,matriz_filial - Status —
situacao_cadastral(+ motivo e data),data_abertura,situacao_especial - Atividade —
cnae_principal_codigo/cnae_principal_descricao,cnaes_secundarios[] - Jurídico —
natureza_juridica(+ código),porte,capital_social(BRL),orgao_publico - Endereço —
logradouro,numero,complemento,bairro,municipio,codigo_municipio_ibge,uf,cep - Contato —
telefone1,telefone2,fax(esparsos),email(semprenullna prática) - Tributário —
simples_nacional,mei,regime_tributario[] - Sócios —
qsa[],qsa_count,grafo[]opcional - Proveniência —
data_atualizacao_base,source_url
FAQ
Os dados são de quando?
A Receita solta dumps mensais e o espelho recarrega a partir deles. Em geral 0–45 dias atrás da fonte oficial. Cada linha traz data_atualizacao_base.
Preciso de proxy? Não. API JSON pública atrás de CDN.
Dá para buscar por razão social? Não. Descubra por CNAE, UF, município, natureza ou CPF de sócio.
Posso passar o nome da cidade?
Sim. municipio: "São Paulo" ou "Tatuí". Acento é opcional. Se o nome existe em mais de um estado (Bom Jesus, por exemplo), informe uf ou o código IBGE.
CPF de sócio é legal de usar?
A própria Receita publica o QSA já mascarado (***123456**). O scraper repassa assim.
Algum CPF completo chega no dataset?
Não, com o padrão. O vazamento da fonte é o EI: o nome legal vem NOME 02898774073. Isso é cerca de um quarto de uma varredura de estado sem filtro.
A Receita não pontua igual — aparece 02898774073, 490.722.426-53, 082725916-69, CPF: 013.636.826-36. O Actor mascara todos no formato NOME ***.987.740-** e marca cpf_masked: true. Conferido em 4.000 registros de MG, SP, RJ e BA: 1.227 nomes tinham CPF e todos saíram mascarados, sem nome de empresa mascarado por engano. O valor cru exige unmaskSoleProprietorCpf: true e base legal na LGPD.
Tem e-mail da empresa? Não. Três amostras de 1.000 deram 0 e-mails. Veja a tabela de cobertura.
A run acabou com 0 registros — quebrou?
Não. Termina SUCCEEDED. O log tem [RESULT] e a mensagem de status diz o motivo: CNPJ fora do cadastro, dígitos inválidos, filtro sem match, ou tudo cortado por situacaoCadastral. A taxa de início da run ainda vale.
Busca só por CPF de sócio estourou timeout?
É pesado no upstream. Junte partnerCpf com uf.
O que é orgao_publico?
true quando a natureza jurídica é administração pública (códigos 1000–1999).
Como ficar só com ativas?
situacaoCadastral: "ATIVA". As descartadas não entram em maxItems e não são cobradas.
Como limitar o custo?
maxItems. A run para de gravar no teto; você paga por registro no dataset.
Suporte
- Issues: aba Issues na página do Actor no Console da Apify.
- Site: https://muhamed-didovic.github.io/
- E-mail: muhamed.didovic@gmail.com
Serviços extras
- Formato de saída customizado ou dataset pontual: muhamed.didovic@gmail.com
- Outras fontes brasileiras (imóveis, marketplaces, reviews): mesmo e-mail.
- Acesso via API (sem taxa Apify, só uso da API): muhamed.didovic@gmail.com
Outros scrapers
Outros actors em memo23 na Apify — imóveis no Brasil (VivaReal, ZAP Imóveis), vagas, reviews.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/cnpj-scraper).
Purpose: look up Brazilian company registry records by CNPJ, or bulk-discover companies from Receita Federal open data by state, CNAE, municipality (city name or IBGE code), legal form, or partner CPF.
Minimal input:
{ "uf": "DF", "cnae": "6209100", "maxItems": 25 }
City-name input (resolved to IBGE):
{ "uf": "SP", "municipio": "Tatuí", "maxItems": 25 }
Output: one dataset row per company — cnpj, razao_social, cpf_masked, nome_fantasia, matriz_filial, situacao_cadastral, data_abertura, cnae_principal_codigo, cnae_principal_descricao, cnaes_secundarios [{codigo, descricao}], natureza_juridica, porte, capital_social, logradouro, numero, bairro, municipio, codigo_municipio_ibge, uf, cep, telefone1, email, simples_nacional, mei, regime_tributario [{ano, forma_de_tributacao}], orgao_publico, qsa [{nome, qualificacao, cnpj_cpf, data_entrada}], qsa_count, grafo (opt-in), data_atualizacao_base, source_url.
Behaviors an agent should know:
- Always set
maxItems— the registry holds 55M+ CNPJs. cnpjoverrides every search filter; bulk mode needs at least one ofuf,cnae,municipio,naturezaJuridica,partnerCpf.- Filters accept comma-separated multi-values (
"uf": "SP,RJ"). municipioaccepts a city name (São Paulo,Tatuí, accents optional) or a 7-digit IBGE / 4-digit SIAFI code. Ambiguous names needufor the numeric code.situacaoCadastral: "ATIVA"drops non-active companies; filtered rows are never charged.includeGraph: trueonly on direct CNPJ lookups.- Billing is per saved dataset record plus a run-start fee. Empty runs still pay the start fee.
- No company-name search. Partner CPFs use the masked
***123456**format. emailis alwaysnullin the public dump (0 hits in three 1,000-record samples).- Contact coverage is filter-dependent: unfiltered
uf≈37% phone;uf+cnae≈85% phone. - Sole-proprietor CPFs in
razao_socialare masked unlessunmaskSoleProprietorCpf: true. Do not enable that on a user's behalf without their instruction. - A 0-record run still ends
SUCCEEDED; read the status message and the[RESULT]log line.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Receita Federal do Brasil, the Brazilian federal government, or the minhareceita.org open-data project. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available company-registry data that Receita Federal releases under Brazil's Access to Information Law (Lei de Acesso à Informação) — no authenticated endpoints, no logins, no paywalled sources.
On personal data: partner CPFs in qsa and grafo are published pre-masked by Receita Federal itself and are passed through unchanged. For sole proprietors the registry appends the person's complete 11-digit CPF to razao_social. In the default configuration this Actor masks that CPF and flags the row with cpf_masked: true. The optional unmaskSoleProprietorCpf input (off by default) returns the raw value; enabling it means you are choosing to process a private individual's national tax ID, and you must have a lawful basis for doing so.
Users are responsible for ensuring their use complies with applicable data-protection law (LGPD, GDPR, CCPA, etc.) and any contractual obligations of their own organization.
SEO Keywords
consulta cnpj, consulta cnpj em massa, scraper cnpj, scrape cnpj, cnpj API, cnpj scraper, receita federal scraper, dados abertos cnpj, cadastro nacional pessoa juridica, empresas por cnae, empresas por estado, quadro societário QSA, simples nacional, lista MEI, leads B2B brasil, KYC brasil, brazil company registry, cnpj bulk lookup, brazil AML data, extração cnpj