Migrar da ReceitaWS para a CNPJAPI
Já integra a ReceitaWS? A CNPJAPI responde no mesmo formato, campo a campo. A migração é drop-in: troque o host da chamada e o seu código de leitura do JSON continua igual. Este guia mostra o passo a passo.
O que muda (e o que não muda)
- Muda o host:
www.receitaws.com.brviraapi.cnpjapi.com.br. - Muda a autenticação: a CNPJAPI exige a sua API key no cabeçalho
Authorization: Bearer. Crie a conta em https://app.cnpjapi.com.br e gere a chave (veja Autenticação). - Não muda o corpo do JSON: os mesmos nomes de campo, no mesmo lugar (
nome,fantasia,situacao,atividade_principal,qsa, ...). O seu parser não muda.
Passo a passo
Antes (ReceitaWS)
curl https://www.receitaws.com.br/v1/cnpj/00776574000156
Depois (CNPJAPI)
curl https://api.cnpjapi.com.br/v1/cnpj/00776574000156 \
-H "Authorization: Bearer cnpj_sua_chave"
O caminho GET /v1/cnpj/{cnpj} espelha a URL da ReceitaWS - migrar é trocar o host e acrescentar o cabeçalho. Como alternativa, o endpoint canônico aceita GET /{cnpj}?formato=receitaws, com a mesma resposta compatível.
Exemplo em código
Os exemplos Node usam
fetchnativo (Node 18+) eawaitno nível superior - rode como módulo ES (arquivo.mjs, ou"type": "module"nopackage.json), ou envolva o código numa funçãoasync.
Node.js (só o host e o cabeçalho mudam em relação ao seu código atual):
const cnpj = "00776574000156";
const resposta = await fetch(`https://api.cnpjapi.com.br/v1/cnpj/${cnpj}`, {
headers: { Authorization: "Bearer cnpj_sua_chave" },
});
const empresa = await resposta.json();
console.log(empresa.nome, empresa.situacao); // mesmos campos da ReceitaWS
Python:
import requests
cnpj = "00776574000156"
r = requests.get(
f"https://api.cnpjapi.com.br/v1/cnpj/{cnpj}",
headers={"Authorization": "Bearer cnpj_sua_chave"},
)
empresa = r.json()
print(empresa["nome"], empresa["situacao"]) # mesmos campos da ReceitaWS
Pontos de atenção
A meta é paridade de propriedades - os mesmos nomes de campo, no mesmo lugar. Alguns detalhes herdados da ReceitaWS:
statusvem"OK"no sucesso e"ERROR"no erro ({"status":"ERROR","message":"..."}).atividades_secundariassem itens traz a sentinela[{"code":"00.00-0-00","text":"Não informada"}], igual à ReceitaWS.simplesesimeivêm sempre presentes (camposfalse/nullquando a empresa não é optante).- O campo proprietário
billingda ReceitaWS é omitido. - Ao exceder o limite, a resposta é
429com o cabeçalhoRetry-After(veja Limites e planos).
A tabela completa de diferenças está em Compatível com a ReceitaWS.
Consulta em lote
O modo compatível também vale para o lote - até 20 CNPJs numa só chamada, no mesmo formato. Veja Consultar em lote.
Próximos passos
- Compatível com a ReceitaWS - o contrato completo do formato.
- Consultar um CNPJ - o formato nativo da CNPJAPI (PascalCase), mais completo.
- Autenticação - gere a sua API key.
Crie sua conta gratuita em https://app.cnpjapi.com.br e migre da ReceitaWS trocando só o host.