Introdução
A API HockData expõe consultas aos dados oficiais da Receita Federal Brasileira via REST. Todas as respostas em JSON. Base URL: https://cnpj.hockdata.com.br/api/v1.
🔧 Veja todos os endpoints no Swagger interativo: /api/swagger
Autenticação
Todas as requisições devem incluir um header de autorização com sua API key no formato hk_live_xxxxxxxxxxxxxxxx:
Authorization: Bearer hk_live_xxxxxxxxxxxxxxxx
🔐 Faça login para ver sua API key — Entrar agora →
⚠️ Trate sua API key como uma senha. Nunca a exponha em código público, repositórios Git ou aplicações client-side.
Consulta individual
GET /api/v1/cnpj/{cnpj}
Consulta um CNPJ individual. Consome 1 da quota.
curl -H "Authorization: Bearer hk_live_xxxxxxxxxxxxxxxx" \ https://cnpj.hockdata.com.br/api/v1/cnpj/11222333000144
import requests
API_KEY = "hk_live_xxxxxxxxxxxxxxxx"
url = "https://cnpj.hockdata.com.br/api/v1/cnpj/11222333000144"
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.get(url, headers=headers)
print(r.json())
const API_KEY = "hk_live_xxxxxxxxxxxxxxxx";
const r = await fetch(
"https://cnpj.hockdata.com.br/api/v1/cnpj/11222333000144",
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const data = await r.json();
console.log(data);
{
"cnpj": "11222333000144",
"razao_social": "EMPRESA EXEMPLO LTDA",
"nome_fantasia": "EXEMPLO",
"data_abertura": "2010-03-15",
"atividade_principal": "62.01-5-01 - Desenvolvimento de programas de computador sob encomenda",
"atividade_secundaria": [
"62.02-3-00 - Desenvolvimento e licenciamento de programas de computador customizáveis",
"63.11-9-00 - Tratamento de dados, provedores de serviços de aplicação"
],
"logradouro": "RUA DAS FLORES, 123, SALA 4",
"cidade": "SAO PAULO",
"uf": "SP",
"cep": "01310100",
"email": "contato@exemplo.com.br",
"socios": [
{ "nome": "JOAO DA SILVA", "qualificacao": "Sócio-Administrador" },
{ "nome": "MARIA SANTOS", "qualificacao": "Sócia" }
]
}
Consulta em lote
POST /api/v1/cnpj/batch
Consulta múltiplos CNPJs (máx 1000 por requisição). Consome N da quota.
curl -X POST https://cnpj.hockdata.com.br/api/v1/cnpj/batch \
-H "Authorization: Bearer hk_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"cnpjs": ["11222333000144", "22333444000155"]}'
import requests
API_KEY = "hk_live_xxxxxxxxxxxxxxxx"
url = "https://cnpj.hockdata.com.br/api/v1/cnpj/batch"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
payload = {"cnpjs": ["11222333000144", "22333444000155"]}
r = requests.post(url, json=payload, headers=headers)
print(r.json())
const API_KEY = "hk_live_xxxxxxxxxxxxxxxx";
const r = await fetch("https://cnpj.hockdata.com.br/api/v1/cnpj/batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ cnpjs: ["11222333000144", "22333444000155"] })
});
const data = await r.json();
console.log(data);
{
"total": 2,
"encontrados": 2,
"nao_encontrados": [],
"resultados": [
{
"cnpj": "11222333000144",
"razao_social": "EMPRESA EXEMPLO LTDA",
"uf": "SP",
"cidade": "SAO PAULO"
},
{
"cnpj": "22333444000155",
"razao_social": "OUTRA EMPRESA SA",
"uf": "RJ",
"cidade": "RIO DE JANEIRO"
}
]
}
Dados da conta
GET /api/v1/account
Retorna plano, uso mensal e créditos da conta.
curl -H "Authorization: Bearer hk_live_xxxxxxxxxxxxxxxx" \ https://cnpj.hockdata.com.br/api/v1/account
import requests
API_KEY = "hk_live_xxxxxxxxxxxxxxxx"
url = "https://cnpj.hockdata.com.br/api/v1/account"
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.get(url, headers=headers)
print(r.json())
const API_KEY = "hk_live_xxxxxxxxxxxxxxxx";
const r = await fetch(
"https://cnpj.hockdata.com.br/api/v1/account",
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const data = await r.json();
console.log(data);
{
"email": "voce@exemplo.com.br",
"plano": "pro",
"uso_mes": 1234,
"limite": 5000,
"creditos": 100,
"plano_expira": "2026-07-12"
}
Códigos de erro
Todos os erros retornam o seguinte formato:
{"detail": {"erro": "...", "codigo": "..."}}
| Status | Código | Significado |
|---|---|---|
| 401 | unauthorized |
API key ausente ou inválida |
| 403 | — | Conta não verificada por e-mail |
| 400 | cnpj_invalido |
CNPJ não tem 14 dígitos |
| 404 | cnpj_nao_encontrado |
CNPJ não existe na base |
| 429 | quota_excedida |
Quota mensal estourada — compre créditos ou faça upgrade |
Quotas e planos
| Plano | Consultas/mês | Preço |
|---|---|---|
| Starter | 100 / mês | Grátis |
| Pro | 5.000 / mês | R$ 79 |
| Empresarial | Ilimitado | R$ 199 |
Créditos avulsos
Créditos avulsos (R$ 15 / R$ 60 / R$ 100 por 100 / 500 / 1000 consultas) não expiram e são consumidos automaticamente após esgotar a quota mensal do plano.
Ver planos →