API REST · Dados da Receita Federal

Consulte dados de empresas brasileiras via API

Acesse CNPJ, razao social, socios, endereco, CNAE, Simples Nacional e mais. Dados atualizados da base publica da Receita Federal do Brasil.

50M+ Empresas
R$ 0,10 por consulta
99.9% Uptime
Exemplo de requisicao
GET /api/v1/empresas/cnpj/33000167000101
Authorization: Bearer SEU_TOKEN

// Resposta
{
  "razao_social": "PETROBRAS S.A.",
  "cnpj_completo": "33000167000101",
  "uf": "RJ",
  "situacao_cadastral": "02",
  "cnae_fiscal_principal": "0600001",
  "socios": "MAGDA CHAMBRIARD, ...",
  "capital_social": "205431960490.52"
}

Tudo que voce precisa para consultar empresas

Dados completos, enriquecidos e prontos para uso em qualquer aplicacao

Busca por CNPJ

Consulte qualquer empresa pelo CNPJ completo (14 digitos) ou basico (8 digitos). Retorna dados cadastrais completos.

Busca com Filtros

Combine filtros por UF, municipio, CNAE, porte, capital social e data de abertura para encontrar empresas especificas.

Busca por Nome

Pesquise empresas pela razao social. Filtre por estado para resultados mais precisos.

Quadro Societario

Acesse nomes e documentos de todos os socios e administradores da empresa.

Simples Nacional e MEI

Saiba se a empresa e optante pelo Simples Nacional ou MEI, com datas de opcao e exclusao.

Modo Preview

Visualize resultados com dados ofuscados antes de gastar creditos. Ideal para validar buscas.

Dados completos em cada consulta

Informacoes enriquecidas com descricoes de tabelas auxiliares da Receita Federal

Cadastro

  • CNPJ completo
  • Razao social e nome fantasia
  • Natureza juridica (codigo + descricao)
  • Porte da empresa
  • Capital social
  • Data de inicio da atividade
  • Situacao cadastral

Localizacao

  • Endereco completo (logradouro, numero, complemento)
  • Bairro e CEP
  • Municipio (codigo TOM + nome)
  • UF (estado)

Contato

  • Telefone principal (DDD + numero)
  • Telefone secundario
  • Fax
  • Email corporativo

Atividade

  • CNAE principal (codigo + descricao)
  • CNAEs secundarios (codigos + descricoes)
  • Simples Nacional (opcao, datas)
  • MEI (opcao, datas)
  • Socios e documentos

Documentacao da API

Endpoints simples e bem documentados. Integre em minutos.

Autenticacao

Todas as requisicoes exigem um token enviado via header Authorization: Bearer TOKEN, query ?token=TOKEN ou body JSON.

POST /api/v1/auth/register Cadastro de usuario

Body (JSON)

usernamestringObrigatorioMin. 3 caracteres, unico
emailstringObrigatorioEmail valido, unico
passwordstringObrigatorioMin. 6 caracteres

Resposta (201)

{
  "message": "Usuario criado com sucesso",
  "user": { "id": 1, "username": "meu_user", "creditos": 10 },
  "api_token": "aBcDeFgH...",
  "jwt_token": "eyJhbG..."
}

Ao se cadastrar, o usuario recebe 10 creditos gratuitos para testar a API.

POST /api/v1/auth/login Login (retorna JWT + API token)

Body (JSON)

{ "login": "usuario_ou_email", "password": "senha" }

Resposta (200)

{
  "user": { "id": 1, "username": "meu_user", "creditos": 85 },
  "api_token": "aBcDeFgH...",
  "jwt_token": "eyJhbG..."
}
GET /api/v1/auth/me Dados do usuario autenticado

Resposta (200)

{ "id": 1, "username": "meu_user", "email": "email@ex.com", "creditos": 85, "api_token": "...", "is_admin": false }
GET /api/v1/auth/creditos Saldo de creditos
{ "creditos": 85 }
POST /api/v1/auth/alterar-senha Alterar senha
{ "senha_atual": "antiga", "nova_senha": "nova123" }
POST /api/v1/auth/regenerar-token Regenerar API token

Gera um novo API token, invalidando o anterior.

{ "new_token": "NoVoToKeN...", "message": "Token regenerado com sucesso" }

Consulta de Empresas

Endpoints principais. Consomem 1 credito por empresa retornada (exceto com preview=true).

GET /api/v1/empresas/cnpj/{cnpj} Consulta por CNPJ

Parametros de URL

cnpjstringObrigatorioCNPJ com 8 ou 14 digitos (com ou sem formatacao)

Query parameters

previewbooleanOpcionalSe true, retorna dados ofuscados sem consumir creditos

Exemplo

curl -H "Authorization: Bearer TOKEN" \
  https://api.cnpjota.com.br/api/v1/empresas/cnpj/33000167000101

Resposta (200)

{
  "data": [{
    "cnpj_completo": "33000167000101",
    "razao_social": "PETROBRAS S.A.",
    "nome_fantasia": "PETROBRAS",
    "uf": "RJ",
    "situacao_cadastral": "02",
    "cnae_fiscal_principal": "0600001",
    "cnae_fiscal_principal_descricao": "Extracao de petroleo...",
    "socios": "MAGDA CHAMBRIARD, ...",
    "capital_social": "205431960490.52",
    ...
  }],
  "total_records": 1,
  "creditos_restantes": 84,
  "creditos_consumidos": 1,
  "preview": false
}
GET /api/v1/empresas/filtros Busca com filtros combinados

Query parameters

ufstringObrigatorioSigla do estado (SP, RJ...)
city_codestringOpcionalCodigo(s) TOM do municipio, separados por virgula
cnae_principalstringOpcionalCodigo CNAE fiscal principal
cnae_secundariostringOpcionalCodigo CNAE secundario (busca parcial)
porte_empresastringOpcional01=Nao informado, 02=Micro, 03=Pequeno, 05=Demais
situacao_cadastralstringOpcionalDefault: 02 (Ativa)
capital_social_minnumberOpcionalCapital social minimo (R$)
capital_social_maxnumberOpcionalCapital social maximo (R$)
data_inicio_minstringOpcionalData minima (YYYY-MM-DD)
data_inicio_maxstringOpcionalData maxima (YYYY-MM-DD)
limiteintegerOpcional1-1000, default 100 (limitado pelos creditos)
paginaintegerOpcionalPagina dos resultados (default: 1)
previewbooleanOpcionalDados ofuscados, sem custo

Exemplo

curl -H "Authorization: Bearer TOKEN" \
  "https://api.cnpjota.com.br/api/v1/empresas/filtros?uf=SP&cnae_principal=6201501&limite=50"

Retorna tambem dados de Simples Nacional e MEI (opcao, datas de opcao e exclusao).

GET /api/v1/empresas/busca Busca por razao social

Query parameters

qstringObrigatorioTermo de busca (min. 3 caracteres)
ufstringOpcionalFiltrar por estado
limiteintegerOpcionalDefault 20, max 100
paginaintegerOpcionalPaginacao (default: 1)
previewbooleanOpcionalDados ofuscados, sem custo

Exemplo

curl -H "Authorization: Bearer TOKEN" \
  "https://api.cnpjota.com.br/api/v1/empresas/busca?q=PETROBRAS&uf=RJ"

Tabelas Auxiliares (sem custo)

Endpoints de apoio que nao consomem creditos.

GET /api/v1/municipios Lista de municipios (codigo TOM + UF)
ufstringOpcionalFiltrar por estado
{ "data": [{ "tom_code": "7107", "nome": "SAO PAULO", "uf": "SP" }, ...] }
GET /api/v1/cnaes Busca de CNAEs por codigo ou descricao
qstringOpcionalBusca por codigo ou descricao
limiteintegerOpcionalDefault 50, max 200
{ "data": [{ "codigo": "6201501", "descricao": "Desenvolvimento de programas..." }] }

Pagamentos

Compra de creditos via MercadoPago.

POST /api/v1/payment/comprar Criar pagamento para compra de creditos
// Body
{ "valor": 10.00 }

// Resposta
{
  "init_point": "https://www.mercadopago.com.br/checkout/...",
  "transacao_id": 42,
  "valor": 10.00,
  "creditos": 100
}

Redirecione o usuario para init_point para concluir o pagamento. Valor minimo: R$ 10,00.

GET /api/v1/payment/status/{id} Status de uma transacao

Retorna status da transacao: pending, approved ou failed.

GET /api/v1/payment/minhas-compras Historico de compras do usuario

Retorna as ultimas 20 transacoes do usuario autenticado.

Exemplos de Integracao

import requests

BASE = "https://api.cnpjota.com.br/api/v1"
TOKEN = "seu_api_token"
headers = {"Authorization": f"Bearer {TOKEN}"}

# Consulta por CNPJ
r = requests.get(f"{BASE}/empresas/cnpj/33000167000101", headers=headers)
print(r.json())

# Busca por filtros
params = {"uf": "SP", "cnae_principal": "6201501", "limite": 50}
r = requests.get(f"{BASE}/empresas/filtros", headers=headers, params=params)
print(r.json())

# Busca por nome
r = requests.get(f"{BASE}/empresas/busca", headers=headers, params={"q": "PETROBRAS"})
print(r.json())
# Cadastro
curl -X POST https://api.cnpjota.com.br/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username":"meu_user","email":"email@ex.com","password":"senha123"}'

# Consulta por CNPJ
curl -H "Authorization: Bearer SEU_TOKEN" \
  https://api.cnpjota.com.br/api/v1/empresas/cnpj/33000167000101

# Busca com filtros
curl -H "Authorization: Bearer SEU_TOKEN" \
  "https://api.cnpjota.com.br/api/v1/empresas/filtros?uf=SP&cnae_principal=6201501"

# Preview (sem custo)
curl -H "Authorization: Bearer SEU_TOKEN" \
  "https://api.cnpjota.com.br/api/v1/empresas/cnpj/33000167000101?preview=true"
const BASE = "https://api.cnpjota.com.br/api/v1";
const TOKEN = "seu_api_token";

const headers = { "Authorization": `Bearer ${TOKEN}` };

// Consulta por CNPJ
const resp = await fetch(`${BASE}/empresas/cnpj/33000167000101`, { headers });
const data = await resp.json();
console.log(data);

// Busca por filtros
const params = new URLSearchParams({ uf: "SP", cnae_principal: "6201501", limite: "50" });
const resp2 = await fetch(`${BASE}/empresas/filtros?${params}`, { headers });
console.log(await resp2.json());

Codigos de Erro

HTTPDescricao
400Requisicao invalida (parametros incorretos)
401Token ausente, invalido ou expirado
403Acesso negado
404Recurso nao encontrado
409Conflito (usuario/email ja existe)
429Limite de requisicoes excedido
500Erro interno do servidor

Precos simples e transparentes

Pague apenas pelo que usar. Sem mensalidades, sem surpresas.

Teste

Gratuito

R$ 0

Para conhecer a API

  • 10 creditos ao cadastrar
  • Acesso a todos os endpoints
  • Preview ilimitado (dados ofuscados)
  • Documentacao completa
Criar Conta Gratis

Consultas auxiliares (municipios, CNAEs) e o modo preview nao consomem creditos.

Rate Limiting

Limites por IP para garantir a estabilidade do servico

10
req/min
Autenticacao
60
req/min
Consultas de empresas
30
req/min
Pagamentos
200
req/min
Limite geral

Perguntas Frequentes

Os dados sao provenientes da base publica de CNPJ da Receita Federal do Brasil, disponibilizada no Portal de Dados Abertos. Inclui informacoes de empresas, estabelecimentos, socios, Simples Nacional e tabelas auxiliares (CNAEs, municipios, naturezas juridicas).

O modo preview (?preview=true) retorna os resultados com dados sensiveis ofuscados (telefones, emails, enderecos parciais, nomes de socios parciais). Nao consome creditos e e ideal para validar se a busca retorna o que voce precisa antes de gastar creditos.

Nao. Os creditos comprados nunca expiram. Voce pode usa-los no seu proprio ritmo.

Cada empresa retornada em uma consulta consome 1 credito. Se voce buscar por filtros e retornarem 50 empresas, serao consumidos 50 creditos. A consulta por CNPJ unico consome 1 credito. Consultas auxiliares (municipios, CNAEs) e preview nao consomem creditos. A taxa e de 10 creditos por R$ 1,00 (R$ 0,10 por consulta).

O CNPJ basico sao os 8 primeiros digitos e identifica a empresa (raiz). O CNPJ completo (14 digitos) identifica um estabelecimento especifico (matriz ou filial). Ao buscar pelo basico, a API retorna dados da empresa e do estabelecimento principal (matriz).

O pagamento e processado pelo MercadoPago, que aceita cartao de credito, debito, boleto bancario e Pix. A compra minima e de R$ 10,00 (100 creditos).

Pronto para comecar?

Crie sua conta gratuitamente e receba 10 creditos para testar a API agora mesmo.