Sobre esta API
Ficha completa de um CNPJ, consultada na Receita Federal no momento da chamada: razão social, situação cadastral e situação especial, CNAE principal e secundários, natureza jurídica, porte, capital social, endereço, contato e o quadro de sócios e administradores.
Envie o CNPJ em cnpj, com ou sem pontuação. Os campos vêm com os nomes e no formato em que a Receita publica, e os normalizado_* trazem datas, CEP e capital social prontos para uso; consulta_datahora diz quando a Receita respondeu.
CNPJ válido que a Receita não tem volta com found: false e é cobrado: a consulta foi feita. CNPJ com dígito verificador inválido volta 422 e não é cobrado.
Receita Federal — consulta na hora · Atualização: tempo real
Requisição
GET /api/v1/cnpj/plusAutenticação HTTP Basic: public_key:secret_key em Base64. Guarde a chave secreta no servidor.
| Cabeçalho | Descrição |
|---|---|
AuthorizationObrigatório | Chave de API em Basic: public_key:secret_key em Base64. |
X-Project-IdOpcional | Projeto que recebe a chamada. Sem ele, vale o projeto padrão da conta. |
Idempotency-KeyOpcional | Repetir a mesma chave em até 24 horas devolve a resposta anterior, sem executar nem cobrar de novo. |
Parâmetros
| Campo | Tipo e local | Descrição |
|---|---|---|
cnpjObrigatório | stringquery | Com ou sem pontuação. O dígito verificador é conferido antes da consulta. Exemplo: |
curl --request GET 'https://api.apifordevs.com/api/v1/cnpj/plus?cnpj=49670293000103' \
--user "afd_live_pk_...:$AFD_SECRET_KEY" \
--header "X-Project-Id: $AFD_PROJECT_ID"
import os
import requests
response = requests.request(
"GET",
"https://api.apifordevs.com/api/v1/cnpj/plus?cnpj=49670293000103",
auth=("afd_live_pk_...", os.environ["AFD_SECRET_KEY"]),
headers={"X-Project-Id": os.environ["AFD_PROJECT_ID"]},
timeout=30,
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apifordevs.com/api/v1/cnpj/plus?cnpj=49670293000103", {
method: "GET",
headers: {
Authorization: "Basic " + Buffer.from(
"afd_live_pk_...:" + process.env.AFD_SECRET_KEY
).toString("base64"),
"X-Project-Id": process.env.AFD_PROJECT_ID,
},
signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
Campos de resposta
Campos e tipos publicados no catálogo desta API.
- Encontrado
foundboolean - CNPJ
cnpjstring - Como a Receita escreve:
49.670.293/0001-03. - CNPJ (só dígitos)
normalizado_cnpjstring - Só os 14 dígitos.
- Razão social
razao_socialstring - Nome fantasia
nome_fantasiastring - Matriz ou filial
matriz_filialstring - Data de abertura
abertura_datastring - Natureza jurídica
natureza_juridicastring - Código da natureza jurídica
natureza_juridica_codigostring - Porte
portestring - Capital social
capital_socialstring - Atividade principal (CNAE)
atividade_economicastring
- Atividades secundárias
atividade_economica_secundariastring - Atividades secundárias (lista)
atividade_economica_secundaria_listaarray - Logradouro
endereco_logradourostring - Número
endereco_numerostring - Complemento
endereco_complementostring - Bairro
endereco_bairrostring - CEP
endereco_cepstring - Município
endereco_municipiostring - UF
endereco_ufstring - E-mail
emailstring - Telefone
telefonestring - Ente federativo responsável
efrstring - Ente federativo responsável, em natureza jurídica pública.
- Situação cadastral
situacao_cadastralstring - Data da situação
situacao_cadastral_datastring - Motivo da situação
situacao_cadastral_observacoesstring - Situação especial
situacao_especialstring - Data da situação especial
situacao_especial_datastring - Sócios e administradores
qsaarray - Quadro de sócios e administradores.
- Certidão de baixa
certidao_baixaobject - Licenciamento dispensado
licenciamento_dispensadoarray - Data de constituição
constituicao_datastring - Data de inscrição
inscricao_datastring - Data e hora da consulta
consulta_datahorastring - Quando a Receita foi consultada.
- Data de abertura (normalizada)
normalizado_abertura_datastring - Capital social (número)
normalizado_capital_socialnumber - Data e hora da consulta (normalizada)
normalizado_consulta_datahorastring - CEP (só dígitos)
normalizado_endereco_cepstring - Data da situação (normalizada)
normalizado_situacao_cadastral_datastring - Data da situação especial (normalizada)
normalizado_situacao_especial_datastring - Nome
qsa[].nomestring - Qualificação
qsa[].qualificacaostring - Representante legal
qsa[].nome_representante_legalstring - Qualificação do representante
qsa[].qualificacao_representante_legalstring - País de origem
qsa[].pais_origemstring
Exemplo de resposta
{
"success": true,
"code": 200,
"code_message": "A requisição foi processada com sucesso.",
"errors": [],
"header": null,
"data_count": 1,
"data": [
{
"found": true,
"cnpj": "49.670.293/0001-03",
"normalizado_cnpj": "49670293000103",
"razao_social": "COIN NODES LTDA",
"nome_fantasia": "COIN NODES",
"matriz_filial": "MATRIZ",
"abertura_data": "22/02/2023",
"natureza_juridica": "206-2 - Sociedade Empresária Limitada",
"natureza_juridica_codigo": "2062",
"porte": "ME",
"capital_social": "1.300.000,00",
"atividade_economica": "66.19-3-99 - Outras atividades auxiliares dos serviços financeiros não especificadas anteriormente",
"atividade_economica_secundaria": "74.90-1-04 - Atividades de intermediação e agenciamento de serviços e negócios em geral, exceto imobiliários",
"atividade_economica_secundaria_lista": [
"74.90-1-04 - Atividades de intermediação e agenciamento de serviços e negócios em geral, exceto imobiliários"
],
"endereco_logradouro": "AV ENG LUIZ CARLOS BERRINI",
"endereco_numero": "1748",
"endereco_complemento": "CONJ 1710",
"endereco_bairro": "CIDADE MONCOES",
"endereco_cep": "04.571-000",
"endereco_municipio": "SAO PAULO",
"endereco_uf": "SP",
"email": "CONTATO@COINNODES.TECH",
"telefone": "(11) 9830-6633",
"efr": "*****",
"situacao_cadastral": "ATIVA",
"situacao_cadastral_data": "22/02/2023",
"situacao_cadastral_observacoes": " ",
"situacao_especial": "********",
"situacao_especial_data": "********",
"qsa": [
{
"nome": "GUILHERME MELO LOIOLA DE SOUSA",
"qualificacao": "49-Sócio-Administrador",
"nome_representante_legal": "",
"qualificacao_representante_legal": "",
"pais_origem": ""
}
],
"certidao_baixa": {},
"licenciamento_dispensado": [],
"constituicao_data": "22/02/2023",
"inscricao_data": "",
"consulta_datahora": "17/10/2026 10:58:09",
"normalizado_abertura_data": "22/02/2023",
"normalizado_capital_social": 1300000,
"normalizado_consulta_datahora": "17/10/2026 10:58:09",
"normalizado_endereco_cep": "04571000",
"normalizado_situacao_cadastral_data": "22/02/2023",
"normalizado_situacao_especial_data": ""
}
]
}
Respostas e cobrança
| HTTP | Descrição | Cobrança |
|---|---|---|
200 | Sucesso. CNPJ que a Receita não tem também é 200, com found: false, e é cobrado. | Sujeita à cobrança |
400
| Arquivo ou parâmetro que a rota não consegue processar, projeto inválido, ou dev_mode=true com chave de produção. | Sem cobrança |
401
| Credencial ausente, inválida ou revogada. | Sem cobrança |
402
| Saldo insuficiente ou limite de gasto diário atingido. | Sem cobrança |
403
| E-mail da conta não verificado, chave sem escopo para o serviço, IP fora da allowlist do projeto ou chave de teste sem dev_mode=true. | Sem cobrança |
409
| Requisição com a mesma Idempotency-Key ainda em andamento. | Sem cobrança |
422
| CNPJ com dígito verificador inválido. Não é cobrada. | Sem cobrança |
429
| Limite de requisições por minuto da chave atingido. | Sem cobrança |
500
| Falha interna. | Sem cobrança |
503
| Serviço desativado (service_unavailable), ou a Receita Federal não respondeu a tempo (upstream_error). Não é cobrada; com upstream_error, pode ser repetida. | Sem cobrança |
Casos de uso
Onboarding de empresa
Abrir conta ou contrato com a situação cadastral do dia, não a do mês passado, e conferir quem assina pelo quadro de sócios.
Análise de crédito
Pesar porte, capital social, idade do CNPJ e situação especial (recuperação judicial, falência) antes de conceder limite.
Conferência de sócios
Confirmar que quem se apresenta como sócio ou administrador está no quadro da empresa na data da consulta.
Notas de integração
- O quadro de sócios traz nome de pessoa física: use com finalidade e base legal, como pede a LGPD.