
API de Consulta de CNPJ
Consulta pública em tempo real de dados cadastrais completos de Pessoas Jurídicas (CNPJ) no Brasil. Dados obtidos diretamente de fontes oficiais da Receita Federal.
Aviso Importante: Sobre o nome "OpenCNPJ"
O nome OpenCNPJ é utilizado por diferentes projetos e serviços na internet. O projeto oficial mantido e operacionalizado pela iniciativa OpenCaramelo está disponível exclusivamente nos canais oficiais abaixo:
/cnpj/{cnpj}API de Consulta de CNPJParâmetros da Requisição
Valores aceitos no caminho (path) para filtragem e consulta:
| Parâmetro | Tipo | Posição | Obrigatório | Descrição e Formatação |
|---|---|---|---|---|
cnpj | string | path | Sim | Número do CNPJ da empresa. Aceita apenas números ou com caracteres de formatação (pontos, barras e hífen). O sistema sanitiza automaticamente. |
Console Interativo (Testar GET)
Realize requisições HTTP GET ao vivo e veja os tempos de resposta e o payload retornado:
{
"success": true,
"message": null,
"data": {
"cnpj": "00000000000191",
"situacaoCadastral": "Ativa",
"dataSituacaoCadastral": "03/11/2005",
"motivoSituacaoCadastral": "SEM MOTIVO",
"razaoSocial": "BANCO DO BRASIL SA",
"nomeFantasia": "DIRECAO GERAL",
"dataInicioAtividades": "01/08/1966",
"matriz": "Sim",
"naturezaJuridica": "Sociedade Anônima Aberta (2046)",
"capitalSocial": 90000000000,
"email": "[email protected]",
"telefone": "(61) 3493-9002",
"logradouro": "SETOR DE AUTARQUIAS NORTE QUADRA 5 BL A",
"numero": "SN",
"complemento": "LOTE B ED SEDE III",
"bairro": "ASA NORTE",
"municipio": "BRASILIA",
"uf": "DF",
"cep": "70040-912",
"opcaoSimples": "N",
"opcaoMei": "N",
"cnaes": [
{
"cnae": "6422100",
"descricao": "Bancos múltiplos, com carteira comercial"
}
],
"socios": [
{
"nomeSocio": "TARCIANA PAULA GOMES MEDEIROS",
"descricao": "Presidente",
"faixaEtaria": "41-50 anos"
}
]
}
}Estrutura do Payload (Campos de Retorno)
Descrição detalhada dos campos contidos no objeto data retornado pela API:
| Campo | Tipo de Dado | Significado |
|---|---|---|
success | boolean | Indica se a requisição foi atendida com êxito. |
message | string | null | Mensagem descritiva de erro ou aviso, quando houver. |
data.cnpj | string | Número do CNPJ normalizado (14 dígitos). |
data.razaoSocial | string | Razão social oficial registrada na Receita Federal. |
data.nomeFantasia | string | Nome de fantasia ou título do estabelecimento. |
data.situacaoCadastral | string | Situação cadastral na Receita (ex: Ativa, Baixada, Suspensa). |
data.dataSituacaoCadastral | string | Data da situação cadastral informada. |
data.naturezaJuridica | string | Código e descrição da natureza jurídica. |
data.capitalSocial | number | Valor do capital social registrado em reais. |
data.logradouro | string | Tipo e nome do logradouro cadastrado. |
data.municipio / uf | string | Cidade e Unidade Federativa do endereço. |
data.cep | string | Código de Endereçamento Postal (CEP). |
data.cnaes | array | Lista de CNAEs primário e secundários com códigos e descrições. |
data.socios | array | Quadro de Sócios e Administradores (QSA) com nomes, cargos e faixas etárias. |
Exemplos de Integração
Copie o trecho de código pronto e execute na sua aplicação:
curl -X GET "https://kitana.opencnpj.com/cnpj/00000000000191" \
-H "Accept: application/json"Códigos de Resposta HTTP
Padrões de retorno da API
| Código HTTP | Status | Significado e Tratamento Recomendado |
|---|---|---|
| 200 OK | Sucesso | CNPJ localizado e dados cadastrais retornados com sucesso no payload. |
| 400 Bad Request | Requisição Inválida | O CNPJ informado possui quantidade incorreta de dígitos ou caracteres incompatíveis. |
| 404 Not Found | Não Encontrado | O CNPJ não está cadastrado ou não foi localizado nas bases oficiais da Receita Federal. |
| 429 Too Many Requests | Rate Limit Excedido | O limite de 300 requisições por minuto por IP foi ultrapassado. Aguarde alguns instantes antes de reenviar. |
| 500 / 503 Internal Error | Erro Interno / Instabilidade | Instabilidade temporária nos serviços de dados governamentais. Tente novamente em instantes. |
Rate Limit & Boas Práticas
Orientações para consumo escalável, responsável e de alta performance
Armazenamento em Cache Local
Recomendamos salvar em banco de dados local ou cache (Redis/Memcached) os dados de empresas já consultadas. A ficha de um CNPJ raramente sofre alterações diárias.
300 Requisições por Minuto
O limite de 300 req/min equivale a uma média de 5 requisições por segundo por IP, sendo mais que suficiente para checkout de e-commerces, onboarding e rotinas de ERP.
Uso Sustentável e Responsável
O serviço é gratuito para toda a comunidade. Evite loops não controlados ou varreduras agressivas em lote para mantermos o projeto 100% aberto e sem cobranças.
Encontrou algum problema ou tem sugestões?
O OpenCNPJ é um projeto colaborativo mantido pelo OpenCaramelo. Sua contribuição é fundamental para mantermos a infraestrutura e a documentação sempre atualizadas.
