Consultar um CNPJ
O endpoint principal da CNPJAPI recebe um CNPJ e devolve os dados cadastrais da empresa em JSON, com base nos dados públicos da Receita Federal.
- Método e caminho:
GET /{cnpj} - Base URL:
https://api.cnpjapi.com.br - Parâmetro: os 14 caracteres do CNPJ, sem pontuação (ex.:
00776574000156). Aceita também o CNPJ alfanumérico, em maiúsculas ou minúsculas; nele, a API confere o dígito verificador (com o dígito errado, a resposta é422). Máscara com.e/não é aceita no caminho. - Autenticação: API key no cabeçalho
Authorization(veja Autenticação).
Exemplo (curl)
curl https://api.cnpjapi.com.br/00776574000156 \
-H "Authorization: Bearer cnpj_sua_chave"
Exemplos por linguagem
Prefere copiar e colar no seu stack? Os guias trazem o mesmo endpoint com autenticação e tratamento de 429/Retry-After prontos:
Quer testar sem escrever nada? Abra a coleção no Postman e rode as chamadas no navegador (é só informar sua chave).
Resposta (200 OK, application/json)
{
"CNPJ": "00.776.574/0001-56",
"RazaoSocial": "...",
"NomeFantasia": "...",
"MatrizFilial": { "Codigo": "1", "Descricao": "Matriz" },
"Porte": { "Codigo": "05", "Descricao": "Demais" },
"DataAbertura": "0000-00-00",
"AtividadePrincipal": { "Codigo": "0000000", "Descricao": "..." },
"AtividadesSecundarias": [ { "Codigo": "0000000", "Descricao": "..." } ],
"NaturezaJuridica": { "Codigo": "0000", "Descricao": "..." },
"SituacaoCadastral": { "Codigo": "02", "Descricao": "ATIVA", "Motivo": "...", "Data": "0000-00-00" },
"SimplesNacional": "...",
"Endereco": {
"TipoLogradouro": "...", "Logradouro": "...", "Numero": "...",
"Complemento": "...", "Bairro": "...", "CEP": "...", "Municipio": "...", "UF": "..."
},
"Municipio": { "SIAFI": "...", "IBGE": "...", "Nome": "..." },
"Contato": { "DDD1": "...", "Telefone1": "...", "Email": "...", "DDD2": "...", "Telefone2": "..." },
"QSA": [
{ "Nome": "...", "Tipo": "...", "CPFCNPJ": "...", "Qualificacao": "...", "DataEntradaSociedade": "0000-00-00", "FaixaEtaria": "..." }
],
"CapitalSocial": 0,
"UltimaAtualizacao": "0000-00-00",
"EFR": "..."
}
Campos da resposta
| Campo | Descrição |
|---|---|
CNPJ |
CNPJ consultado, com máscara (ex.: 00.776.574/0001-56) |
RazaoSocial |
Razão social |
NomeFantasia |
Nome fantasia |
SituacaoCadastral |
Situação cadastral (Codigo, Descricao, Motivo, Data) |
AtividadePrincipal |
CNAE principal (Codigo, Descricao) |
AtividadesSecundarias |
Lista de CNAEs secundários |
NaturezaJuridica |
Natureza jurídica (Codigo, Descricao) |
Endereco |
Logradouro, número, complemento, bairro, CEP, município, UF |
Municipio |
Município (SIAFI, IBGE, Nome) |
Contato |
Telefones e e-mail, quando disponíveis |
QSA |
Quadro societário: sócios (Nome, Tipo, CPFCNPJ, Qualificacao, ...) |
CapitalSocial |
Capital social |
Porte / MatrizFilial / SimplesNacional |
Metadados cadastrais |
Sancoes |
Sanções e embargos da empresa (CGU e IBAMA), nos planos pagos. Veja a seção "Sanções e embargos" abaixo |
Consultar muitos CNPJs
Tem um plano pago? Consulte até 20 CNPJs numa só chamada com POST /consulta/lote - conta como 1 requisição pro rate limit. Sem plano pago, ou para consultas avulsas, chame GET /{cnpj} uma vez por CNPJ, respeitando os limites do seu plano (requisições por minuto e cota mensal). Ao exceder, a API responde 429 com Retry-After - use esse valor para pausar antes de continuar.
Inscrição Estadual junto (opcional)
Precisa da Inscrição Estadual junto com os dados cadastrais? Acrescente ?incluir=ie: a resposta ganha o campo InscricoesEstaduais (lista por UF, na fonte oficial da SEFAZ). É um recurso premium: exige conta registrada (uma chamada anônima com ?incluir=ie recebe 401), consome cota/crédito de IE e vale só no formato nativo.
curl "https://api.cnpjapi.com.br/00776574000156?incluir=ie" \
-H "Authorization: Bearer cnpj_sua_chave"
| Campo | Descrição |
|---|---|
InscricoesEstaduais |
Lista de inscrições por UF (UF, IE, Indicador, Situacao, Tipo, ...). Use ?ie_uf=SP para mirar uma UF (1 crédito); sem ela, varredura nacional (3 créditos) |
InscricoesEstaduaisUFsDaBase |
UFs em que a SEFAZ não respondeu e InscricoesEstaduais traz o último dado consultado (cada item tem ConsultadoEm). Vazio no caso normal. Veja "Quando a SEFAZ não responde" em Consultar a Inscrição Estadual |
InscricoesEstaduaisUFsIndisponiveis |
UFs que não puderam ser consultadas agora; a lista não inclui essas UFs. Vazio no caso normal |
InscricoesEstaduaisErro |
Presente só quando a IE falhou: InscricoesEstaduais vem null e este campo traz o motivo (indisponivel, ou cnpj_alfanumerico para CNPJ alfanumérico, que a SEFAZ ainda não aceita). Nesse caso a IE não é cobrada (e, no cnpj_alfanumerico, não é exigido plano com IE) |
Contrato completo, campos e créditos em Consultar a Inscrição Estadual.
Sanções e embargos (planos pagos)
Nos planos pagos, toda consulta no formato nativo traz o campo Sancoes, sem parâmetro extra e sem custo adicional: diz se a empresa consta nos cadastros de sanções da CGU (CEIS, CNEP, CEPIM e acordos de leniência em execução) e nas áreas embargadas pelo IBAMA. A CGU atualiza o CEIS, o CNEP e os acordos de leniência várias vezes ao dia, e o CEPIM e o IBAMA, diariamente; a CNPJAPI coleta as fontes a cada 6 horas, e cada uma vem com a data do arquivo carregado.
O exemplo abaixo é fictício (o CNPJ não existe na Receita). A busca é pela raiz do CNPJ (os 8 primeiros caracteres): a consulta de qualquer estabelecimento traz os registros da empresa inteira, matriz e filiais, e cada registro diz em CNPJRegistrado qual CNPJ consta no cadastro.
"Sancoes": {
"PossuiRegistros": true,
"Fontes": [
{ "Fonte": "CEIS", "AtualizadoEm": "2026-10-23" },
{ "Fonte": "CNEP", "AtualizadoEm": "2026-10-23" },
{ "Fonte": "CEPIM", "AtualizadoEm": "2026-10-22" },
{ "Fonte": "LENIENCIA", "AtualizadoEm": "2026-10-23" },
{ "Fonte": "IBAMA_EMBARGO", "AtualizadoEm": "2026-10-23" }
],
"Itens": [
{
"Fonte": "IBAMA_EMBARGO",
"CNPJRegistrado": "98765432000279",
"Tipo": "Termo de embargo",
"Numero": "...",
"Municipio": "...",
"UF": "...",
"AreaHectares": 12.5,
"Descricao": "...",
"AutoInfracao": "...",
"DataInicio": "2026-10-01",
"DataFim": null
}
]
}
| Campo | Descrição |
|---|---|
Sancoes.PossuiRegistros |
true quando há ao menos um registro vigente; false quando nada consta |
Sancoes.Fontes |
Fontes consultadas e a data de atualização de cada uma (Fonte, AtualizadoEm) |
Sancoes.Itens[].Fonte |
CEIS, CNEP, CEPIM, LENIENCIA ou IBAMA_EMBARGO |
Sancoes.Itens[].CNPJRegistrado |
CNPJ completo que consta no cadastro (pode ser outro estabelecimento da mesma empresa) |
Sancoes.Itens[].Tipo |
Tipo do registro (ex.: inidoneidade, impedimento, multa, termo de embargo) |
Sancoes.Itens[].DataInicio / DataFim |
Período do registro; sempre presentes, null quando não há. Registro vencido não aparece |
| Campos do CEIS e do CNEP | Orgao, Esfera, UFOrgao, Abrangencia, Fundamentacao, Processo; ValorMulta (só CNEP, quando há multa) |
| Campos do CEPIM | Orgao, Convenio, Motivo |
| Campos da leniência | Orgao, Processo, Situacao, Efeitos, Descricao (termos do acordo) |
| Campos do IBAMA | Numero, Processo, Municipio, UF, AreaHectares, Descricao, AutoInfracao, PossuiDecisaoJudicial, DecisaoJudicialTipo e DecisaoJudicialData (a decisão mais recente) |
| CPF em textos | Em Descricao, CPF citado vem mascarado (***.***.***-**) |
Quando o campo não traz o bloco:
- Plano gratuito:
"Sancoes": nulle"SancoesDisponivelEm": "planos_pagos". - Verificação indisponível no momento:
"Sancoes": nulle"SancoesErro": "indisponivel". Os dados do CNPJ vêm normalmente; a consulta nunca falha por causa das sanções.
O bloco também vem em cada item encontrado do lote (dentro de Dados) e não existe no formato ReceitaWS. Os registros republicam os cadastros oficiais e não são juízo da CNPJAPI sobre a empresa. Passo a passo em Verificar sanções e embargos de um CNPJ.
Dívida ativa da União (planos pagos)
Nos planos pagos, toda consulta no formato nativo traz também o campo DividaAtiva, sem parâmetro extra e sem custo adicional: as inscrições da empresa na dívida ativa da União, como constam na base que a PGFN (Procuradoria-Geral da Fazenda Nacional) publica em dados abertos. Antes de usar, leia estes cinco pontos:
- Fonte: "PGFN, dados abertos da dívida ativa da União", no campo
Fontede toda resposta. - Data: a PGFN publica a base a cada trimestre.
Referenciaé o mês da extração ePublicadoEm, a data em que a PGFN publicou o lote. - 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 (Dívida Aberta) e, para pedir a revisão de uma inscrição, no REGULARIZE.
- Não é certidão: a informação não substitui a certidão de regularidade fiscal.
O exemplo abaixo é fictício (CNPJ e valores fictícios). A busca é pela raiz do CNPJ (os 8 primeiros caracteres): tributo federal costuma ser lançado no CNPJ da matriz, então a consulta de qualquer estabelecimento traz as inscrições da empresa inteira, e CNPJsRegistrados diz quais CNPJs da raiz constam na base. Só entram inscrições em que a empresa é a devedora principal.
"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"]
}
| Campo | Descrição |
|---|---|
DividaAtiva.Fonte |
Sempre "PGFN, dados abertos da dívida ativa da União" |
DividaAtiva.Referencia |
Mês da extração (AAAA-MM) |
DividaAtiva.PublicadoEm |
Data em que a PGFN publicou o lote (AAAA-MM-DD) |
DividaAtiva.ConstavaEmCobranca |
true quando havia ao menos uma inscrição em cobrança na extração de Referencia. Diz respeito à data da extração, não a hoje |
DividaAtiva.EmCobranca |
Inscrições em cobrança: quantidade, valor consolidado na data da extração (em reais), quantas estão ajuizadas e a divisão por base (não previdenciária, previdenciária e FGTS) |
DividaAtiva.SituacaoRegular |
Inscrições em situação regular na data da extração, que não contam como em cobrança: benefício fiscal (parcelamento ou moratória), garantia, suspensa por decisão judicial e em negociação |
DividaAtiva.CNPJsRegistrados |
CNPJs completos da raiz que constam na base do lote, com inscrição em cobrança ou em situação regular |
Quando a empresa não aparece na base, o bloco vem com ConstavaEmCobranca: false, as contagens zeradas, CNPJsRegistrados: [], a 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". A base não traz débitos ainda não inscritos em dívida ativa.
Quando o campo não traz o bloco:
- Plano gratuito:
"DividaAtiva": nulle"DividaAtivaDisponivelEm": "planos_pagos". - Verificação indisponível no momento (inclusive quando o lote servido passa de 5 meses sem um lote mais novo carregado, porque a PGFN atrasou a publicação ou o lote seguinte ainda não foi carregado):
"DividaAtiva": nulle"DividaAtivaErro": "indisponivel". Os dados do CNPJ vêm normalmente; a consulta nunca falha por causa da dívida ativa.
O bloco também vem em cada item encontrado do lote (dentro de Dados) e não existe no formato ReceitaWS. Os dados vêm da base oficial da PGFN, somados por raiz de CNPJ, sem alterar situação nem valores, e não são juízo da CNPJAPI sobre a empresa. Passo a passo e perguntas frequentes em Consultar a dívida ativa da União de um CNPJ.
Parcelamentos ativos com a Receita Federal (planos pagos)
Nos planos pagos, toda consulta no formato nativo traz também o campo ParcelamentosRFB, depois de DividaAtiva, sem parâmetro extra e sem custo adicional: os parcelamentos ativos da empresa com a Receita Federal, por tipo, como constam na base que a Receita publica em dados abertos. É outra base que a da dívida ativa: são débitos parcelados na Receita, antes de ir para a PGFN; o parcelamento de dívida já inscrita aparece no bloco DividaAtiva, como situação regular (benefício fiscal). Antes de usar, leia estes sete pontos:
- Fonte: "Receita Federal, dados abertos de parcelamentos ativos", no campo
Fontede toda resposta. - Data: a Receita publica a base todo mês, entre os dias 20 e 31.
PublicadoEmé a data em que a Receita publicou a base (não há mês de referência). - Defasagem: o dado é uma foto da data da extração e pode ter até cerca de dois meses. Quitações, rescisões (inclusive por atraso) e pedidos feitos depois da publicação não aparecem até a publicação seguinte.
- Onde conferir a situação atual: a certidão de regularidade fiscal (Receita e PGFN) mostra a regularidade atual de qualquer CNPJ, mas não lista parcelamentos; o detalhe dos parcelamentos só a própria empresa vê, no e-CAC.
- Não é certidão: a informação não substitui a certidão de regularidade fiscal.
- Parcelamento não é irregularidade: o parcelamento em dia, por si só, não impede a certidão positiva com efeitos de negativa.
- Sem informação de atraso: a base não diz se há parcela em atraso; o saldo inclui as parcelas vencidas e as que ainda vão vencer.
O exemplo abaixo é fictício (CNPJ e valores fictícios). A busca é pela raiz do CNPJ (os 8 primeiros caracteres): a consulta de qualquer estabelecimento traz os parcelamentos da empresa inteira, e CNPJsRegistrados diz quais CNPJs da raiz constam na base.
"ParcelamentosRFB": {
"Fonte": "Receita Federal, dados abertos de parcelamentos ativos",
"PublicadoEm": "2026-10-27",
"ConstavaParcelamentoAtivo": true,
"Parcelamentos": 2,
"ValorParcelado": 412300.50,
"SaldoDevedor": 301455.12,
"PorTipo": {
"MEI": { "Parcelamentos": 0, "ValorParcelado": 0.00, "SaldoDevedor": 0.00 },
"SimplesNacional": { "Parcelamentos": 0, "ValorParcelado": 0.00, "SaldoDevedor": 0.00 },
"OrdinarioSimplificado": { "Parcelamentos": 1, "ValorParcelado": 142756.79, "SaldoDevedor": 133332.08 },
"Especial": { "Parcelamentos": 1, "ValorParcelado": 269543.71, "SaldoDevedor": 168123.04, "Modalidades": ["PERT"] },
"OrgaoPublico": { "Parcelamentos": 0, "ValorParcelado": 0.00, "SaldoDevedor": 0.00, "Modalidades": [] }
},
"CNPJsRegistrados": ["98765432000198"]
}
| Campo | Descrição |
|---|---|
ParcelamentosRFB.Fonte |
Sempre "Receita Federal, dados abertos de parcelamentos ativos" |
ParcelamentosRFB.PublicadoEm |
Data em que a Receita publicou a base (AAAA-MM-DD) |
ParcelamentosRFB.ConstavaParcelamentoAtivo |
true quando a empresa estava na base de parcelamentos ativos publicada em PublicadoEm, inclusive com saldo zero. Diz respeito à data da publicação, não a hoje |
ParcelamentosRFB.Parcelamentos |
Quantidade de parcelamentos ativos da raiz, somando os cinco tipos |
ParcelamentosRFB.ValorParcelado |
Valor parcelado, em reais, somando os cinco tipos |
ParcelamentosRFB.SaldoDevedor |
Saldo corrigido até a extração, em reais, somando as parcelas vencidas e as que ainda vão vencer |
ParcelamentosRFB.PorTipo |
Os cinco tipos, sempre presentes (zerados quando não há): MEI, SimplesNacional, OrdinarioSimplificado, Especial (soma os especiais de pessoa jurídica, do Simples e do MEI, como PERT e RELP) e OrgaoPublico, cada um com Parcelamentos, ValorParcelado e SaldoDevedor. Especial e OrgaoPublico trazem também Modalidades, com os nomes que a Receita publica |
ParcelamentosRFB.CNPJsRegistrados |
CNPJs completos da raiz que constam na base |
A resposta não traz a data de adesão do parcelamento nem a quantidade de parcelas. Quando a empresa não aparece na base, o bloco vem com ConstavaParcelamentoAtivo: false, os totais e os cinco tipos zerados, CNPJsRegistrados: [] e o PublicadoEm: leia como "não tinha parcelamento ativo na base publicada pela Receita em 27/10/2026", e não como "sem dívida". Débitos não parcelados, ainda não declarados ou já inscritos em dívida ativa não entram nesta base.
Quando o campo não traz o bloco:
- Plano gratuito (ou plano pago encerrado):
"ParcelamentosRFB": nulle"ParcelamentosRFBDisponivelEm": "planos_pagos". - Verificação indisponível no momento (inclusive quando a base servida passa de 70 dias da publicação sem uma base mais nova carregada, porque a Receita atrasou a publicação ou a base seguinte ainda não foi carregada):
"ParcelamentosRFB": nulle"ParcelamentosRFBErro": "indisponivel". Os dados do CNPJ vêm normalmente; a consulta nunca falha por causa dos parcelamentos.
O bloco também vem em cada item encontrado do lote (dentro de Dados) e não existe no formato ReceitaWS. Os dados vêm da base oficial da Receita, somados por raiz de CNPJ e por tipo, sem alterar os valores, e não são juízo da CNPJAPI sobre a empresa. Passo a passo e perguntas frequentes em Consultar parcelamentos de um CNPJ com a Receita Federal.
Formato ReceitaWS
Já integra a ReceitaWS? A CNPJAPI também responde no formato dela, campo a campo - basta usar GET /v1/cnpj/{cnpj} ou GET /{cnpj}?formato=receitaws. Veja Compatível com a ReceitaWS.
Próximos passos
- Autenticação - gere sua API key.
- Consultar CNPJs em lote - até 20 numa só chamada (plano pago).
- Consultar a Inscrição Estadual - a IE por CNPJ, na fonte oficial.
- Verificar sanções e embargos - CEIS, CNEP e embargos do IBAMA em toda consulta (plano pago).
- Consultar parcelamentos com a Receita - parcelamentos ativos por tipo, com a data da publicação (plano pago).
- Compatível com a ReceitaWS - migre trocando só o host.
- Limites e planos - quantas consultas seu plano permite.
- Consultar a cota - acompanhe o consumo do mês.
- Erros - o que cada código de status significa.
Crie sua conta gratuita em https://app.cnpjapi.com.br e faça a primeira consulta em minutos.