API de Consulta CNPJ

Dados públicos da Receita Federal (CNPJ, sócios, Simples/MEI, CNAE) via REST, em JSON ou CSV.

Autenticação

Toda requisição precisa de uma chave de API, enviada no header X-API-KEY (ou como parâmetro ?api_key=). Peça sua chave ao administrador do sistema.

curl -H "X-API-KEY: SUA_CHAVE_AQUI" \
  https://empresas.leisontelecom.com.br/v1/status

Cada chave tem um limite de requisições por dia. Use o endpoint /v1/status para consultar quanto ainda resta na sua cota.

GET /v1/cnpj/{cnpj}

Retorna os dados completos de um CNPJ: razão social, endereço, contato, sócios e situação no Simples Nacional/MEI.

curl -H "X-API-KEY: SUA_CHAVE_AQUI" \
  https://empresas.leisontelecom.com.br/v1/cnpj/11444777000161
<?php
$ch = curl_init('https://empresas.leisontelecom.com.br/v1/cnpj/11444777000161');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-KEY: SUA_CHAVE_AQUI']);
$resposta = json_decode(curl_exec($ch), true);
curl_close($ch);

echo $resposta['razao_social'];
const resp = await fetch('https://empresas.leisontelecom.com.br/v1/cnpj/11444777000161', {
  headers: { 'X-API-KEY': 'SUA_CHAVE_AQUI' }
});
const dados = await resp.json();
console.log(dados.razao_social);
import requests

resp = requests.get(
    'https://empresas.leisontelecom.com.br/v1/cnpj/11444777000161',
    headers={'X-API-KEY': 'SUA_CHAVE_AQUI'}
)
dados = resp.json()
print(dados['razao_social'])

Resposta

{
    "cnpj": "11444777000161",
    "razao_social": "Z R DE BRITO EMPREITEIRA",
    "situacao_cadastral": "Inapta",
    "natureza_juridica": "Empresário (Individual)",
    "porte_empresa": "Empresa de pequeno porte",
    "capital_social": "10000.00",
    "cnae_principal": { "codigo": "4120400", "descricao": "Construção de edifícios" },
    "endereco": { "logradouro": "...", "municipio": "JARDINOPOLIS", "uf": "SP", "...": "..." },
    "contato": { "telefone1": "(16) 37631768", "email": "..." },
    "simples_nacional": { "optante_simples": false, "optante_mei": false, "...": "..." },
    "quadro_societario": [ { "nome": "...", "qualificacao": "...", "...": "..." } ]
}

GET /v1/empresas

Lista/extrai empresas filtrando por estado, município e/ou CNAE — ideal para montar listas de prospecção. É obrigatório informar pelo menos um dos filtros uf, municipio ou cnae.

ParâmetroDescrição
ufSigla do estado, ex: SP
municipioNome (sem acento, ex: SAO PAULO) ou código do IBGE/RFB
cnaeCódigo do CNAE, ex: 6201501
situacaoativa (padrão), suspensa, inapta, baixada, nula ou todas
com_telefone1 para retornar só quem tem telefone cadastrado
pagina / por_paginaPaginação (máx. 500 por página)
formatocsv para baixar como planilha em vez de JSON
curl -G -H "X-API-KEY: SUA_CHAVE_AQUI" \
  --data-urlencode "uf=SP" \
  --data-urlencode "cnae=6201501" \
  --data-urlencode "com_telefone=1" \
  --data-urlencode "por_pagina=50" \
  https://empresas.leisontelecom.com.br/v1/empresas
curl -G -H "X-API-KEY: SUA_CHAVE_AQUI" \
  --data-urlencode "municipio=SAO PAULO" \
  --data-urlencode "cnae=6201501" \
  --data-urlencode "formato=csv" \
  https://empresas.leisontelecom.com.br/v1/empresas -o empresas.csv

Resposta (JSON)

{
    "total_encontrado": 28655,
    "pagina": 1,
    "por_pagina": 50,
    "total_paginas": 574,
    "resultados": [
        {
            "cnpj": "00000611000130",
            "razao_social": "PC DEBUG DESENVOLVIMENTO DE SOFTWARE LTDA",
            "cnae_descricao": "Desenvolvimento de programas de computador sob encomenda",
            "telefone1": "(11) 91472658",
            "email": "PCFELIAS65@GMAIL.COM",
            "municipio": "SAO PAULO",
            "uf": "SP"
        }
    ]
}

GET /v1/tabela/{tabela}/{codigo}

Consulta as tabelas de apoio da Receita Federal usadas para decodificar os campos acima.

TabelaExemplo de código
cnae0111301
municipio7107
natureza-juridica2062
pais105
qualificacao-socio49
motivo01
curl -H "X-API-KEY: SUA_CHAVE_AQUI" \
  https://empresas.leisontelecom.com.br/v1/tabela/cnae/0111301
{ "codigo": "0111301", "descricao": "Cultivo de arroz" }

GET /v1/status

Mostra quantas requisições você já usou hoje e quantas ainda restam na sua cota.

curl -H "X-API-KEY: SUA_CHAVE_AQUI" \
  https://empresas.leisontelecom.com.br/v1/status
{
    "cliente": "Empresa XPTO",
    "limite_diario": 1000,
    "usadas_hoje": 42,
    "restantes_hoje": 958
}

Códigos de resposta

CódigoSignificado
200Sucesso
400Parâmetro inválido ou faltando (ex: CNPJ com dígito verificador errado)
401Chave de API ausente ou inválida
403Chave de API desativada
404CNPJ/código não encontrado
429Limite diário de requisições atingido
500Erro interno — tente novamente ou entre em contato

Erros sempre voltam no formato {"erro": "mensagem"}.