Pular para o conteúdo
FiscalAPI
API & Integração

Consulta CNPJ via API REST: Tutorial Node.js, Python e cURL (2026)

Equipe FiscalAPI 7 min de leitura
TutorialGuiaNode.jsPython

Consultar CNPJ via API é uma chamada HTTP que retorna em segundos a razão social, situação cadastral, CNAE, endereço, capital social e quadro societário (QSA) de uma empresa diretamente da base da Receita Federal. Substitui consultas manuais no portal solucoes.receita.fazenda.gov.br — que exigem captcha e travam frequentemente — por uma única requisição programática integrável ao seu ERP, sistema de cadastro ou pipeline de compliance.

Este guia mostra o tutorial completo da API FiscalAPI com exemplos em cURL, Node.js e Python, quando faz sentido automatizar, estratégia de cache, e por que CNPJ raramente é suficiente sozinho — você quase sempre vai querer cruzar com Inscrição Estadual e certidões negativas.

💡
Se você precisa validar emissores e destinatários de NF-e, CNPJ é apenas o ponto de partida. A validação completa exige também consultar a Inscrição Estadual no estado de operação. Veja o guia de consulta de IE em 27 estados.

Por que automatizar consulta de CNPJ#

Validar CNPJ manualmente no portal da Receita Federal:

  • 1 consulta por vez, com captcha.
  • Sem busca por filiais — você precisa do CNPJ completo (14 dígitos).
  • Sem retorno estruturado — copia e cola manual em planilha.
  • Indisponibilidade frequente em horário comercial.

Os cenários onde automação se paga rapidamente:

  1. Cadastro de fornecedor/cliente em ERP — validar antes do cadastro evita NF-e contra empresas baixadas.
  2. Onboarding de marketplace — Mercado Livre, Magalu, Amazon Marketplace exigem CNPJ ativo para liberar o seller.
  3. Due diligence de M&A — validar quadro societário, CNAE, situação cadastral em uma carteira de targets.
  4. Compliance recorrente — checar mensalmente fornecedores ativos contra mudanças de status.
  5. Fintechs e crédito B2B — análise de crédito automatizada precisa de dados estruturados, não PDF.

Tutorial — primeira consulta em 5 minutos#

1. Criar conta + gerar API key#

Acesse fiscalapi.com.br, assine o plano apropriado (a partir de R$ 19,99/mês) e gere a chave em Configurações → API Keys. Os planos:

PlanoMensalConsultas/mês
LiteR$ 19,9930
StarterR$ 50,00500
ProR$ 130,002.000
EnterpriseR$ 250,00Ilimitado

Cada consulta CNPJ conta como 1 consulta. Quem cruza CNPJ + IE + CND consome múltiplas consultas por documento — dimensionar o plano de acordo.

2. Endpoint REST#

GET https://api.fiscalapi.com.br/api/consultar-cnpj?cnpj={cnpj}
Headers: Authorization: Bearer {API_KEY}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
cnpjstringsimCNPJ com ou sem formatação (14 dígitos)

3. cURL#

bash
curl -X GET "https://api.fiscalapi.com.br/api/consultar-cnpj?cnpj=12345678000199" \
  -H "Authorization: Bearer SUA_API_KEY"

Resposta:

json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "cnpj": "12345678000199",
  "cached": false,
  "source_status": {
    "status": "success",
    "error_code": "",
    "error_message": ""
  },
  "result": {
    "razao_social": "AGROPECUARIA BOA VISTA LTDA",
    "nome_fantasia": "FAZENDA BOA VISTA",
    "situacao_cadastral": "ATIVA",
    "data_situacao_cadastral": "2010-05-20",
    "cnae_principal_codigo": "0151-2/01",
    "cnae_principal_descricao": "CRIACAO DE BOVINOS PARA CORTE",
    "cnaes_secundarios": [
      { "codigo": "0111-3/01", "descricao": "CULTIVO DE ARROZ" }
    ],
    "natureza_juridica": "206-2 - Sociedade Empresaria Limitada",
    "capital_social": "500000.00",
    "endereco": {
      "logradouro": "ROD BR-364 KM 28",
      "numero": "S/N",
      "bairro": "ZONA RURAL",
      "municipio": "CUIABA",
      "uf": "MT",
      "cep": "78000-000"
    },
    "qsa": [
      { "nome": "JOAO DA SILVA", "qualificacao": "Socio-Administrador" }
    ],
    "porte": "PEQUENO PORTE"
  }
}

4. Node.js#

javascript
async function consultarCNPJ(cnpj) {
  const url = new URL("https://api.fiscalapi.com.br/api/consultar-cnpj");
  url.searchParams.set("cnpj", cnpj);

  const res = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.FISCALAPI_KEY}` },
  });

  const data = await res.json();
  if (!res.ok) throw new Error(`${data.error}: ${data.message}`);

  if (data.result?.situacao_cadastral !== "ATIVA") {
    console.warn(`CNPJ irregular: ${data.result?.situacao_cadastral}`);
  }
  return data.result;
}

5. Python#

python
import os
import requests

def consultar_cnpj(cnpj: str) -> dict:
    r = requests.get(
        "https://api.fiscalapi.com.br/api/consultar-cnpj",
        params={"cnpj": cnpj},
        headers={"Authorization": f"Bearer {os.environ['FISCALAPI_KEY']}"},
        timeout=15,
    )
    r.raise_for_status()
    return r.json()

resp = consultar_cnpj("12345678000199")
if resp["result"]["situacao_cadastral"] != "ATIVA":
    raise ValueError(f"CNPJ irregular: {resp['result']['situacao_cadastral']}")

Campos da resposta — o que cada um significa#

CampoUso prático
situacao_cadastralATIVA, BAIXADA, SUSPENSA, INAPTA, NULA. Bloquear cadastro se não for ATIVA.
data_situacao_cadastralData da última mudança de status. Empresas que viraram baixada há > 2 anos têm risco alto de processo.
cnae_principal_codigoUse para classificar fornecedor por setor + verificar se a atividade declarada bate com o serviço contratado.
cnaes_secundariosAtividades alternativas. Empresa pode emitir NF-e em qualquer CNAE registrado.
natureza_juridicaLTDA, S.A., MEI, etc. Influencia compliance e regime tributário.
capital_socialIndicador grosseiro de porte. Não confiar isolado — empresas com capital alto podem estar baixadas há anos.
endereco.ufUse para descobrir a UF para a próxima consulta de IE.
qsaQuadro societário e administradores. Pode estar vazio se a Receita não expõe (alguns períodos).
porteMICRO EMPRESA, PEQUENO PORTE, DEMAIS. Influencia regime tributário aplicável.

Cruzando CNPJ com Inscrição Estadual#

A consulta CNPJ retorna endereco.uf da matriz. Para validar a operação fiscal completa:

  1. Consulta CNPJ → recupera UF.
  2. Consulta IE no estado dessa UF → confirma se está habilitada para emitir NF-e.
  3. (Opcional) Consulta CND estadual → confirma regularidade fiscal.

Esse pipeline é o padrão para due diligence fiscal antes de fechar contrato. Detalhes da etapa 2 no guia de consulta de Inscrição Estadual e o tutorial específico de API em Consulta de IE via API.


Estratégia de cache#

O campo cached na resposta indica se o resultado veio do cache interno da FiscalAPI.

Recomendações de TTL no seu lado (cache próprio):

Caso de usoTTL recomendado
Cliente recorrente em ERP30 dias
Fornecedor de due diligence pontual7 dias
Pré-emissão de NF-e críticaBypass cache — usar resposta fresca
Onboarding de marketplace24h
Dashboard analítico interno24h

Tratamento de erros#

A API CNPJ retorna no formato:

json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "error": "ERRO_INTERNO",
  "message": "Erro interno do servidor"
}

Códigos comuns:

HTTPSignificadoO que fazer
200Sucesso (verificar source_status.status)Validar result antes de usar
400Documento inválidoValidar dígito verificador antes de chamar
401API key ausente ou inválidaRegenerar chave
500Erro interno / fonte indisponívelRetry com backoff exponencial

Quando source_status.status for diferente de "success", o result pode vir vazio — sempre checar antes de acessar campos.


Boas práticas#

1. Normalize o CNPJ. Aceite formatado e não formatado no seu front. Remova pontos, barras e traços antes de chamar a API.

2. Valide dígito verificador antes da chamada. Algoritmo de validação CNPJ é público e simples; economiza cota.

3. Não armazene a API key no front-end. Toda chamada deve passar pelo seu backend.

4. Log estruturado. Salve request_id, cached e timestamp. Suporte da FiscalAPI consegue rastrear pelo request_id.

5. Combo certidões. Para um workflow completo de validação (CNPJ + IE + CND estadual + CND federal + CNDT + CRF FGTS), use o endpoint /api/certidoes-todas, que consolida tudo em uma chamada — economiza latência se você precisa de várias certidões para o mesmo documento.

6. Não confunda CNPJ com IE. CNPJ é federal e único (válido em todo o Brasil). IE é estadual e empresa pode ter mais de uma (uma por estado de operação). Misturar os dois em um único campo de banco vira bug silencioso.


Comparativo de provedores#

A escolha entre provedores depende do volume, dos dados extras necessários e do quão crítica é a integração. Critérios típicos:

CritérioPor que importa
Cobertura de status (incluindo histórico)Empresas com mudanças recentes podem mostrar dados desatualizados em provedores que cacheiam agressivamente
QSA expostoNem toda fonte retorna quadro societário (depende do que a Receita Federal publica)
CNAEs secundáriosCrítico para alguns setores (agro, indústria)
SLA documentadoProvedores sem SLA quebram em horário comercial
Integração com IE/CND no mesmo provedorReduz fricção operacional — uma chave, uma documentação
Dashboard sem códigoÚtil para equipe não-técnica fazer consultas pontuais

A FiscalAPI integra todas as consultas (CNPJ, IE, CND estadual/federal, CNDT, CRF FGTS, CADIN, Lista Suja, IBAMA, CAR, CCIR) sob a mesma chave e o mesmo dashboard, voltado para o agronegócio brasileiro e fornecedores de empresas reguladas.


Perguntas frequentes#

A consulta de CNPJ é em tempo real? A API consulta a Receita Federal e retorna o dado mais atualizado disponível. A Receita atualiza a base periodicamente (a cada 45 dias ou menos para empresas ativas), então "tempo real" significa o snapshot mais recente que a Receita publicou.

Posso consultar CPF da mesma forma? Não. Consulta de CPF tem regras de privacidade distintas e exige login GovBR para o próprio titular. O que você consulta com CPF na FiscalAPI é Inscrição Estadual de produtor rural (que é informação pública porque ele é contribuinte do ICMS). Detalhes no guia de consulta de IE de produtor rural.

Como descobrir filiais de uma empresa? A consulta CNPJ retorna dados do CNPJ específico que você consultou (14 dígitos). A Receita identifica matriz pelo final 0001 no CNPJ base + 2 dígitos verificadores. Filiais têm o mesmo radical (8 dígitos iniciais) com sufixo diferente. Para listar todas as filiais, você precisa iterar os sufixos ou usar uma base de dados de CNPJs (CNPJBase pública da Receita).

Existe limite de QSA exposto? A Receita Federal pode restringir parte do QSA em alguns períodos por questões judiciais ou cadastrais. Quando isso acontece, a API retorna qsa: [] mesmo para empresas grandes.

Como interpretar "ATIVA NÃO REGULAR"? Esse status aparece em alguns provedores como sinônimo de "ATIVA com pendência". A FiscalAPI retorna o status bruto na data_situacao_cadastral — interprete junto com situacao_cadastral. Empresa com ATIVA recente (< 30 dias) que era BAIXADA antes merece atenção.

Posso usar a API para validar pré-NF-e? Sim. O recomendado é cruzar CNPJ + IE no pré-envio. Se o destinatário tem CNPJ ativo mas IE irregular no estado da operação, a NF-e é rejeitada com código 215. Veja consulta de IE via API para tratar essa parte.


Próximo passo#

Conheça os planos da FiscalAPI e teste no dashboard sem código antes de integrar. Documentação técnica em docs.fiscalapi.com.br.

Se sua operação envolve produtores rurais, fornecedores agro ou validação de IE em múltiplos estados, comece pelo pillar de Inscrição Estadual — CNPJ sozinho não cobre o caso de uso.


Artigos relacionados#

Compartilhar: WhatsApp LinkedIn Twitter

Consulte dados fiscais via API

Consulte Inscrições Estaduais, CNPJs e Certidões Negativas via API REST. Dados direto da SEFAZ e Receita Federal. Planos a partir de R$ 19,99/mês.

Criar conta →