Consultar a dívida ativa da União de um CNPJ pela API
Para consultar a dívida ativa da União de um CNPJ, o caminho oficial e gratuito é a Dívida Aberta, da Procuradoria-Geral da Fazenda Nacional (PGFN): uma consulta por vez, numa página com verificação contra robôs. Para triagem automática de muitos CNPJs, a CNPJAPI informa por API, nos planos pagos, se a empresa constava em cobrança na última base trimestral que a PGFN publica em dados abertos, e não a situação de hoje. A informação vem em toda consulta de CNPJ, no mesmo JSON dos dados cadastrais, sem chamada extra e sem custo adicional. Nenhuma das duas substitui a certidão de regularidade fiscal.
É um sinal útil antes de vender a prazo, liberar crédito ou fechar com um fornecedor.
O que é a dívida ativa da União
A dívida ativa da União é o conjunto de débitos com a União, e também com o FGTS, que não foram pagos no prazo e que a PGFN inscreveu para cobrança. A base tem três partes: tributos federais e multas (não previdenciária), contribuições previdenciárias e FGTS. Uma inscrição pode ser cobrada na justiça (execução fiscal). Ela muda de situação quando é parcelada, garantida ou suspensa por decisão judicial, e deixa de constar em cobrança quando é paga, cancelada ou extinta por outro motivo. Débito que ainda não foi inscrito não entra nessa base.
Formas de consultar
| Critério | Dívida Aberta (PGFN) | Dados abertos da PGFN | CNPJAPI |
|---|---|---|---|
| Para quê | Conferir uma empresa | Baixar a base inteira | Triagem automática por API |
| Atualização | Mais recente que a base trimestral | Trimestral | Trimestral, com o mês da extração |
| Volume | Uma consulta por vez | Arquivos CSV compactados, milhões de linhas | Um CNPJ por chamada ou até 20 no lote |
| Busca | Por CNPJ, CPF ou nome | Sem busca (arquivo inteiro) | Pela raiz do CNPJ (a empresa inteira) |
| Verificação contra robôs | Sim | Não | Não (acesso por API key) |
| Formato | Página web | CSV | JSON |
| Custo | Gratuito | Gratuito | Incluso nos planos pagos |
Para triagem de cadastros e carteiras, a API evita baixar e processar os arquivos a cada trimestre.
Cinco pontos antes de usar
- Fonte: a base de dados abertos da dívida ativa da União, publicada pela PGFN. Toda resposta traz
"Fonte": "PGFN, dados abertos da dívida ativa da União". - Data: a PGFN publica a base a cada trimestre. A resposta traz o mês da extração (
Referencia) e a data em que a PGFN publicou o lote (PublicadoEm). - Defasagem: o dado é uma fotografia da data da extração e tem, em geral, de 3 semanas a cerca de 4 meses; se a publicação atrasar, até 5 meses depois do mês de referência, quando o bloco passa a vir indisponível. Pagamentos, parcelamentos, garantias e decisões judiciais posteriores à extração não aparecem; inscrições feitas depois também não.
- Onde conferir a situação atual: na consulta oficial da PGFN, a Dívida Aberta. Para pedir a revisão de uma inscrição, o canal é o REGULARIZE.
- Não é certidão: a informação não substitui a certidão de regularidade fiscal.
Como funciona
Faça a consulta normal de CNPJ (GET /{cnpj}) com a API key de um plano pago. A resposta ganha o campo DividaAtiva no fim do JSON, depois de Sancoes. Para uma empresa com inscrições, fica assim (CNPJ e valores fictícios):
curl https://api.cnpjapi.com.br/98765432000198 \
-H "Authorization: Bearer cnpj_sua_chave"
"DividaAtiva": {
"Fonte": "PGFN, dados abertos da dívida ativa da União",
"Referencia": "2026-09",
"PublicadoEm": "2026-10-21",
"ConstavaEmCobranca": true,
"EmCobranca": {
"Inscricoes": 12,
"ValorConsolidado": 184532.17,
"Ajuizadas": 3,
"PorBase": {
"NaoPrevidenciaria": { "Inscricoes": 9, "ValorConsolidado": 150210.40 },
"Previdenciaria": { "Inscricoes": 2, "ValorConsolidado": 30101.77 },
"FGTS": { "Inscricoes": 1, "ValorConsolidado": 4220.00 }
}
},
"SituacaoRegular": {
"BeneficioFiscal": { "Inscricoes": 2, "ValorConsolidado": 20400.00 },
"Garantia": { "Inscricoes": 0, "ValorConsolidado": 0.00 },
"SuspensaDecisaoJudicial": { "Inscricoes": 1, "ValorConsolidado": 8000.00 },
"EmNegociacao": { "Inscricoes": 0, "ValorConsolidado": 0.00 }
},
"CNPJsRegistrados": ["98765432000198"]
}
Quatro pontos para ler a resposta direito:
ConstavaEmCobrancafala da data da extração, não de hoje.truequer dizer que havia ao menos uma inscrição em cobrança no lote deReferencia.- Situação regular não conta como em cobrança. Inscrições parceladas ou em moratória (benefício fiscal), garantidas, suspensas por decisão judicial ou em negociação vêm separadas em
SituacaoRegular, com quantidade e valor, e não entram emEmCobranca. - A busca é pela raiz do CNPJ. Tributo federal costuma ser lançado no CNPJ da matriz: a consulta de qualquer estabelecimento traz as inscrições da empresa inteira, e
CNPJsRegistradosdiz quais CNPJs da raiz constam na base. Só entram inscrições em que a empresa é a devedora principal. - Valores na data da extração.
ValorConsolidadoé o débito com os acréscimos legais naquela data, em reais;Ajuizadasconta as inscrições em cobrança que estão em execução fiscal.
Quando a empresa não aparece na base, o bloco vem com ConstavaEmCobranca: false, as contagens zeradas, a mesma Referencia e o PublicadoEm. Leia como "não constava em cobrança na extração de setembro de 2026", e não como "sem dívida".
Exemplo em código
Os exemplos Node usam
fetchnativo (Node 18+) eawaitno nível superior - rode como módulo ES (arquivo.mjs, ou"type": "module"nopackage.json), ou envolva o código numa funçãoasync.
Python:
import requests
cnpj = "98765432000198"
r = requests.get(
f"https://api.cnpjapi.com.br/{cnpj}",
headers={"Authorization": "Bearer cnpj_sua_chave"},
timeout=10,
)
r.raise_for_status()
empresa = r.json()
divida = empresa.get("DividaAtiva")
if divida is None:
# plano gratuito ("DividaAtivaDisponivelEm") ou verificação indisponível agora ("DividaAtivaErro")
print("Dívida ativa não verificada:", empresa.get("DividaAtivaDisponivelEm") or empresa.get("DividaAtivaErro"))
elif divida["ConstavaEmCobranca"]:
cobranca = divida["EmCobranca"]
print(f'Constava em cobrança na extração de {divida["Referencia"]}:',
cobranca["Inscricoes"], "inscrições, R$", cobranca["ValorConsolidado"])
else:
print(f'Não constava em cobrança na extração de {divida["Referencia"]} (publicada em {divida["PublicadoEm"]})')
Node.js:
const cnpj = "98765432000198";
const r = await fetch(`https://api.cnpjapi.com.br/${cnpj}`, {
headers: { Authorization: "Bearer cnpj_sua_chave" },
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
const empresa = await r.json();
const divida = empresa.DividaAtiva;
if (divida === null || divida === undefined) {
console.log("Dívida ativa não verificada:", empresa.DividaAtivaDisponivelEm ?? empresa.DividaAtivaErro);
} else if (divida.ConstavaEmCobranca) {
const { Inscricoes: inscricoes, ValorConsolidado } = divida.EmCobranca;
console.log(`Constava em cobrança na extração de ${divida.Referencia}:`, inscricoes, "inscrições, R$", ValorConsolidado);
} else {
console.log(`Não constava em cobrança na extração de ${divida.Referencia} (publicada em ${divida.PublicadoEm})`);
}
Quando o bloco não vem
- Plano gratuito:
"DividaAtiva": nulle"DividaAtivaDisponivelEm": "planos_pagos". Os dados do CNPJ vêm normalmente. - Verificação indisponível no momento:
"DividaAtiva": nulle"DividaAtivaErro": "indisponivel". Também é o que vem quando o lote servido passa de 5 meses sem um lote mais novo carregado (a PGFN atrasou a publicação ou o lote seguinte ainda não foi carregado), para não servir dado velho. A consulta do CNPJ não é afetada. - Formato ReceitaWS (
?formato=receitawsou/v1/cnpj/{cnpj}): o campo não existe.
Muitos CNPJs de uma vez
No lote (POST /consulta/lote, até 20 CNPJs por chamada), cada item encontrado traz o mesmo bloco dentro de Dados. Bom para revisar a carteira de clientes inteira de uma vez.
Perguntas frequentes
De quando é a informação da dívida ativa?
A PGFN publica a base a cada trimestre, e toda consulta mostra o mês da extração (Referencia) e a data da publicação (PublicadoEm). Entre uma publicação e outra, a informação pode estar defasada em até cerca de 4 meses.
A empresa já pagou ou parcelou a dívida. Por que ainda aparece?
Porque a base da PGFN é de uma data anterior ao pagamento ou ao parcelamento; a situação atualiza na próxima publicação trimestral. A situação atual se confere na Dívida Aberta da PGFN, e o pedido de revisão de uma inscrição se faz no REGULARIZE.
Parcelamento conta como dívida?
Não. Inscrições parceladas, garantidas, suspensas por decisão judicial ou em negociação aparecem separadas, como situação regular, e não contam como em cobrança.
Não constar na base quer dizer que a empresa não tem dívida?
Não. Quer dizer que ela não constava em cobrança na extração daquele mês. Inscrições posteriores não aparecem, e a base não inclui débitos ainda não inscritos em dívida ativa.
A consulta substitui a certidão negativa?
Não. Para isso, emita a certidão de regularidade fiscal nos canais oficiais.
Cuidados
- Os dados vêm da base oficial da PGFN, somados por raiz de CNPJ, sem alterar situação nem valores; não são juízo da CNPJAPI sobre a empresa.
- Use a informação como um sinal com data, não como a situação de hoje. Para decisões que dependem da situação atual, confira na fonte oficial.
Próximos passos
- Dicionário de campos da consulta
- Verificar sanções e embargos (CEIS, CNEP, IBAMA)
- Consultar parcelamentos com a Receita Federal - os parcelamentos feitos na Receita, antes da inscrição
- Listas de empresas com filtro de dívida ativa
- Consultar CNPJs em lote
- Limites e planos