Consultar CNPJs em lote

Precisa consultar vários CNPJs de uma vez? O endpoint POST /consulta/lote aceita até 20 CNPJs por chamada e devolve um item de resposta para cada um, na mesma ordem em que foram enviados.

  • Método e caminho: POST /consulta/lote
  • Base URL: https://api.cnpjapi.com.br
  • Autenticação: exige API key de um plano pago (veja Autenticação) - não há versão anônima nem no plano gratuito.
  • Corpo: {"cnpjs": [...]}, até 20 CNPJs (os 14 caracteres cada, sem pontuação, inclusive o CNPJ alfanumérico).

Exemplo (curl)

curl -X POST https://api.cnpjapi.com.br/consulta/lote \
  -H "Authorization: Bearer cnpj_sua_chave" \
  -H "Content-Type: application/json" \
  -d '{"cnpjs": ["00776574000156", "00000000000000", "abc"]}'

Resposta (200 OK, application/json)

[
  { "Cnpj": "00776574000156", "Status": "encontrado", "Dados": { "RazaoSocial": "...", "...": "..." } },
  { "Cnpj": "00000000000000", "Status": "nao_encontrado", "Dados": null },
  { "Cnpj": "abc", "Status": "invalido", "Dados": null }
]

Um item por CNPJ enviado, na mesma ordem da lista de entrada - use a posição para casar request e response.

Campo Descrição
Cnpj O CNPJ que você enviou, repetido no item
Status encontrado, nao_encontrado, invalido ou erro (falha pontual ao consultar aquele item)
Dados Os campos cadastrais (mesmo formato de Consultar um CNPJ, inclusive o bloco de sanções e embargos Sancoes, que vem null com SancoesErro quando a verificação está indisponível, e o da dívida ativa da União DividaAtiva, com DividaAtivaErro no mesmo caso, e o dos parcelamentos com a Receita Federal ParcelamentosRFB, com ParcelamentosRFBErro no mesmo caso) quando Status é encontrado; null nos demais

Um item com problema não derruba o lote inteiro: os demais são processados normalmente. O mesmo CNPJ repetido na lista não é deduplicado - cada ocorrência gera um item de resposta e conta separadamente para a sua cota.

Formato ReceitaWS no lote

?formato=receitaws também funciona em POST /consulta/lote - a resposta vira uma lista de envelopes no formato ReceitaWS, um por CNPJ, na mesma ordem de entrada:

[
  { "status": "OK", "cnpj": "00.776.574/0001-56", "...": "..." },
  { "status": "ERROR", "message": "CNPJ não encontrado na base de dados" }
]

Atenção: no formato ReceitaWS, um item de erro não tem o campo cnpj (só status e message) - diferente do formato nativo, que sempre repete o Cnpj em todo item. Nesse formato, casar resposta com CNPJ de entrada só é confiável pela posição no array.

Cota e limites

  • Rate limit (RPM): a chamada de lote conta como 1 requisição, não como 20 - mesmo limite por minuto da consulta simples (veja Limites e planos).
  • Cota mensal: debita a quantidade de CNPJs resolvidos (itens encontrado; nao_encontrado/invalido/erro não contam). Consulte o consumo em GET /cota.

Erros

Status Significado
401 API key ausente ou inválida
403 Sua conta não tem um plano pago - o lote não está disponível no plano gratuito
422 Corpo inválido: campo cnpjs ausente/vazio, ou mais de 20 CNPJs na lista
429 Limite por minuto ou cota mensal excedidos - respeite o Retry-After

Veja todos os códigos em Erros.

Próximos passos

Crie sua conta gratuita em https://app.cnpjapi.com.br e assine um plano pago para usar o lote.