API REST — Consulta CNPJ
Consulte gratuitamente os dados públicos de CNPJ da Receita Federal por meio da nossa API REST. Os mesmos dados exibidos nas abas de pesquisa do site estão disponíveis em formato JSON, ideais para integrar em sistemas, planilhas e automações.
https://consultacnpj.site/api/v1Autenticação: nenhuma — os endpoints abaixo são gratuitos e de acesso livre.
Formato: todas as respostas são em JSON (
application/json).Limite gratuito: 3 consultas / hora por IP — acima disso, é necessário assinar um plano PRO.
Visão geral
A API expõe os mesmos recursos das 5 abas de pesquisa do site:
GET /cnpj/{cnpj}— relatório completo de uma empresa (sócios, CNAEs, Simples/MEI)GET /empresas— busca por razão social / nome fantasiaGET /socios— busca por sócios (nome, CPF/CNPJ, empresa)GET /endereco— busca por endereço (UF, cidade, CEP, logradouro, bairro)GET /segmento— busca por segmento de mercado (CNAE, UF, cidade, situação)
Filtros avançados (porte, matriz/filial, natureza jurídica, Simples/MEI, faixa de capital social, período de abertura, "lead novo") fazem parte do plano PRO e ainda não estão disponíveis nesta API gratuita. Conheça os planos.
Formato das respostas
Toda resposta segue o envelope abaixo. Em caso de sucesso:
{
"success": true,
"data": ...,
"meta": {
"page": 1,
"pages": 12,
"per_page": 20,
"total": 235
}
}
O campo meta só aparece em endpoints de listagem (paginados). Em caso de erro:
{
"success": false,
"error": {
"code": "not_found",
"message": "CNPJ não encontrado na base de dados."
}
}
Códigos de erro
| HTTP | code | Descrição |
|---|---|---|
| 422 | invalid_cnpj | CNPJ ausente ou com formato inválido (deve ter 14 dígitos). |
| 404 | not_found | CNPJ não encontrado, ou endpoint inexistente. |
| 429 | rate_limit_exceeded | Limite gratuito de consultas por hora atingido. |
| 500 | internal_error | Erro inesperado ao consultar a base de dados. |
Limite de uso gratuito
Cada IP pode realizar até 3 consultas por hora nos endpoints
/cnpj, /empresas, /segmento, /endereco e /socios.
O endpoint informativo GET /api/v1 não conta para esse limite.
Toda resposta de consulta inclui os seguintes cabeçalhos HTTP com o status do limite:
| Cabeçalho | Descrição |
|---|---|
X-RateLimit-Limit | Total de consultas permitidas por hora (3). |
X-RateLimit-Remaining | Consultas restantes na janela atual. |
X-RateLimit-Reset | Timestamp Unix em que o limite será renovado. |
Ao atingir o limite, a API responde com HTTP 429 e o cabeçalho Retry-After:
{
"success": false,
"error": {
"code": "rate_limit_exceeded",
"message": "Limite gratuito de 3 consultas por hora atingido. Assine um plano PRO em https://checkcred.com.br para consultas ilimitadas."
}
}
Precisa de mais consultas? Os planos PRO removem o limite por hora e liberam os filtros avançados. Conheça os planos.
Paginação
Os endpoints de listagem (/empresas, /segmento, /endereco, /socios) aceitam:
| Parâmetro | Padrão | Descrição |
|---|---|---|
page | 1 | Número da página de resultados. |
per_page | 20 | Itens por página (máximo 50). |
Para evitar consultas muito amplas (full scan), os endpoints de listagem exigem pelo menos um filtro de pesquisa. Sem filtros, o retorno será uma lista vazia.
GET /cnpj/{cnpj}
Retorna o relatório completo de uma empresa a partir do CNPJ (14 dígitos, com ou sem máscara).
| Parâmetro | Tipo | Descrição |
|---|---|---|
cnpj | path | CNPJ com 14 dígitos. Pode ser enviado na URL ou via ?cnpj=. |
Exemplo de requisição
curl "https://consultacnpj.site/api/v1/cnpj/00000000000191"
Exemplo de resposta
{
"success": true,
"data": {
"cnpj": "00.000.000/0001-91",
"cnpj_numerico": "00000000000191",
"razao_social": "BANCO DO BRASIL SA",
"nome_fantasia": "BB",
"matriz_filial": "Matriz",
"situacao_cadastral": {
"codigo": "02",
"descricao": "Ativa",
"data": "2005-11-03",
"motivo": null
},
"data_inicio_atividades": "1966-08-01",
"cnae_principal": {
"codigo": "6422100",
"descricao": "Bancos múltiplos, com carteira comercial"
},
"endereco": {
"logradouro": "QUADRA SAUN QUADRA 5 LOTE B",
"numero": "S/N",
"complemento": "ANDAR 1 AO 17",
"bairro": "ASA NORTE",
"cep": "70040912",
"municipio": "BRASILIA",
"uf": "DF"
},
"contato": {
"telefone": "(61) 34938050",
"email": "EXEMPLO@BB.COM.BR"
},
"cnaes_secundarios": [
{ "codigo": "6499999", "descricao": "Outras atividades de serviços financeiros..." }
],
"socios": [
{
"nome": "EXEMPLO DA SILVA",
"documento": "***.456.789-**",
"qualificacao": "Presidente",
"data_entrada_sociedade": "2019-01-15",
"faixa_etaria": "51 a 60 anos",
"representante_legal": null
}
]
}
}
GET /empresas
Busca empresas por razão social e/ou nome fantasia (aba "Nome da Empresa").
| Parâmetro | Tipo | Descrição |
|---|---|---|
razao_social | query | Busca parcial (contém) na razão social. |
nome_fantasia | query | Busca parcial (contém) no nome fantasia. |
uf | query | Sigla da UF (ex: SC). |
municipio | query | Nome do município. Aceita múltiplos, separados por vírgula. |
situacao | query | Código da situação cadastral (01, 02, 03, 04, 08). |
cnae | query | Código(s) CNAE, separados por vírgula. |
cep | query | Prefixo do CEP. |
Exemplo de requisição
curl "https://consultacnpj.site/api/v1/empresas?razao_social=CHECKCRED&uf=SC"
Exemplo de resposta
{
"success": true,
"data": [
{
"cnpj": "12.345.678/0001-90",
"cnpj_numerico": "12345678000190",
"razao_social": "CHECKCRED SOLUCOES LTDA",
"nome_fantasia": "CHECKCRED",
"matriz_filial": "Matriz",
"situacao_cadastral": { "codigo": "02", "descricao": "Ativa", "data": "2018-03-12", "motivo": null },
"data_inicio_atividades": "2018-03-10",
"cnae_principal": { "codigo": "6911701", "descricao": "Serviços advocatícios" },
"endereco": { "logradouro": "RUA EXEMPLO", "numero": "100", "complemento": null, "bairro": "CENTRO", "cep": "88000000", "municipio": "FLORIANOPOLIS", "uf": "SC" },
"contato": { "telefone": "(48) 30000000", "email": "CONTATO@CHECKCRED.COM.BR" }
}
],
"meta": { "page": 1, "pages": 1, "per_page": 20, "total": 1 }
}
GET /socios
Busca sócios por nome, documento (CPF/CNPJ) ou pela empresa (aba "Sócio").
| Parâmetro | Tipo | Descrição |
|---|---|---|
nome_socio | query | Busca parcial (contém) no nome do sócio. |
cnpj_cpf_socio | query | CPF (11 dígitos) ou CNPJ (14 dígitos) do sócio, sem máscara. |
cnpj | query | CNPJ da empresa (14 dígitos), para listar todos os sócios dessa empresa. |
Exemplo de requisição
curl "https://consultacnpj.site/api/v1/socios?nome_socio=EXEMPLO+DA+SILVA"
Exemplo de resposta
{
"success": true,
"data": [
{
"nome_socio": "EXEMPLO DA SILVA",
"documento": "***.456.789-**",
"qualificacao": "Presidente",
"data_entrada_sociedade": "2019-01-15",
"faixa_etaria": "51 a 60 anos",
"empresa": {
"cnpj": "00.000.000/0001-91",
"razao_social": "BANCO DO BRASIL SA",
"nome_fantasia": "BB",
"situacao_cadastral": "Ativa",
"uf": "DF",
"municipio": "BRASILIA"
}
}
],
"meta": { "page": 1, "pages": 1, "per_page": 20, "total": 1 }
}
GET /endereco
Busca empresas por localização (aba "Endereço").
| Parâmetro | Tipo | Descrição |
|---|---|---|
uf | query | Sigla da UF. |
municipio | query | Nome do(s) município(s), separados por vírgula. |
cep | query | Prefixo do CEP. Ex: 72 retorna todos os CEPs que começam com 72. |
logradouro | query | Busca parcial (contém) no nome do logradouro. |
bairro | query | Busca parcial (contém) no bairro. |
cnae | query | Código(s) CNAE da atividade principal, separados por vírgula. |
situacao | query | Código da situação cadastral. |
Exemplo de requisição
curl "https://consultacnpj.site/api/v1/endereco?uf=DF&municipio=BRASILIA&cep=72&logradouro=QUADRA"
Exemplo de resposta
{
"success": true,
"data": [
{
"cnpj": "00.000.000/0001-91",
"cnpj_numerico": "00000000000191",
"razao_social": "BANCO DO BRASIL SA",
"nome_fantasia": "BB",
"matriz_filial": "Matriz",
"situacao_cadastral": { "codigo": "02", "descricao": "Ativa", "data": "2005-11-03", "motivo": null },
"data_inicio_atividades": "1966-08-01",
"cnae_principal": { "codigo": "6422100", "descricao": "Bancos múltiplos, com carteira comercial" },
"endereco": { "logradouro": "QUADRA SAUN QUADRA 5 LOTE B", "numero": "S/N", "complemento": "ANDAR 1 AO 17", "bairro": "ASA NORTE", "cep": "70040912", "municipio": "BRASILIA", "uf": "DF" },
"contato": { "telefone": "(61) 34938050", "email": null }
}
],
"meta": { "page": 1, "pages": 3, "per_page": 20, "total": 47 }
}
GET /segmento
Busca empresas por segmento de mercado (CNAE), UF, cidade e/ou situação cadastral (aba "Segmento de Mercado").
| Parâmetro | Tipo | Descrição |
|---|---|---|
cnae | query | Código(s) CNAE da atividade principal, separados por vírgula. Ex: 6911701,6912500. |
uf | query | Sigla da UF. |
municipio | query | Nome do(s) município(s), separados por vírgula. |
situacao | query | Código da situação cadastral. Padrão recomendado: 02 (Ativa). |
cep | query | Prefixo do CEP. |
Exemplo de requisição
curl "https://consultacnpj.site/api/v1/segmento?cnae=6911701&uf=SC&municipio=ITAPEMA,GASPAR&situacao=02&page=1"
Exemplo de resposta
{
"success": true,
"data": [
{
"cnpj": "11.222.333/0001-44",
"cnpj_numerico": "11222333000144",
"razao_social": "ESCRITORIO DE ADVOCACIA EXEMPLO LTDA",
"nome_fantasia": null,
"matriz_filial": "Matriz",
"situacao_cadastral": { "codigo": "02", "descricao": "Ativa", "data": "2015-06-01", "motivo": null },
"data_inicio_atividades": "2015-05-20",
"cnae_principal": { "codigo": "6911701", "descricao": "Serviços advocatícios" },
"endereco": { "logradouro": "AV CENTRAL", "numero": "200", "complemento": null, "bairro": "CENTRO", "cep": "88220000", "municipio": "ITAPEMA", "uf": "SC" },
"contato": { "telefone": null, "email": null }
}
],
"meta": { "page": 1, "pages": 8, "per_page": 20, "total": 153 }
}
Exemplos em outras linguagens
JavaScript (fetch)
const resp = await fetch('https://consultacnpj.site/api/v1/cnpj/00000000000191');
const json = await resp.json();
console.log(json.data.razao_social);
PHP
$json = json_decode(file_get_contents(
'https://consultacnpj.site/api/v1/empresas?razao_social=CHECKCRED&uf=SC'
), true);
foreach ($json['data'] as $empresa) {
echo $empresa['razao_social'], "\n";
}
Python (requests)
import requests
resp = requests.get('https://consultacnpj.site/api/v1/socios', params={'nome_socio': 'EXEMPLO DA SILVA'})
data = resp.json()
for socio in data['data']:
print(socio['nome_socio'], '-', socio['empresa']['razao_social'])
Limites de uso
O acesso gratuito à API é destinado a consultas pontuais e testes de integração. Para alto volume de requisições, dados adicionais (filtros PRO) e maior limite de paginação, confira os planos PRO.