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):
400commessage: "CNPJ inválido". - Não encontrado:
{"status":"ERROR","message":"CNPJ não encontrado na base de dados"}. - Limite excedido (
429): mantém o cabeçalhoRetry-After. Veja Limites e planos.
Próximos passos
- Consultar um CNPJ - o formato nativo da CNPJAPI (PascalCase), mais completo.
- Consultar CNPJs em lote - até 20 numa só chamada, também no formato ReceitaWS.
- Autenticação - gere a sua API key.
- Erros - o que cada código de status significa.
Crie sua conta gratuita em https://app.cnpjapi.com.br e migre da ReceitaWS trocando só o host.