API REST · v1.0.0

Documentação da API LeadCNPJ

Integre o LeadCNPJ ao seu CRM, ERP ou ferramenta de automação. Consulte CNPJs, busque empresas por filtros firmográficos e enriqueça listas em lote — tudo via REST.

Endpoints · Empresas

Busca avançada de empresas por filtros firmográficos

POST /api/v1/empresas/buscar

Mesma engine da busca avançada do app. Filtros: UF, município, CNAE, porte, capital social, idade da empresa, presença de e-mail/telefone/WhatsApp, situação cadastral, regime tributário. Paginada (max 100/página). Custa 1 consulta por CNPJ retornado (0,5 crédito nos planos com API).

Mínimo de 3 filtros ativos por request (controle de uso justo). Combine pelo menos UF + CNAE + outro (porte, idade, capital, etc.). Request com menos de 3 filtros retorna 422 validation_error.

Default de situação cadastral: situacao_ativa=true é aplicado por padrão. Para incluir Baixadas/Suspensas/Inaptas/Nulas, envie situacao_ativa=false explicitamente.

Parâmetros

NomeEmObrigatórioDescrição
Idempotency-Key header não Identificador único da requisição (sugestão: UUID v4 ou ULID gerado pelo cliente). Se a mesma key for reenviada com mesmo body em até 24h, a API retorna a resposta cacheada da primeira chamada com header `Idempotency-Replayed: true`. Reuso com body diferente → 409 idempotency_conflict.

Body da requisição

CampoTipoDescrição
ufstring Ex: SP
municipioarray<string>
cnaearray<string>
portearray<string>
natureza_juridicastring
capital_social_denumber
capital_social_atenumber
idade_minimaintegerIdade mínima da empresa em anos.
idade_maximainteger
emailbooleanApenas com e-mail cadastrado.
email_corporativobooleanExclui e-mails de gmail/hotmail/etc.
ignorar_contabilidadebooleanExclui e-mails de escritórios contábeis.
telefoneboolean
whatsappboolean
situacao_ativabooleanFiltra apenas empresas com situação cadastral Ativa (código 02). Default true — passe false explicitamente para incluir Baixadas/Suspensas/Inaptas/Nulas.
somente_matrizboolean
meiboolean
simples_nacionalboolean
ignorar_mei_simplesboolean
empresa_novabooleanApenas empresas abertas há ≤6 meses.
pageinteger
per_pageinteger

Exemplo:

{
    "uf": "SP",
    "cnae": [
        "4330401",
        "4330404"
    ],
    "porte": [
        "01",
        "03"
    ],
    "capital_social_de": 50000,
    "email_corporativo": true,
    "ignorar_contabilidade": true,
    "situacao_ativa": true,
    "page": 1,
    "per_page": 25
}

Respostas

StatusDescrição
200 Lista paginada de empresas.
401 Token ausente, inválido ou revogado.
402 Créditos insuficientes pra completar a operação.
403 Plano não permite uso da API ou escopo insuficiente.
422 Body ou query params inválidos.
429 Excedeu o rate limit. Veja header Retry-After.
409 Idempotency-Key já foi usada em até 24h com um corpo de requisição diferente. Errors codes possíveis: `idempotency_conflict` (mesma key, body diferente), `idempotency_in_progress` (outra request com a mesma key ainda processando — Retry-After=1).

Exemplo curl

curl -X POST https://leadcnpj.com.br/api/v1/empresas/buscar \
  -H "Authorization: Bearer leadcnpj_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"uf":"SP","cnae":["4330401","4330404"],"porte":["01","03"],"capital_social_de":50000,"email_corporativo":true,"ignorar_contabilidade":true,"situacao_ativa":true,"page":1,"per_page":25}'