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 (apenas os 14 dígitos cada, sem pontuação).

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" },
  { "cnpj": "abc", "status": "invalido" }
]

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) - presente quando status é encontrado

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.