Compatível com a ReceitaWS

Já integra a ReceitaWS? A CNPJAPI responde no mesmo formato, campo a campo. Para migrar, troque só o host da sua chamada - o corpo do JSON continua o mesmo, então o seu código de leitura não muda.

  • De: https://www.receitaws.com.br/v1/cnpj/{cnpj}
  • Para: https://api.cnpjapi.com.br/v1/cnpj/{cnpj}

A única diferença é a autenticação: a CNPJAPI exige a sua API key no cabeçalho Authorization (veja Autenticação).

Como ativar o formato ReceitaWS

Há duas formas equivalentes de pedir a resposta no formato compatível:

  • Mesmo caminho da ReceitaWS: GET /v1/cnpj/{cnpj} - espelha a URL da ReceitaWS (migração = trocar o host).
  • Parâmetro no endpoint canônico: GET /{cnpj}?formato=receitaws.

Sem nenhum dos dois, a resposta é a nativa da CNPJAPI (campos em PascalCase).

Autenticação, limites do plano e cota são idênticos aos da consulta normal. O modo compatível só muda a forma do corpo na resposta.

Exemplo (curl)

curl https://api.cnpjapi.com.br/v1/cnpj/00776574000156 \
  -H "Authorization: Bearer cnpj_sua_chave"

Resposta (200 OK, application/json)

{
  "status": "OK",
  "cnpj": "00.776.574/0001-56",
  "tipo": "MATRIZ",
  "nome": "...",
  "fantasia": "...",
  "abertura": "01/01/2000",
  "situacao": "ATIVA",
  "data_situacao": "01/01/2000",
  "motivo_situacao": "",
  "situacao_especial": "",
  "data_situacao_especial": "",
  "porte": "DEMAIS",
  "natureza_juridica": "0000 - ...",
  "atividade_principal": [ { "code": "00.00-0-00", "text": "..." } ],
  "atividades_secundarias": [ { "code": "00.00-0-00", "text": "..." } ],
  "qsa": [ { "nome": "...", "qual": "00 - ..." } ],
  "logradouro": "...",
  "numero": "...",
  "complemento": "...",
  "bairro": "...",
  "municipio": "...",
  "uf": "..",
  "cep": "00.000-000",
  "email": "...",
  "telefone": "(00) 0000-0000",
  "efr": "",
  "capital_social": "0.00",
  "simples": { "optante": false, "data_opcao": null, "data_exclusao": null, "ultima_atualizacao": null },
  "simei": { "optante": false, "data_opcao": null, "data_exclusao": null, "ultima_atualizacao": null },
  "ultima_atualizacao": "...",
  "extra": {}
}

O que muda em relação à ReceitaWS

O objetivo é a paridade de propriedades: os mesmos nomes de campo, no mesmo lugar. Alguns pontos de atenção:

Ponto Comportamento na CNPJAPI
status "OK" no sucesso; "ERROR" no erro (veja abaixo)
atividades_secundarias Quando não há nenhuma, vem a sentinela [{"code":"00.00-0-00","text":"Não informada"}] (igual à ReceitaWS)
simples / simei Sempre presentes; quando a empresa não é optante, os campos vêm false/null
logradouro Tipo + logradouro por extenso (a abreviação da ReceitaWS é convenção própria dela)
ultima_atualizacao dentro de simples/simei null - é um carimbo interno da ReceitaWS, sem equivalente
billing Omitido - é um campo proprietário da ReceitaWS

Datas saem no formato dd/MM/yyyy, CEP como NN.NNN-NNN e telefone como (DD) NNNN-NNNN, iguais à ReceitaWS.

Erros

Os erros também espelham a ReceitaWS, no formato {"status":"ERROR","message":"..."}:

  • CNPJ inválido (formato errado): 400 com message: "CNPJ inválido".
  • Não encontrado: {"status":"ERROR","message":"CNPJ não encontrado na base de dados"}.
  • Limite excedido (429): mantém o cabeçalho Retry-After. Veja Limites e planos.

Próximos passos

Crie sua conta gratuita em https://app.cnpjapi.com.br e migre da ReceitaWS trocando só o host.