Consulta CNPJ — Receita Federal Scraper avatar

Consulta CNPJ — Receita Federal Scraper

Pricing

from $1.00 / 1,000 company records

Go to Apify Store
Consulta CNPJ — Receita Federal Scraper

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

15

Monthly active users

3 days ago

Last modified

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.

Como o scraper de CNPJ funciona

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 ativassituacaoCadastral: "ATIVA" descarta CNPJs mortos antes de irem para o dataset (e não são cobrados).
  • Cidade pelo nomemunicipio: "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 para JOAO SILVA ***.987.740-** e marca cpf_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

QuemO que faz com os dados
Prospecção B2BPuxa cada empresa de um CNAE + estado para o CRM, sem comprar lista
Fintechs e KYCConfere o CNPJ do cliente e o quadro de sócios para AML
Consultorias tributáriasFiltra Simples / MEI e o histórico de regime
Seguradoras de créditoPré-preenche status, capital, abertura e sócios
Pesquisa e jornalismoMapeia cadeias de sócios pelo CPF mascarado e pelo grafo
MarketplacesValida 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 }
FiltroSignificadoExemplo
ufSigla(s) de estado"SP" ou "SP,RJ,MG"
cnaeCódigo(s) CNAE (atividade principal e secundárias)"6209100" (suporte de TI)
municipioNome da cidade ou código IBGE/SIAFI"São Paulo", "Tatuí", "3550308"
naturezaJuridicaCódigo(s) de natureza jurídica"2135" (empresário individual)
partnerCpfCPF 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

  1. Escolha o modo: CNPJs para lookup, ou pelo menos um filtro para busca.
  2. O scraper consulta a API aberta de CNPJ (minhareceita.org), espelho mensal dos dumps da Receita.
  3. Nomes de cidade em municipio viram código IBGE pela tabela oficial (5.571 municípios). Nomes repetidos em vários estados pedem uf ou o código.
  4. A busca anda no cursor, até 1.000 registros por chamada, até maxItems ou o fim dos resultados.
  5. 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

CampoTipoPadrãoDescrição
cnpjarrayCNPJs para lookup (pontuação ignorada). Anula os filtros.
ufstringUF(s), vírgula para várias. Também desambigua cidade homônima.
cnaestringCNAE(s). Casa principal e secundárias.
municipiostringNome da cidade ou código IBGE/SIAFI.
naturezaJuridicastringCódigo(s) de natureza jurídica.
partnerCpfstringCPF/CNPJ no QSA. CPF no formato ***123456**.
situacaoCadastralselectALLSó um status: ATIVA, BAIXADA, INAPTA, SUSPENSA ou NULA.
includeGraphbooleanfalseSó no lookup: anexa o grafo (grafo). Uma chamada extra por CNPJ.
unmaskSoleProprietorCpfbooleanfalseDesligado. Devolve o CPF completo do EI em razao_social. Só ligue com base legal na LGPD.
maxItemsinteger100Teto de registros salvos.
pageSizeinteger1000Registros por página da API (1–1000).
maxConcurrencyinteger5Paralelismo 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_social de empresário individual (código 2135) é o nome + CPF. O Actor mascara — JOAO SILVA 02898774073 vira JOAO SILVA ***.987.740-** — e marca cpf_masked: true. unmaskSoleProprietorCpf: true devolve o valor cru se você tiver base legal.
  • email existe 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:

Amostraemailtelefone1logradouro
uf: "SP" — sem outro filtro0 / 1000369 / 1000 (37%)409 / 1000 (41%)
uf: "MG" — sem outro filtro0 / 1000302 / 1000 (30%)330 / 1000 (33%)
uf: "SP", cnae: "6201501" (software)0 / 1000854 / 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

  • Identidadecnpj, razao_social (CPF embutido mascarado), cpf_masked, nome_fantasia, matriz_filial
  • Statussituacao_cadastral (+ motivo e data), data_abertura, situacao_especial
  • Atividadecnae_principal_codigo / cnae_principal_descricao, cnaes_secundarios[]
  • Jurídiconatureza_juridica (+ código), porte, capital_social (BRL), orgao_publico
  • Endereçologradouro, numero, complemento, bairro, municipio, codigo_municipio_ibge, uf, cep
  • Contatotelefone1, telefone2, fax (esparsos), email (sempre null na prática)
  • Tributáriosimples_nacional, mei, regime_tributario[]
  • Sóciosqsa[], qsa_count, grafo[] opcional
  • Proveniênciadata_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

Serviços extras

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.
  • cnpj overrides every search filter; bulk mode needs at least one of uf, cnae, municipio, naturezaJuridica, partnerCpf.
  • Filters accept comma-separated multi-values ("uf": "SP,RJ").
  • municipio accepts a city name (São Paulo, Tatuí, accents optional) or a 7-digit IBGE / 4-digit SIAFI code. Ambiguous names need uf or the numeric code.
  • situacaoCadastral: "ATIVA" drops non-active companies; filtered rows are never charged.
  • includeGraph: true only 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.
  • email is always null in 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_social are masked unless unmaskSoleProprietorCpf: 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