API EmpresaAPI

Consulta de dados cadastrais de empresas brasileiras a partir da base pública do CNPJ. A rota /api/v1/consulta segue o formato de consulta por CNPJ mais usado no mercado: quem já integra outra API costuma migrar trocando só o domínio e o token.

Autenticação

Gere uma chave em API dentro da plataforma. Envie a chave de uma destas formas:

?Token=eapi_...                 (parâmetro Token na URL)
X-Api-Key: eapi_...
Authorization: Bearer eapi_...

Toda resposta traz RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset. Em 429, respeite o Retry-After.

GET /api/v1/consulta

Com CNPJ de 14 caracteres retorna um objeto. Com CNPJ base de 8 (ex.: 21.792.257) retorna a lista de estabelecimentos, com matriz_e_filiais vazio, 1 (matriz) ou 2 (filiais), até 1.000 itens.

curl "https://www.empresaapi.com.br/api/v1/consulta?Token=SUA_CHAVE&Cnpj=11222333000181"
{
  "cnpj": "11222333000181",
  "razao": "EMPRESA EXEMPLO LTDA",
  "fantasia": "EXEMPLO",
  "ddd_1": "48", "tel_1": "33334444", "ddd_2": null, "tel_2": null,
  "email": "[email protected]",
  "site": null,
  "cnae_principal": "6203100 - Desenvolvimento e licenciamento de programas de computador não customizáveis",
  "cnae_secundario": "6201501,6311900",
  "log_tipo": "RUA", "log_nome": "DAS FLORES", "log_num": "100", "log_comp": null,
  "log_bairro": "CENTRO", "log_municipio": "FLORIANOPOLIS", "log_uf": "SC", "log_cep": "88010000",
  "matriz": "1",
  "situacao_cadastral": "2",
  "data_sit_cad": "20150202",
  "natureza_juridica": "Sociedade Empresária Limitada",
  "data_abertura": "20150202",
  "opcao_mei": "N", "data_mei": "00000000", "data_exc_mei": "00000000",
  "opcao_simples": "N", "data_simples": null, "data_exc_simples": "00000000",
  "porte": "3",
  "capital_social": "250000",
  "regime_tributario": "LUCRO PRESUMIDO",
  "faturamento": null,
  "quadro_funcionarios": null,
  "programas_especiais": [],
  "0": {
    "socios_nome": "NOME DO SOCIO",
    "socios_cpf_cnpj": "***123456**",
    "socios_entrada": "20150202",
    "socios_qualificacao": "Sócio-Administrador",
    "socios_faixa_etaria": "4"
  },
  "historicoDividasPorTrimestre": [],
  "historicoRegimePorAno": [{ "ano": "2024", "regime": "LUCRO PRESUMIDO" }]
}

Campos que a base pública não traz (site, faturamento, quadro_funcionarios, programas especiais e dívidas) vêm vazios. O regime tributário vem da ECF publicada pela Receita ou da opção pelo Simples Nacional.

GET /api/v1/empresas

Lista empresas por filtros, no mesmo formato de objeto da consulta (sem sócios). Pagine com o proximo_cursor da resposta. GET /api/v1/empresas/contagem recebe os mesmos filtros e devolve a quantidade (exata até 200 mil).

curl "https://www.empresaapi.com.br/api/v1/empresas?Token=SUA_CHAVE&uf=SC&cnae=5611201&situacao=2&com_telefone=S&limite=100"

{ "quantidade": 100, "proximo_cursor": "11222333000181", "resultados": [ ... ] }
ParâmetroDescriçãoExemplo
ufUFs separadas por vírgulaSC,PR
municipioCódigos de município da Receita8105
cnaeCNAEs de 7 dígitos ou prefixos47,5611201
cnae_secundarioS para incluir CNAEs secundáriosS
excluir_cnaeCNAEs ou prefixos a excluir4711
situacao1 Nula, 2 Ativa, 3 Suspensa, 4 Inapta, 8 Baixada2
matriz_filial1 Matriz, 2 Filial1
abertura_de / abertura_ateData de abertura (AAAAMMDD)20200101
porte0 Não informado, 1 ME, 3 EPP, 5 Demais1,3
capital_min / capital_maxCapital social em reais100000
naturezaCódigos de natureza jurídica2062
mei / simplesS ou NN
regimeSIMPLES, LUCRO_REAL, LUCRO_PRESUMIDO, LUCRO_ARBITRADO, IMUNE, ISENTALUCRO_PRESUMIDO
com_telefone / com_celular / com_emailS para exigir o contatoS
bairro / cep / dddListas separadas por vírgula88010
razao / fantasia / socioTrecho do nome (mínimo 3 letras)padaria
limite / cursorPágina de até 100 itens e cursor da próxima página100

Erros

Erros seguem a RFC 9457 em application/problem+json, com code, detail, resolution e o campo legado Erro.

400missing_parametersToken ou Cnpj ausente
401invalid_tokenChave inválida ou revogada
403forbiddenPlano sem acesso à API ou conta desativada
404cnpj_not_foundCNPJ sem registro na base
422invalid_cnpjCNPJ fora do formato aceito
422invalid_filterFiltro inválido na listagem
429rate_limit_exceededMais requisições por segundo do que o plano permite
429quota_exceededCota diária do plano atingida
503base_unavailableBase em atualização

Migrando de outra API

Aponte a integração para www.empresaapi.com.br e use a sua chave no parâmetro Token. A rota legada /acesso/RetornoJson.php também responde, com o header Deprecation.