Mapa de Filiais por CNPJ — Rede Empresarial avatar

Mapa de Filiais por CNPJ — Rede Empresarial

Pricing

from $10.00 / 1,000 mapa de filiais

Go to Apify Store
Mapa de Filiais por CNPJ — Rede Empresarial

Mapa de Filiais por CNPJ — Rede Empresarial

Mapeie as filiais de uma empresa pela raiz do CNPJ usando dados abertos oficiais da Receita Federal. Receba CNPJ completo, UF, município, CNAE, situação e data de início por filial, além de totais por UF e status. Aceita CNPJ numérico ou alfanumérico e declara o frescor mensal.

Pricing

from $10.00 / 1,000 mapa de filiais

Rating

0.0

(0)

Developer

Johnn Mottin

Johnn Mottin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Mapeie toda a rede de filiais de uma empresa pela raiz do CNPJ

Informe a raiz do CNPJ ou um CNPJ completo e receba o mapa das filiais presentes na fotografia mensal dos dados abertos da Receita Federal.

Cada BRANCH_MAP pode incluir:

  • CNPJ completo de cada filial;
  • UF;
  • código do município;
  • CNAE principal;
  • situação cadastral;
  • data de início;
  • total de filiais;
  • total de filiais ativas;
  • distribuição por UF;
  • distribuição por situação cadastral.

O Actor também calcula deterministicamente o CNPJ da matriz como:

raiz + 0001 + dígitos verificadores

e deixa claro que esse CNPJ da matriz foi calculado pela regra, não observado no índice de filiais.

Aceita CNPJ numérico e o novo formato alfanumérico. O frescor mensal é declarado em cada resultado.

Principais recursos

  • Mapa de filiais por raiz de CNPJ
  • Raiz de 8 posições ou CNPJ completo
  • CNPJ numérico e alfanumérico
  • Validação de DV para CNPJ completo
  • CNPJ completo de cada filial
  • CNPJ da matriz calculado pela norma
  • Total de filiais
  • Filiais ativas
  • Distribuição por UF
  • Distribuição por situação cadastral
  • UF de cada filial
  • Código do município
  • CNAE principal
  • Situação cadastral
  • Data de início
  • Versão mensal dos dados
  • Alerta de índice atrasado
  • Entradas inválidas gratuitas
  • Deduplicação por raiz dentro da execução
  • RUN_SUMMARY gratuito
  • Leitura eficiente por shards
  • Até 1.000 raízes por execução
  • Pay Per Event por mapa entregue

Actor comunitário não-oficial. Sem afiliação com a Receita Federal do Brasil ou qualquer órgão público. A origem são os dados abertos oficiais do CNPJ, pré-processados em um índice mensal mantido pela JM Forge. Este índice lista filiais. Uma raiz sem filiais no índice não deve ser interpretada automaticamente como inexistente.


Para que este Actor serve

A pergunta central é:

Quais filiais esta raiz de CNPJ possui na fotografia mensal, onde elas estão e qual a situação de cada uma?

Casos de uso:

  • mapeamento de grupos empresariais;
  • homologação de fornecedores;
  • pesquisa de redes;
  • análise territorial;
  • cobertura comercial;
  • inteligência de contas;
  • auditoria cadastral;
  • análise de expansão;
  • integração de CRM/ERP;
  • pesquisa B2B;
  • consolidação por raiz de CNPJ.

Para quem é

Vendas B2B e account intelligence

Descubra a dimensão operacional de uma conta antes de planejar cobertura comercial.

Compliance e procurement

Mapeie estabelecimentos associados à mesma raiz e analise a situação de cada filial como um dado cadastral complementar.

Logística e expansão

Veja a distribuição regional da rede por UF.

Consultorias e pesquisa

Crie análises de redes empresariais sem abrir cada CNPJ individualmente.

Automação e dados

Conecte os resultados a:

  • Apify API;
  • n8n;
  • Make;
  • Google Sheets;
  • CRM;
  • ERP;
  • bancos de dados;
  • BI;
  • aplicações internas.

O que significa "raiz do CNPJ"

A raiz são as primeiras 8 posições do CNPJ.

Exemplo:

34.028.316/0001-03

Raiz:

34028316

A mesma raiz identifica a família de estabelecimentos que compartilha o número básico.


Formatos aceitos

Raiz direta

{
"cnpjs": [
"34028316"
]
}

CNPJ completo

{
"cnpjs": [
"34.028.316/0001-03"
]
}

CNPJ alfanumérico completo

O validador interno também suporta as 12 primeiras posições alfanuméricas conforme o formato novo, mantendo os dois DVs finais numéricos.

Quando um CNPJ completo é fornecido, o Actor valida o DV antes de convertê-lo em raiz.


Importante: raiz de 8 posições não tem DV próprio

Uma raiz fornecida diretamente possui apenas 8 posições.

Ela não contém os dígitos verificadores do CNPJ completo.

Por isso o Actor consegue verificar:

  • comprimento;
  • caracteres aceitos;

mas não consegue confirmar por DV, somente com a raiz, que existe uma matriz real.

O índice de filiais é então consultado para essa raiz.


Importante: o índice contém filiais

O índice mensal usado por este produto foi construído para responder rapidamente:

Quais filiais pertencem a esta raiz?

Ele não é o cadastro completo da matriz.

O BRANCH_MAP possui:

raizAtestadaPeloIndice

Quando é true

Existe pelo menos uma filial dessa raiz no índice mensal.

Quando é false

Nenhuma filial dessa raiz foi observada no snapshot.

Isso não é o mesmo que provar que a raiz não existe.

Uma empresa pode existir somente com matriz e zero filiais.

Uma raiz estrutural de 8 posições também pode ter sido informada sem um CNPJ completo validado.

Quando você precisa confirmar a existência cadastral da matriz, use um produto independente de consulta CNPJ.


CNPJ da matriz é calculado

O índice de filiais não fornece ao produto os dados cadastrais da matriz.

O Actor calcula:

raiz + 0001 + DV

e retorna:

cnpjMatrizCalculado
cnpjMatrizFormatado

O campo é deliberadamente chamado de:

calculado

para não sugerir que a matriz foi observada no índice.


Situação cadastral das filiais

O Actor traduz os códigos previstos na implementação para:

01 = NULA
02 = ATIVA
03 = SUSPENSA
04 = INAPTA
08 = BAIXADA

O registro também preserva:

situacaoCodigo

para auditoria.


Fonte dos dados

A origem é o conjunto de dados abertos do CNPJ administrado pela Receita Federal.

O fluxo do produto é:

dados abertos oficiais do CNPJ
índice mensal JM Forge — RFB-INDEX
shards por prefixo da raiz
BRANCH_MAP

O runtime não precisa processar o snapshot bruto inteiro em cada consulta.


Por que existe um índice mensal

A base oficial do CNPJ é grande.

Para tornar consultas por raiz rápidas, a JM Forge constrói mensalmente um índice específico de filiais.

O runtime lê apenas os shards necessários para as raízes solicitadas.

Exemplo:

raiz 34028316
prefixo de shard 34

Se várias raízes do lote começam por 34, o shard correspondente é lido uma única vez e reutilizado.


Frescor mensal

Este produto não é tempo real.

O resultado informa:

versaoDosDados
staleness

para deixar explícita a fotografia usada.


versaoDosDados

O índice pode fornecer:

{
"snapshotMonth": "2026-08",
"referenceMonth": "2026-07",
"builtAt": "2026-08-31T23:22:20.138Z"
}

snapshotMonth

Mês do snapshot oficial usado para construir o índice.

referenceMonth

Mês de referência operacional do índice.

builtAt

Momento de construção do índice.


staleness

O Actor compara o índice disponível com o mês fechado esperado no calendário brasileiro.

Exemplo:

{
"staleness": {
"indexMonth": "2026-07",
"expectedMonth": "2026-07",
"stale": false
}
}

Quando o índice está atrás:

stale: true

e o RUN_SUMMARY recebe um aviso.


Input

Exemplo recomendado

{
"cnpjs": [
"34028316",
"34.028.316/0001-03"
],
"mes": "",
"maxResults": 100,
"maxRuntimeMs": 300000
}

As duas entradas do exemplo representam a mesma raiz.

Ela será consultada uma única vez.

Campos de input

CampoDefaultDescrição
cnpjsobrigatórioRaízes de 8 posições ou CNPJs completos. Máximo 1.000 entradas.
mesvazioAAAA-MM; vazio = mês mais recente disponível.
maxResults100Máximo de BRANCH_MAP entregues/cobrados.
maxRuntimeMs300000Teto de runtime.
debugfalseLogs adicionais.

Deduplicação de entrada

A deduplicação ocorre pela:

raiz normalizada

Exemplo:

{
"cnpjs": [
"34028316",
"34.028.316/0001-03",
"34028316000103"
]
}

as três entradas representam a mesma raiz.

O Actor processa:

1 raiz

e gera no máximo:

1 branch-map

para ela.


Entradas inválidas são gratuitas

Quando um CNPJ completo possui:

  • comprimento errado;
  • caracteres inválidos;
  • DV inválido;

ele é listado nos avisos do resumo e não gera BRANCH_MAP.

Se todas as entradas forem inválidas, o input é rejeitado.


Mês específico

Mês mais recente:

{
"mes": ""
}

Mês específico, se ainda retido no índice:

{
"mes": "2026-07"
}

O mês precisa estar no formato:

AAAA-MM

com mês entre:

01–12

Output

O Dataset contém:

BRANCH_MAP
RUN_SUMMARY

BRANCH_MAP é o registro cobrado.

RUN_SUMMARY é gratuito.


Exemplo de BRANCH_MAP

{
"recordType": "BRANCH_MAP",
"raiz": "34848473",
"entradaOriginal": "34848473",
"cnpjMatrizCalculado": "34848473000165",
"cnpjMatrizFormatado": "34.848.473/0001-65",
"raizAtestadaPeloIndice": true,
"totalFiliais": 2,
"filiaisAtivas": 2,
"porUf": {
"SC": 1,
"SP": 1
},
"porSituacao": {
"ATIVA": 2
},
"filiais": [
{
"cnpj": "34848473000246",
"cnpjFormatado": "34.848.473/0002-46",
"uf": "SC",
"municipioCodigo": "8161",
"cnaePrincipal": "4761003",
"situacaoCodigo": "02",
"situacao": "ATIVA",
"dataInicio": "2026-02-13"
},
{
"cnpj": "34848473000327",
"cnpjFormatado": "34.848.473/0003-27",
"uf": "SP",
"municipioCodigo": "7107",
"cnaePrincipal": "4761003",
"situacaoCodigo": "02",
"situacao": "ATIVA",
"dataInicio": "2026-03-13"
}
],
"versaoDosDados": {
"snapshotMonth": "2026-08",
"referenceMonth": "2026-07",
"builtAt": "2026-08-31T23:22:20.138Z"
},
"staleness": {
"indexMonth": "2026-07",
"expectedMonth": "2026-07",
"stale": false
},
"observedAt": "2026-09-01T00:33:52.755Z"
}

O exemplo ilustra o shape do produto.

Os dados reais dependem da raiz e da fotografia mensal usada.


Campos principais de BRANCH_MAP

CampoDescrição
recordTypeBRANCH_MAP.
raizRaiz normalizada com 8 posições.
entradaOriginalPrimeira entrada original associada à raiz.
cnpjMatrizCalculadoCNPJ da matriz calculado pela regra.
cnpjMatrizFormatadoMatriz calculada com máscara.
raizAtestadaPeloIndiceTrue quando o índice contém pelo menos uma filial dessa raiz.
totalFiliaisQuantidade de filiais observadas.
filiaisAtivasQuantidade de filiais ativas.
porUfContagem por UF.
porSituacaoContagem por situação cadastral.
filiaisLista completa das filiais.
versaoDosDadosVersão da fotografia mensal.
stalenessDiagnóstico do frescor mensal.
observedAtTimestamp da entrega.

Campos de cada filial

Dentro de:

filiais[]

podem aparecer:

cnpj
cnpjFormatado
uf
municipioCodigo
cnaePrincipal
situacaoCodigo
situacao
dataInicio

Código do município

O Actor retorna:

municipioCodigo

conforme a codificação usada na base CNPJ.

Esta versão não transforma o código no nome do município.

Faça o mapeamento downstream quando precisar do nome.


Raiz sem filiais

Exemplo de shape:

{
"recordType": "BRANCH_MAP",
"raiz": "12345678",
"cnpjMatrizCalculado": "123456780001XX",
"raizAtestadaPeloIndice": false,
"totalFiliais": 0,
"filiaisAtivas": 0,
"filiais": []
}

O exemplo acima é conceitual.

O ponto importante é:

0 filiais

é uma resposta válida do mapa.

Mas:

raizAtestadaPeloIndice: false

significa que o índice de filiais não confirmou essa raiz por observação de uma filial.


Uma matriz sem filiais é cobrada?

Sim.

O produto vendido é:

mapa da rede de filiais da raiz

e:

zero filiais no snapshot

é uma resposta possível.

Por isso um BRANCH_MAP com zero filiais é cobrado.

Se você precisa saber primeiro se a matriz existe, faça validação/lookup cadastral antes de chamar este Actor.


Shards indisponíveis

As raízes são agrupadas por prefixo.

Se um shard sofre falha de rede ou fonte, o Actor não devolve:

0 filiais

para aquelas raízes.

As unidades correspondentes ficam como falha/indisponíveis no resumo.

Isso evita transformar erro de infraestrutura em veredito de negócio.


RUN_SUMMARY

O resumo final é gratuito.

Ele pode incluir:

recordsWritten
unitsRequested
unitsOk
unitsFailed
capReason
qualityAlert
sourceUnavailable
warnings
units
outcomeKind
billableRecords
stateVersion
report
httpRequests
cost
pricingLabel

report

O bloco gratuito pode incluir:

indexMonth
staleness
raizesSolicitadas
raizesEntregues
entradasInvalidas
filiaisEntregues
skippedByCap
shards
totalFiliaisNoIndice

STATS

O Key-Value Store padrão recebe:

STATS

com informações como:

  • requests HTTP;
  • registros entregues;
  • cobrança;
  • runtime;
  • staleness;
  • warnings;
  • qualidade;
  • custo computacional;
  • limites.

API da Apify

Execute via API:

curl -s "https://api.apify.com/v2/acts/<SEU_USUARIO>~branch-network/run-sync-get-dataset-items?token=<SEU_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"cnpjs":[
"34028316",
"34.028.316/0001-03"
],
"maxResults":100
}'

Substitua:

<SEU_USUARIO>
<SEU_TOKEN>

pelos seus dados da Apify.


Integrações

Use com:

  • Apify API;
  • Tasks;
  • Schedules;
  • webhooks;
  • n8n;
  • Make;
  • Google Sheets;
  • CRM;
  • ERP;
  • bancos de dados;
  • BI;
  • dashboards;
  • aplicações internas.

Agendamento

A fonte é mensal.

Uma cadência natural é:

mensal

depois da atualização da fotografia.

O Actor é stateless entre execuções.

Se você rodar a mesma raiz duas vezes no mesmo mês, o mapa pode ser entregue e cobrado novamente.


Comparando redes entre meses

O Actor não gera um evento automático de:

filial adicionada
filial removida
filial alterada

Mas você pode salvar os mapas mensais downstream e comparar:

filiais[]

entre meses.

Para monitoramento cadastral específico, use um Actor independente de mudanças.


Cobrança

Este Actor usa:

Pay Per Event

O modelo de publicação contém:

apify-actor-start
branch-map

apify-actor-start

É o evento sintético de início da própria Apify.

O código não chama um segundo evento customizado de start.

Não configure:

actor-start

como evento customizado adicional.

branch-map

É cobrado para cada:

BRANCH_MAP

entregue.

Isso inclui mapas com:

totalFiliais: 0

porque zero filiais é um resultado do produto.


O que é gratuito

Não gera cobrança de branch-map:

  • CNPJ completo inválido;
  • entrada descartada por deduplicação de raiz;
  • raiz não processada depois do cap;
  • RUN_SUMMARY;
  • warnings;
  • falha de shard que impede a conclusão da raiz.

O evento sintético de início da Apify pode continuar se aplicando à execução.


Controle de custo

Principais controles:

cnpjs
maxResults
maxRuntimeMs
mes

Mais eficiente

Agrupe várias raízes na mesma execução.

Raízes com o mesmo prefixo reutilizam o mesmo shard de dados.

Menor cobrança

Use:

maxResults

para limitar quantos mapas podem ser entregues.


Health e transparência

O Actor diferencia:

  • raiz com zero filiais;
  • entrada inválida;
  • shard indisponível;
  • índice indisponível;
  • staleness;
  • cap;
  • contrato de fonte alterado.

Problemas aparecem em:

RUN_SUMMARY
STATS

e não são convertidos silenciosamente em mapas vazios.


Limites honestos

O índice é de filiais

Não é o cadastro completo da matriz.

raizAtestadaPeloIndice=false não prova inexistência

Significa zero filiais observadas para a raiz no índice.

A matriz é calculada

cnpjMatrizCalculado não é um campo cadastral observado.

Frescor mensal

Não é tempo real.

Código do município, não nome

O Actor retorna municipioCodigo.

CNAE é o principal da filial

Esta versão não lista CNAEs secundários.

Não traz endereço completo

O produto não promete:

  • logradouro;
  • número;
  • bairro;
  • CEP;
  • telefone;
  • e-mail.

Não traz razão social da matriz

Use um Actor de consulta cadastral quando precisar desse dado.

Shard 404 e raiz vazia

O índice é publicado de forma atômica. Um shard opcional ausente representa ausência de filiais naquele prefixo do índice, mas isso ainda não atesta ou nega a existência de uma matriz específica.

Reexecução repete o mapa

Não há deduplicação de cobrança entre runs.

O índice é uma dependência JM Forge

Se o índice mensal estiver indisponível, o Actor não reconstrói o snapshot bruto dentro da mesma execução.

Meses antigos dependem de retenção

Um mes explícito só funciona enquanto aquele índice permanecer disponível.


Perguntas frequentes

De onde vêm os dados?

Dos dados abertos oficiais do CNPJ da Receita Federal, pré-processados em um índice mensal mantido pela JM Forge.

É scraping da Receita?

Não.

Posso informar somente a raiz?

Sim.

Posso informar o CNPJ completo?

Sim.

O CNPJ completo tem DV validado?

Sim.

Aceita CNPJ alfanumérico?

Sim.

O que acontece se eu repetir a mesma raiz?

Ela é processada uma única vez na execução.

Quantas raízes posso enviar?

Até:

1000

entradas no input.

O que significa totalFiliais?

Quantidade de estabelecimentos do tipo filial encontrados para aquela raiz no snapshot mensal.

A matriz entra em totalFiliais?

Não.

O Actor retorna a matriz?

Retorna o CNPJ da matriz calculado pela regra.

Se totalFiliais=0, a empresa não existe?

Não conclua isso.

Leia:

raizAtestadaPeloIndice

e use um lookup cadastral quando precisar confirmar a matriz.

Retorna filiais baixadas?

Sim, quando elas estão presentes no snapshot.

A situação fica explícita.

Posso filtrar só filiais ativas?

O output fornece filiaisAtivas, mas esta versão entrega a lista completa observada em vez de possuir um filtro de situação no input.

Retorna CNAE da filial?

Sim, o CNAE principal.

Retorna nome do município?

Não nesta versão.

O resumo é cobrado?

Não.

Uma raiz sem filiais é cobrada?

Sim, quando um BRANCH_MAP é entregue.

Entrada inválida é cobrada?

Não como branch-map.

Posso pedir um mês anterior?

Sim, se aquele índice ainda estiver retido.

Posso agendar?

Sim.

Mensal é a cadência natural.

Pelo que eu pago?

Pelo evento branch-map para cada mapa entregue, além do evento sintético de início configurado na Apify.

Este Actor é oficial da Receita Federal?

Não.

É uma ferramenta comunitária independente construída sobre dados públicos oficiais.


Suporte

Para bugs, dúvidas ou solicitação de campos:

johnatan291303@gmail.com

Use também a aba Issues na página do Actor.


Parte da suíte JM Forge

Também do mesmo desenvolvedor:

  • Consulta CNPJ Brasil e Empresas por CNAE — consulta cadastral e descoberta de empresas.
  • Empresas Novas por CNPJ, CNAE, UF e Porte — leads de novas matrizes ativas.
  • Inteligência de Mercado por CNAE — Brasil — perfis agregados de mercado.
  • Validador de CNPJ Alfanumérico — Lote e Migração — validação estrutural.
  • Monitor de Mudanças Cadastrais de CNPJ — mudanças cadastrais.
  • Triagem CNPJ — CEIS, CNEP, CEPIM e Leniência — triagem factual de sanções.

Os Actors permanecem ferramentas independentes.

Use este Actor quando precisar do mapa da rede de filiais de uma raiz de CNPJ.