API pública · v1

Os mesmos dados do site, em JSON.

Uma rota, sem cadastro para começar. Com uma chave gratuita o limite diário sobe de 50 para 1.000 consultas.

Consultar um CNPJ

GET /api/v1/cnpj/{cnpj}

O CNPJ pode ir com ou sem máscara. A resposta é o objeto da empresa descrito abaixo.

curl https://busca.trylabsapp.com/api/v1/cnpj/00000000000191

curl -H "Authorization: Bearer cnpj_sua_chave" https://busca.trylabsapp.com/api/v1/cnpj/00000000000191

Autenticação e limites

  • Sem chave: 50 consultas por dia por endereço IP.
  • Com chave: 1.000 grátis por dia por conta, somando todas as suas chaves. Envie no header Authorization: Bearer <chave>.
  • Acima da cota grátis: com créditos, cada 10 consultas gastam 1 crédito; sem saldo, a resposta é 429.
  • A janela reinicia à meia-noite UTC (21h em Brasília).
  • Toda resposta traz X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset (timestamp Unix), sempre sobre a cota grátis. A consulta que gastou crédito traz também X-Credits-Remaining (saldo em créditos, uma casa decimal).

Erros

400
CNPJ inválido (dígito verificador não confere)
401
chave de API inválida ou revogada
404
CNPJ válido, mas não encontrado
429
limite diário atingido e, com chave, sem créditos (veja Retry-After)
502
a fonte de dados falhou; tente de novo em instantes
503
serviço temporariamente indisponível

Erros vêm como { "error": "mensagem" }.

Campos da resposta

cnpj
14 dígitos, sem máscara
razaoSocial, nomeFantasia
nomes da empresa e do estabelecimento
matriz
true para matriz (ordem 0001)
situacao
{ codigo, descricao, data, motivo } · 02 ativa, 03 suspensa, 04 inapta, 08 baixada
inicioAtividade
data de abertura (AAAA-MM-DD)
naturezaJuridica
{ codigo, descricao }
porte, capitalSocial
texto do porte e capital em reais (número)
cnaePrincipal, cnaesSecundarios
{ codigo, descricao } e lista do mesmo formato
endereco
{ tipoLogradouro, logradouro, numero, complemento, bairro, cep, municipio, uf }
telefones, email
lista de telefones (DDD + número) e e-mail cadastrado
simples, mei
{ optante, desde } ou null quando não informado
socios
lista de { nome, documento (CPF mascarado), qualificacao, entradaEm, faixaEtaria, tipo }
fonte
{ provedor, consultadoEm }

Veja um exemplo real: Banco do Brasil em JSON.

Fonte: Dados Abertos do CNPJ da Receita Federal, atualizados mensalmente. O campo fonte.provedor indica de onde veio cada resposta.