Monitor de Mudanças Cadastrais de CNPJ
Pricing
from $2.00 / 1,000 evento de mudanças
Monitor de Mudanças Cadastrais de CNPJ
Acompanha o cadastro público de empresas brasileiras e informa apenas o que mudou: situação cadastral, endereço, CNAE, quadro societário ou razão social. Cada evento traz o valor anterior e o novo.
Pricing
from $2.00 / 1,000 evento de mudanças
Rating
0.0
(0)
Developer
Johnn Mottin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 minutes ago
Last modified
Categories
Share
Detecte alterações cadastrais de empresas brasileiras sem consultar CNPJ por CNPJ
Uma mudança no cadastro de um fornecedor, cliente ou parceiro pode acontecer antes de alguém da sua equipe perceber.
Este Actor monitora os CNPJs que você escolher e retorna somente as mudanças detectadas entre uma leitura e outra: situação cadastral, endereço, CNAE, quadro societário e dados de identificação da empresa.
Cada mudança é entregue como um evento estruturado com o valor anterior e o valor atual, facilitando monitoramento de fornecedores, KYB, compliance operacional, cadastros internos e automações.
Sem login. Sem CAPTCHA. Sem navegador. Sem IA no runtime.
Principais recursos
Monitore até 200 CNPJs por execução
Detecte mudança de situação cadastral
Detecte mudança de endereço
Detecte mudança de CNAE principal e secundários
Detecte alteração no quadro societário
Detecte mudança de razão social, nome fantasia, natureza jurídica ou porte
Receba previous e current no mesmo evento
Escolha quais tipos de evento deseja receber
Primeira leitura cria a linha de base sem gerar falso evento
Estado persistente entre execuções
Fallback entre fontes públicas compatíveis com o fluxo
Proteção contra falso positivo quando a família da fonte muda
Resumo gratuito RUN_SUMMARY em toda execução
Health checks e avisos de qualidade
Controle de volume por maxResults e maxRuntimeMs
Apify Tasks, Schedules, API, webhooks e integrações
Pay Per Event para eventos efetivamente entregues
Actor comunitário não-oficial. Sem afiliação com a Receita Federal do Brasil, Minha Receita, CNPJ.ws ou qualquer órgão público. Os dados são obtidos de fontes públicas e permanecem sujeitos às condições, disponibilidade, atualização e políticas de cada fonte.
Por que monitorar alterações cadastrais
Uma consulta de CNPJ mostra o estado atual da empresa.
Um monitor responde a uma pergunta diferente:
O que mudou desde a última vez que consultei esta empresa?
Isso pode ajudar a identificar alterações relevantes em:
fornecedores;
clientes B2B;
parceiros comerciais;
empresas homologadas;
carteira de crédito;
cadastros internos;
processos de KYB;
compliance operacional;
bases de CRM e ERP;
listas de empresas acompanhadas continuamente.
O Actor não decide sozinho se uma alteração representa risco. Ele transforma a mudança cadastral em um evento estruturado que pode alimentar seu processo de análise ou automação.
Para quem é
Compras e gestão de fornecedores
Monitore fornecedores recorrentes e identifique quando ocorrer alteração em dados cadastrais relevantes.
Exemplo:
O CNPJ deste fornecedor mudou de ATIVA para BAIXADA desde a última verificação?
Equipes financeiras, risco e compliance
Use os eventos como um sinal adicional em processos de:
atualização cadastral;
KYB;
revisão de fornecedores;
revisão de clientes empresariais;
checagens operacionais;
rotinas internas de compliance.
O Actor fornece o dado. A decisão de risco continua pertencendo à sua política e ao seu processo.
Operações e cadastro
Mantenha sistemas internos informados quando houver mudança em:
razão social;
nome fantasia;
endereço;
CNAE;
porte;
natureza jurídica;
quadro societário;
situação cadastral.
Integradores e equipes de automação
Os eventos podem ser enviados para:
n8n;
Make;
Google Sheets;
Slack;
CRM;
ERP;
webhooks;
bancos de dados;
dashboards;
agentes de IA;
aplicações internas.
Como funciona
O Actor trabalha com histórico persistente.
Para cada CNPJ:
valida o número e os dígitos verificadores;
consulta as fontes públicas configuradas na ordem definida;
normaliza os dados recebidos;
carrega o snapshot anterior salvo pelo Actor;
compara apenas os campos monitorados;
gera um evento para cada grupo de dados que realmente mudou;
salva o snapshot atual para a próxima execução;
escreve um RUN_SUMMARY gratuito com o resultado da execução.
A comparação é determinística e feita por regras declaradas no código. O Actor não usa LLM para decidir se algo mudou.
A primeira execução cria a linha de base
Na primeira leitura de um CNPJ ainda não monitorado, o Actor salva o cadastro atual como baseline.
Ele não gera evento nessa primeira leitura.
Isso é intencional.
Se o Actor tratasse todo o cadastro atual como mudança, a primeira execução produziria falsos eventos para dados que já existiam antes do monitoramento começar.
A partir da próxima execução, a nova leitura é comparada com a linha de base persistida.
Tipos de evento
O input eventTypes permite escolher quais mudanças devem gerar eventos.
STATUS_CHANGED
Detecta mudança em:
situacaoCadastral dataSituacao
Exemplos de situação cadastral que podem aparecer conforme a fonte:
ATIVA BAIXADA SUSPENSA INAPTA
ADDRESS_CHANGED
Compara o bloco de endereço normalizado:
logradouro numero bairro municipio uf cep
CNAE_CHANGED
Detecta mudança em:
cnaePrincipal cnaeDescricao cnaesSecundarios
Os CNAEs secundários são normalizados como conjunto ordenado para evitar falso positivo causado apenas por mudança de ordem na resposta da fonte.
PARTNER_CHANGED
Detecta mudança no quadro societário normalizado.
O snapshot de cada sócio pode incluir:
nome qualificacao cpfMascarado
A ordem dos sócios não é tratada como mudança.
COMPANY_UPDATED
Detecta mudança em dados de identificação da empresa:
razaoSocial nomeFantasia naturezaJuridica porte
Input
Exemplo recomendado para monitoramento diário
{"cnpjs": ["47960950000121","19131243000197"],"eventTypes": ["STATUS_CHANGED","ADDRESS_CHANGED","CNAE_CHANGED","PARTNER_CHANGED","COMPANY_UPDATED"],"sources": ["minhareceita","cnpjws"],"maxResults": 1000,"maxRuntimeMs": 300000,"debug": false}
Campos de input
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
| cnpjs | array | obrigatório | Lista de CNPJs a monitorar. Aceita até 200 itens por execução, com ou sem pontuação. |
| eventTypes | string[] | todos os 5 eventos | Define quais tipos de mudança devem ser emitidos. |
| sources | string[] | ['minhareceita','cnpjws'] | Ordem de tentativa das fontes públicas. |
| maxResults | int 1–10000 | 1000 | Limite máximo de eventos de mudança entregues na execução. |
| maxRuntimeMs | int 10000–3600000 | 300000 | Limite de duração controlado pelo Actor em milissegundos. |
| debug | boolean | false | Ativa logs mais detalhados de espera de fonte e decisões de comparação. |
CNPJs inválidos são ignorados com aviso quando existe pelo menos um CNPJ válido na entrada.
Se nenhum CNPJ válido for fornecido, o input é tratado como inválido.
Validação de CNPJ
O Actor não verifica apenas se existem 14 números.
Ele também valida os dígitos verificadores.
Por isso, uma entrada como:
99999999999999
não é considerada um CNPJ válido apenas por possuir 14 dígitos.
CNPJs duplicados são normalizados e processados uma única vez na mesma execução.
Escolha apenas os eventos que você precisa
Você pode reduzir o tipo de saída escolhendo apenas os eventos relevantes para seu fluxo.
Exemplo: monitorar apenas situação cadastral e quadro societário.
{"cnpjs": ["47960950000121"],"eventTypes": ["STATUS_CHANGED","PARTNER_CHANGED"]}
Mudanças em grupos não selecionados podem ser identificadas internamente para atualização do estado, mas não são entregues como eventos cobrados daquele tipo.
Output
O dataset pode conter dois tipos principais de registro:
CHANGE_EVENT RUN_SUMMARY
CHANGE_EVENT
É um evento de mudança cadastral efetivamente detectada e entregue.
RUN_SUMMARY
É a linha gratuita de resumo da execução.
Ela mantém o dataset informativo mesmo em uma execução sem mudança cadastral.
Exemplo de evento de mudança
Exemplo de estrutura usada pelo Actor para uma alteração de situação cadastral:
{"recordType": "CHANGE_EVENT","eventType": "STATUS_CHANGED","changeKind": "CHANGED","entityId": "cnpj:47960950000121","source": "minhareceita","observedAt": "2026-08-16T18:41:03.552Z","previousObservedAt": "2026-08-15T18:40:11.204Z","changedFields": ["status"],"previous": {"situacaoCadastral": "ATIVA","dataSituacao": "2005-11-03"},"current": {"situacaoCadastral": "BAIXADA","dataSituacao": "2026-08-01"},"cnpj": "47960950000121","razaoSocial": "MAGAZINE LUIZA S/A","sourceFamily": "receita"}
Campos de CHANGE_EVENT
| Campo | Presença | Descrição |
|---|---|---|
| recordType | sempre | CHANGE_EVENT. |
| eventType | sempre | Tipo de mudança detectada. |
| changeKind | sempre | Neste Actor, eventos de diff usam CHANGED. |
| entityId | sempre | Identidade estável no formato cnpj: |
| source | sempre | Fonte usada na leitura que gerou o evento. |
| observedAt | sempre | Momento em que a leitura atual foi observada pelo Actor. |
| previousObservedAt | quando existe histórico | Momento da leitura anterior usada na comparação. |
| changedFields | sempre | Grupo comparado que mudou. |
| previous | sempre no evento | Recorte dos valores anteriores relevantes ao evento. |
| current | sempre no evento | Recorte dos valores atuais relevantes ao evento. |
| cnpj | sempre | CNPJ normalizado com 14 dígitos. |
| razaoSocial | quando disponível | Razão social normalizada da leitura atual. |
| sourceFamily | sempre quando a leitura é válida | Família usada para impedir comparação incompatível entre fontes. |
Estrutura de previous e current
Cada evento traz somente os dados relevantes ao tipo de mudança.
STATUS_CHANGED
{"situacaoCadastral": "ATIVA","dataSituacao": "2005-11-03"}
ADDRESS_CHANGED
{"endereco": {"logradouro": "AVENIDA EXEMPLO","numero": "100","bairro": "CENTRO","municipio": "SAO PAULO","uf": "SP","cep": "01001000"}}
CNAE_CHANGED
{"cnaePrincipal": "4711302","cnaeDescricao": "Comércio varejista de mercadorias em geral","cnaesSecundarios": ["4751201","4753900"]}
PARTNER_CHANGED
{"socios": [{"nome": "NOME DO SOCIO","qualificacao": "Administrador","cpfMascarado": "***123456**"}],"total": 1}
COMPANY_UPDATED
{"razaoSocial": "EMPRESA EXEMPLO LTDA","nomeFantasia": "EMPRESA EXEMPLO","naturezaJuridica": "Sociedade Empresária Limitada","porte": "DEMAIS"}
Os valores acima mostram o shape esperado. A disponibilidade e o conteúdo real dependem do cadastro publicado pela fonte consultada.
RUN_SUMMARY
Toda execução finalizada pelo fluxo normal escreve uma linha de resumo gratuita.
Ela pode incluir informações como:
startedAt finishedAt recordsWritten unitsRequested unitsOk unitsFailed capReason qualityAlert sourceUnavailable warnings units outcomeKind eventsByType baselinesCreated cnpjsNaoEncontrados trocasDeFamiliaDeFonte esperaPorFonteMs fontesConsultadas camposForaDoDiff cost pricingLabel
Isso ajuda a diferenciar:
execução sem mudança;
baseline criado;
CNPJ não encontrado;
unidade com falha;
troca de família de fonte;
limite atingido;
alerta de qualidade;
execução com eventos entregues.
CNPJ não encontrado não vira evento de encerramento
Se uma fonte responder que determinado CNPJ não consta naquele momento, o Actor registra a situação no resumo da execução.
Ele não transforma automaticamente isso em STATUS_CHANGED ou em evento de empresa encerrada.
Essa decisão reduz o risco de um falso alerta causado por:
atraso de espelho;
inconsistência temporária;
diferença de cobertura;
indisponibilidade parcial da fonte.
Para um monitor cadastral, um falso aviso de encerramento pode ser mais prejudicial do que não emitir um evento naquele momento.
Fontes públicas
A cadeia padrão é:
minhareceita cnpjws
Minha Receita
É a fonte tentada primeiro na configuração padrão.
O Actor aplica uma pequena cortesia entre chamadas e não assume SLA da fonte.
CNPJ.ws
É usada como fallback quando configurada e necessária.
O cliente do Actor respeita o limite público documentado usado pela implementação:
3 consultas por minuto
Por construção, existe um intervalo de aproximadamente:
20 segundos
entre chamadas dessa fonte.
Isso significa que uma execução grande pode ficar significativamente mais lenta quando o fallback entra em uso.
Proteção contra falso positivo na troca de fonte
Fontes diferentes podem representar alguns campos de maneiras diferentes mesmo quando a empresa não mudou.
Por isso o Actor salva também a família da fonte usada no baseline.
O diff só é executado quando a leitura anterior e a atual pertencem à mesma família compatível.
Se a família mudar:
o Actor atualiza a linha de base;
registra a troca em RUN_SUMMARY;
ativa aviso de qualidade;
não gera evento de mudança nessa janela.
Esse comportamento evita transformar diferença de fonte em falsa mudança cadastral.
Campos propositalmente fora do diff
O Actor não compara atualmente:
capitalSocial opcaoSimples opcaoMei email telefones socios.faixaEtaria
Esses campos ficam explicitamente listados no resumo através de:
camposForaDoDiff
A exclusão é intencional para reduzir falso positivo em dados que podem divergir entre fontes, sofrer normalização diferente ou mudar sem representar uma alteração cadastral útil para este produto.
Monitoramento diário
O uso recomendado é salvar sua lista como uma Apify Task e executá-la de forma recorrente.
Exemplo:
{"cnpjs": ["47960950000121","19131243000197"],"eventTypes": ["STATUS_CHANGED","ADDRESS_CHANGED","CNAE_CHANGED","PARTNER_CHANGED","COMPANY_UPDATED"],"maxResults": 1000}
Na primeira execução, os CNPJs novos criam baseline.
Nas próximas execuções, o Actor compara a leitura atual com o histórico persistido.
Agendamento na Apify
Use Apify Schedules para executar o monitor na nuvem.
Seu computador não precisa permanecer ligado.
Exemplo de configuração
Configure sua lista de CNPJs.
Salve o input como uma Task.
Vá em Console → Schedules → Create schedule.
Adicione a Task.
Defina a frequência desejada.
Conecte o dataset ou o run ao destino necessário.
Para este tipo de cadastro, uma cadência diária costuma ser mais adequada do que execuções muito frequentes, porque as fontes podem refletir atualizações em lote e não representam um feed em tempo real.
Exemplo de cron diário às 6h:
0 6 * * *
Exemplo de pipeline de monitoramento
Input
{"cnpjs": ["47960950000121","19131243000197"],"eventTypes": ["STATUS_CHANGED","PARTNER_CHANGED"]}
Fluxo possível
O Actor consulta os CNPJs.
Compara a leitura com o baseline persistido.
Entrega somente os eventos selecionados que realmente mudaram.
O dataset segue para seu workflow.
O workflow pode:
atualizar cadastro no CRM ou ERP;
registrar mudança em banco de dados;
enviar alerta no Slack;
disparar webhook;
solicitar revisão humana;
alimentar um dashboard;
executar uma regra interna de compliance.
O Actor detecta a alteração cadastral. A ação posterior é responsabilidade do workflow downstream.
API da Apify
Execute o Actor e receba os itens do dataset em uma chamada:
curl -s "https://api.apify.com/v2/acts/<SEU_USUARIO>~cnpj-company-change-events/run-sync-get-dataset-items?token=<SEU_TOKEN>"
-X POST
-H "Content-Type: application/json"
-d '{"cnpjs":["47960950000121"],"eventTypes":["STATUS_CHANGED","PARTNER_CHANGED"]}'
O resultado pode ser integrado a:
APIs internas;
n8n;
Make;
webhooks;
CRM;
ERP;
bancos de dados;
Google Sheets;
dashboards;
automações próprias.
Cobrança
Este Actor usa Pay Per Event.
Existem dois nomes de cobrança usados pela implementação:
actor-start change-event
actor-start
Pode representar a taxa de início da execução conforme a configuração publicada na aba Pricing.
O código só abre a cobrança de início depois que o input é validado.
Input inválido não deve ser tratado como resultado cobrável pelo fluxo do Actor.
change-event
É usado para os registros CHANGE_EVENT efetivamente entregues.
O RUN_SUMMARY é uma linha gratuita e não passa pela cobrança de resultados.
A aba Pricing da página do Actor é sempre a fonte autoritativa para os valores atuais de cada evento.
Controle de custo
Os principais controles de volume são:
eventTypes maxResults maxRuntimeMs cnpjs
Menor volume de eventos
Selecione somente os tipos de mudança relevantes:
{"eventTypes": ["STATUS_CHANGED"]}
Teto explícito de resultados
Use:
{"maxResults": 100}
Ao atingir o limite admitido pelo controle de gasto, o Actor encerra a entrega de novos eventos de forma controlada e preserva o que já foi coletado.
Frequência adequada
Executar o monitor com frequência muito maior do que a velocidade de atualização das fontes geralmente não cria mais informação útil.
Para muitos cenários cadastrais, uma execução diária é suficiente.
Health checks e qualidade
O Actor inclui verificações para evitar que mudanças de contrato da fonte gerem silenciosamente eventos quebrados.
Entre os campos core dos eventos estão:
eventType entityId observedAt source
Também existe histórico persistente de sinais de saúde e avisos de qualidade.
Quando necessário, o RUN_SUMMARY pode indicar:
qualityAlert warnings sourceUnavailable
Esses campos ajudam consumidores automatizados a distinguir um resultado normal de uma execução que merece revisão.
Limites honestos
Não é informação em tempo real
Os dados dependem da atualização dos espelhos públicos consultados.
observedAt indica quando o Actor observou a informação, não necessariamente o instante em que a Receita Federal registrou a mudança original.
Capital social não é monitorado
O capital social ficou fora do diff porque fontes públicas podem divergir no valor ou na representação do mesmo cadastro.
O Actor prefere não emitir um alerta a emitir um falso positivo.
Simples e MEI não são monitorados
Campos como:
opcaoSimples opcaoMei
podem ser representados de forma diferente entre fontes, incluindo diferenças entre null e false.
Eles não entram no diff atual.
Email e telefone não são monitorados
A disponibilidade e a normalização desses dados variam entre as fontes usadas.
Eles ficam fora do contrato de mudança deste Actor.
Faixa etária de sócio não é monitorada
A faixa etária pode mudar apenas com o passar do tempo, mesmo sem qualquer alteração societária.
Por isso ela não participa da comparação do quadro societário.
CPF de sócio permanece mascarado
O Actor não tenta reconstruir, revelar ou desmascarar identificadores pessoais que a fonte pública entrega de forma mascarada.
Um CNPJ ausente na fonte não prova encerramento
Uma resposta de ausência pode refletir diferença de cobertura ou atualização da fonte.
Por isso o Actor registra o caso no resumo e evita gerar automaticamente um falso evento de encerramento.
A fonte de fallback pode tornar a execução lenta
Quando cnpjws é usada, o intervalo aplicado pelo Actor para respeitar o limite da fonte pode aumentar bastante o tempo total.
Uma lista de dezenas de CNPJs pode levar vários minutos quando essa fonte assume a cadeia.
O Actor não substitui análise jurídica, fiscal, de crédito ou compliance
Os eventos são sinais cadastrais estruturados.
Antes de tomar decisões relevantes, valide as informações necessárias nas fontes oficiais e aplique suas próprias políticas, controles e revisão humana quando apropriado.
Perguntas frequentes
Por que a primeira execução não trouxe eventos?
Porque a primeira leitura de cada CNPJ cria a linha de base.
A partir da próxima leitura compatível, o Actor compara os snapshots e emite apenas as mudanças detectadas.
Quantos CNPJs posso monitorar por execução?
Até:
200
CNPJs por run.
Posso enviar CNPJ com pontuação?
Sim.
A entrada é normalizada antes da validação.
O Actor valida os dígitos verificadores?
Sim.
Ter apenas 14 dígitos não é suficiente para a entrada ser considerada válida.
O que acontece com CNPJ inválido?
Quando existe pelo menos um CNPJ válido, entradas inválidas são ignoradas e registradas como aviso.
Se nenhum CNPJ válido existir, o input é rejeitado como inválido.
Posso monitorar apenas a situação cadastral?
Sim.
Exemplo:
{"cnpjs": ["47960950000121"],"eventTypes": ["STATUS_CHANGED"]}
Posso monitorar mudança de endereço?
Sim.
Use:
ADDRESS_CHANGED
Posso monitorar CNAE?
Sim.
Use:
CNAE_CHANGED
Posso monitorar quadro societário?
Sim.
Use:
PARTNER_CHANGED
Posso monitorar razão social ou nome fantasia?
Sim.
Esses dados fazem parte de:
COMPANY_UPDATED
O Actor informa o valor anterior e o novo?
Sim.
Os eventos usam:
previous current
para mostrar os dois lados da mudança.
Trocar de fonte pode gerar evento falso?
O Actor possui proteção específica para isso.
Se a família da fonte atual for diferente da anterior, a linha de base é substituída e nenhum evento é emitido naquela janela.
O que acontece se um CNPJ não aparecer na fonte?
O caso é registrado no RUN_SUMMARY.
Ele não vira automaticamente um evento de encerramento.
Usa IA para comparar os cadastros?
Não.
As comparações são determinísticas e declaradas no código.
Preciso de login na Receita Federal?
Não.
Preciso fornecer uma chave de API da Receita Federal?
Não.
O Actor usa navegador?
Não.
O fluxo consulta fontes públicas diretamente.
Posso agendar todos os dias?
Sim.
O uso recorrente através de Apify Tasks + Schedules é um dos principais cenários deste Actor.
Meu computador precisa ficar ligado?
Não.
A execução ocorre na infraestrutura da Apify.
Posso integrar com n8n ou Make?
Sim.
Use o dataset, API da Apify, webhooks ou integrações disponíveis.
O que é RUN_SUMMARY?
É a linha gratuita de resumo operacional escrita no dataset ao final da execução.
Ela ajuda a entender o que aconteceu mesmo quando nenhum CHANGE_EVENT foi gerado.
Pelo que eu pago?
Pelos eventos configurados na página do Actor conforme o modelo Pay Per Event.
A implementação usa actor-start e change-event.
Consulte sempre a aba Pricing para os valores atuais.
O Actor tem ligação com a Receita Federal?
Não.
É um Actor comunitário não-oficial que trabalha com dados disponibilizados por fontes públicas.
Suporte
Encontrou um erro, mudança de contrato da fonte ou campo importante para este monitor?
Use os canais de suporte disponíveis na página do Actor.
Você também pode escrever para johnatan291303@gmail.com — respondemos em até 24 horas.
Parte da suíte JM Forge
Também do mesmo desenvolvedor:
Consulta CNPJ Brasil e Empresas por CNAE — consulte CNPJs e pesquise empresas brasileiras usando dados cadastrais públicos.
Google Maps Business Leads Scraper — extraia dados públicos de empresas do Google Maps para pesquisa de mercado, prospecção e CRM.
ATS Hiring Signals — Greenhouse, Lever & Ashby — monitore vagas recentes publicadas em APIs públicas de ATS para pesquisa e sinais de contratação.