Documentação da API
Bem-vindo à documentação oficial da API Mapa CNPJ. Nossa API RESTful fornece acesso a dados completos de empresas brasileiras de forma rápida, segura e padronizada.
Plano Gratuito
Sem TokenDisponível publicamente para consultas simples. Não necessita de chave de API ou cadastro prévio.
Plano Pago / PRO
Com TokenDesbloqueia maior volume de requisições, maior velocidade e dados completos. Requer envio do Token no cabeçalho.
Primeiros Passos
Para começar a integrar a API Mapa CNPJ no seu sistema, siga estes três passos simples:
GET enviando o CNPJ de 14 dígitos desejado na URL.
Autenticação (Planos Pagos)
Para utilizar a versão sem limitações da API, você deve incluir o seu Token de acesso no cabeçalho HTTP (Header) X-API-Key de todas as requisições.
curl -X GET \
'https://mapacnpj.seunegocionanuvem.com.br/api/11474116000189' \
-H 'X-API-Key: sua_api_key_aqui'
Consultar CNPJ
Retorna os dados cadastrais, financeiros e estruturais registrados para um determinado CNPJ.
Parâmetros da Requisição
| Parâmetro | Tipo | Local | Descrição |
|---|---|---|---|
cnpj |
string | URL | CNPJ com 14 dígitos. Ex: 11474116000189 |
X-API-Key |
string | Header | Sua chave de acesso (obrigatório apenas em planos PRO/Pagos). |
Atenção à Inscrição Estadual
No momento, o campo inscricoes_estaduais é retornado para empresas registradas nos seguintes estados:
BA, GO, MG, PB, PR, PE, RS, SC, SP e SE.
Estamos trabalhando continuamente para disponibilizar as Inscrições Estaduais dos demais estados em breve.
Exemplo de Resposta Sucesso (200 OK)
{
"razao_social": "GOTA WEB SOLUCOES EM TECNOLOGIA LTDA",
"fantasia": "GOTA WEB - SOLUCOES EM TECNOLOGIA",
"contato": "GOTA WEB - SOLUCOES EM TECNOLOGIA",
"cnpj": "11474116000189",
"imunicipal": "",
"suframa": "",
"indIEDest": "1",
"endereco": "PRESIDENTE GETULIO VARGAS",
"numero": "373",
"complemento": "LOJAS 06 E 07",
"bairro": "CENTRO",
"cidade": "Santos Dumont",
"cd_cidade": "3160702",
"estado": "MG",
"cd_estado": "31",
"cd_pais": "1058",
"pais": "Brasil",
"cep": "36240075",
"telefone": "32 32510659",
"celular": "",
"fax": "",
"email": "contato@gotaweb.com.br",
"data_cadastro": "2010-01-20",
"atualizado_em": "2026-09-07 17:18:14",
"lgpd": 0,
"data_ultima_atualizacao": "2026-09-07 17:18:14",
"cnaes_secundarios": [
{
"codigo": "4751202",
"descricao": "Recarga de cartuchos para equipamentos de informática"
},
{
"codigo": "4752100",
"descricao": "Comércio varejista especializado de equipamentos de telefonia e comunicação"
},
{
"codigo": "4753900",
"descricao": "Comércio varejista especializado de eletrodomésticos e equipamentos de áudio e vídeo"
},
{
"codigo": "4761003",
"descricao": "Comércio varejista de artigos de papelaria"
},
{
"codigo": "4789007",
"descricao": "Comércio varejista de equipamentos para escritório"
},
{
"codigo": "6190699",
"descricao": "Outras atividades de telecomunicações não especificadas anteriormente"
},
{
"codigo": "7733100",
"descricao": "Aluguel de máquinas e equipamentos para escritório"
},
{
"codigo": "8219901",
"descricao": "Fotocópias"
},
{
"codigo": "8219999",
"descricao": "Preparação de documentos e serviços especializados de apoio administrativo não especificados anteriormente"
},
{
"codigo": "8599603",
"descricao": "Treinamento em informática"
},
{
"codigo": "9511800",
"descricao": "Reparação e manutenção de computadores e de equipamentos periféricos"
},
{
"codigo": "9512600",
"descricao": "Reparação e manutenção de equipamentos de comunicação"
},
{
"codigo": "9521500",
"descricao": "Reparação e manutenção de equipamentos eletroeletrônicos de uso pessoal e doméstico"
}
],
"inscricoes_estaduais": [
{
"inscricao_estadual": "0015374170074",
"ativo": 1,
"estado_sigla": "MG",
"atualizado_em": "2026-09-07 17:18:14"
}
],
"simples_nacional": {
"simples": "Sim",
"data_opcao_simples": "2010-01-20",
"data_exclusao_simples": null,
"mei": "Não",
"data_opcao_mei": "2010-01-20",
"data_exclusao_mei": "2013-12-31",
"atualizado_em": "2026-09-07 17:18:14"
},
"socios": [
{
"cnpj_basico": "11474116",
"identificador_socio": "Pessoa Física",
"nome_socio": "PEDRO HENRIQUE",
"cpf_cnpj_socio": "***089556**",
"qualificacao_socio": "49",
"data_entrada_sociedade": "2022-06-30",
"pais": "1058",
"representante_legal": "***000000**",
"nome_representante": null,
"qualificacao_representante": null,
"faixa_etaria": "31 a 40 anos"
}
],
"cnae_principal": {
"codigo": "4751201",
"descricao": "Comércio varejista especializado de equipamentos e suprimentos de informática"
},
"natureza_juridica": {
"codigo": "2062",
"descricao": "Sociedade Empresária Limitada"
},
"porte_empresa": {
"codigo": "01",
"descricao": "Micro Empresa"
},
"situacao_cadastral": {
"situacao": "Ativa",
"data": "2005-11-03",
"motivo": null
}
}
Campos Principais do Retorno
| Campo | Tipo | Descrição |
|---|---|---|
razao_social / fantasia |
string | Razão Social e Nome Fantasia da empresa. |
cnae_principal |
object | Código e descrição da atividade econômica principal. |
cnaes_secundarios |
array[object] | Lista de atividades econômicas secundárias. |
natureza_juridica |
object | Código e descrição da natureza jurídica. |
porte_empresa |
object | Porte da empresa (ME, EPP, Demais). |
situacao_cadastral |
object | Status da empresa (Ativa, Baixada, Suspensa, etc.) e data da situação. |
inscricoes_estaduais |
array[object] | Inscrições estaduais registradas por UF. |
simples_nacional |
object | Opção e histórico do Simples Nacional e MEI. |
socios |
array[object] | Quadro de Sócios e Administradores (QSA). |
Possíveis Valores de Situação Cadastral
O campo situacao_cadastral retorna o status atual da empresa conforme registrado na Receita Federal. Os possíveis valores são:
| ID | Situação | Descrição |
|---|---|---|
| 1 | Ativa | Empresa em funcionamento regular, com registros e obrigações em dia. |
| 2 | Baixada | Empresa com inscrição cancelada na Receita Federal (encerrada ou extinta). |
| 17 | Inapta | Empresa com deficiências cadastrais ou obrigações não cumpridas (ex: falta de declarações, impostos vencidos). |
| 18 | Baixada | Empresa com inscrição cancelada por solicitação (encerrada voluntariamente). |
| 31 | Suspensa | Empresa temporariamente suspensa por motivos legais ou administrativos. |
| 32 | Nula | Empresa registrada com dados nulos ou inválidos, devendo ser regularizada urgentemente. |
Entendendo a Situação Cadastral
A situação cadastral é atualizada pela Receita Federal e reflete o status legal da empresa. Uma empresa Ativa pode realizar operações normais, enquanto empresas Inaptas ou Suspensas podem enfrentar restrições legais e fiscais. É recomendável verificar esta informação antes de fechar parcerias comerciais ou firmar contratos.
Possíveis Valores de Porte da Empresa
O campo porte_empresa classifica a empresa conforme seu tamanho e faturamento. Exemplo de retorno:
"porte_empresa": {
"codigo": "01",
"descricao": "Micro Empresa"
}
Os possíveis códigos e descrições são:
| Código | Descrição | Faixa de Faturamento / Critério |
|---|---|---|
| 01 | Empresa de Pequeno Porte | Receita bruta anual entre R$ 360 mil e R$ 4,8 milhões |
| 02 | Micro Empresa | Receita bruta anual até R$ 360 mil |
| 03 | Demais | Receita bruta anual superior a R$ 4,8 milhões (Empresa de Grande Porte) |
| 04 | Micro Empresa | Classificação alternativa de Micro Empresa |
| 08 | Empresa de Pequeno Porte | Classificação alternativa de Pequeno Porte |
| 195 | Demais | Demais classificações ou empresas que não se enquadram nos critérios acima |
Nota Importante sobre Porte da Empresa
O porte da empresa determina benefícios fiscais, acesso a programas de financiamento e obrigações contábeis. Micro Empresas e Empresas de Pequeno Porte (EPP) enquadradas no Simples Nacional têm regimes tributários diferenciados. Esta classificação é essencial para avaliar a saúde financeira e a viabilidade comercial de potenciais parceiros.
Possíveis Valores de Natureza Jurídica
O campo natureza_juridica identifica a forma legal da entidade. Exemplo de retorno:
"natureza_juridica": {
"codigo": "2062",
"descricao": "Sociedade Empresária Limitada"
}
A API retorna diversos códigos de natureza jurídica conforme classificação da Receita Federal. Abaixo estão os principais tipos:
| Código | Descrição | Classificação |
|---|---|---|
| 2062 | Sociedade Empresária Limitada | Pessoa Jurídica Privada |
| 2135 | Empresário (Individual) | Pessoa Jurídica Privada |
| 3999 | Associação Privada | Pessoa Jurídica Privada |
| 2143 | Cooperativa | Pessoa Jurídica Privada |
| 2054 | Sociedade Anônima Fechada | Pessoa Jurídica Privada |
| 2046 | Sociedade Anônima Aberta | Pessoa Jurídica Privada |
| 2038 | Sociedade de Economia Mista | Pessoa Jurídica Mista |
| 2305 | Empresa Individual de Responsabilidade Limitada (EIRELI) | Pessoa Jurídica Privada |
| 2348 | Empresa Simples de Inovação | Pessoa Jurídica Privada |
| 2232 | Sociedade Simples Pura | Pessoa Jurídica Privada |
| 2240 | Sociedade Simples Limitada | Pessoa Jurídica Privada |
| 2070 | Sociedade Empresária em Nome Coletivo | Pessoa Jurídica Privada |
| 2216 | Empresa Domiciliada no Exterior | Pessoa Jurídica Estrangeira |
| 2178 | Estabelecimento no Brasil de Sociedade Estrangeira | Pessoa Jurídica Estrangeira |
| 1015 | Órgão Público do Poder Executivo Federal | Pessoa Jurídica Pública |
| 1023 | Órgão Público do Poder Executivo Estadual/DF | Pessoa Jurídica Pública |
| 1031 | Órgão Público do Poder Executivo Municipal | Pessoa Jurídica Pública |
| 1104 | Autarquia Federal | Pessoa Jurídica Pública |
| 2011 | Empresa Pública | Pessoa Jurídica Pública |
| 1139 | Fundação Pública de Direito Público Federal | Pessoa Jurídica Pública |
| 3069 | Fundação Privada | Pessoa Jurídica Privada |
| 3220 | Organização Religiosa | Pessoa Jurídica Privada |
| 3131 | Entidade Sindical | Pessoa Jurídica Privada |
| 3085 | Condomínio Edilício | Pessoa Jurídica Privada |
| 4120 | Produtor Rural (Pessoa Física) | Pessoa Física |
Sobre Natureza Jurídica
A natureza jurídica define a forma legal e fiscal da entidade perante a Receita Federal. Pessoas Jurídicas (CNPJ) são organizações constituídas legalmente, enquanto Pessoas Físicas (CPF) são indivíduos. Esta classificação é fundamental para determinar obrigações tributárias, direitos e responsabilidades legais. Sociedades Limitadas e Anônimas são as mais comuns em operações comerciais.
Inscrições Estaduais (IE)
O campo inscricoes_estaduais lista os registros de Inscrição Estadual (IE) da empresa em cada estado brasileiro. Exemplo de retorno:
"inscricoes_estaduais": [
{
"inscricao_estadual": "0015374170074",
"ativo": 1,
"estado_sigla": "MG",
"atualizado_em": "2026-09-07 17:18:14"
}
]
Estrutura dos Campos
| Campo | Tipo | Descrição |
|---|---|---|
inscricao_estadual |
string | Número único da Inscrição Estadual no estado especificado. |
ativo |
integer | Status da inscrição estadual (veja tabela de valores abaixo). |
estado_sigla |
string | Sigla do estado (UF) onde a inscrição estadual é válida. Ex: MG, SP, RJ. |
atualizado_em |
datetime | Data e hora da última atualização desta inscrição estadual. |
Possíveis Valores de Status (Campo "ativo")
O campo ativo indica o status da inscrição estadual:
| Valor | Status | Descrição |
|---|---|---|
| 1 | Ativa | Inscrição estadual válida e em funcionamento regular no estado. A empresa está regularizada perante a administração tributária estadual. |
| 0 | Inativa | Inscrição estadual cancelada ou suspensa. A empresa não está mais ativa naquele estado. |
| 2 | Com Pendência | Inscrição estadual com pendências administrativas ou fiscais. A empresa necessita regularizar obrigações perante o estado. |
Disponibilidade de Inscrições Estaduais
No momento, o campo inscricoes_estaduais é retornado apenas para empresas registradas nos seguintes estados: BA, GO, MG, PB, PR, PE, RS, SC, SP e SE.
Estamos trabalhando continuamente para disponibilizar as Inscrições Estaduais dos demais estados em breve. A inscrição estadual é essencial para validar a capacidade fiscal da empresa e garantir conformidade com as legislações estaduais.
Códigos de Erro
A API utiliza códigos padrão de resposta HTTP para indicar o sucesso ou falha de uma requisição. Em caso de erro, o corpo da resposta conterá uma mensagem explicativa em formato JSON.
| Código HTTP | Status | Causa | Ação Recomendada |
|---|---|---|---|
| 200 | OK | Requisição processada com sucesso. | Nenhuma ação necessária. |
| 400 | Bad Request | CNPJ em formato inválido ou com tamanho diferente de 14 dígitos. | Remova caracteres especiais e verifique o tamanho antes do envio. |
| 401 | Unauthorized | Header X-API-Key ausente, inválido ou desativado. |
Verifique se a sua Chave de API está configurada corretamente no Header. |
| 404 | Not Found | O CNPJ informado não existe na base de dados da Receita Federal. | Confirme se o CNPJ consultado é um número válido. |
| 429 | Too Many Requests | Limite de requisições por minuto/mês atingido para seu plano. | Aguarde o período de bloqueio ou faça o upgrade do seu plano. |
| 500 | Internal Error | Erro nos servidores do Mapa CNPJ. | Aguarde alguns instantes e tente novamente. Se persistir, entre em contato com o suporte. |
Exemplos de Resposta de Erro (JSON)
Exemplo 400 - CNPJ Inválido:
{
"status": 400,
"erro": "Bad Request",
"mensagem": "O CNPJ informado deve conter exatamente 14 digitos numericos."
}
Exemplo 401 - Não Autorizado:
{
"status": 401,
"erro": "Unauthorized",
"mensagem": "Chave de API (X-API-Key) invalida ou nao informada."
}
Exemplo 404 - Não Encontrado:
{
"status": 404,
"erro": "Not Found",
"mensagem": "CNPJ nao encontrado na base de dados."
}
Rate Limit (Limites de Requisições)
Para proteger nossa infraestrutura contra abusos e garantir estabilidade para todos os usuários, aplicamos limites de requisições por IP e por API Key.
- Plano Gratuito: Até 3 requisições por minuto por IP.
- Planos Pagos (PRO): Limite contratado conforme o seu plano.
Sempre que você realizar uma chamada na API, os cabeçalhos de resposta indicarão o estado atual do seu consumo:
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1700000000
Exemplos de Código
PHP
<?php
$cnpj = '11474116000189';
$apiKey = 'sua_api_key_aqui'; // Opcional para plano gratuito
$ch = curl_init("https://mapacnpj.seunegocionanuvem.com.br/api/{$cnpj}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: {$apiKey}"]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$data = json_decode($response, true);
echo "Razão Social: " . $data['razao_social'] . "\n";
echo "Situação: " . $data['situacao_cadastral']['situacao'] . "\n";
echo "Simples Nacional: " . $data['simples_nacional']['simples'];
} else {
echo "Erro ({$httpCode}): " . $response;
}
Python
import requests
api_key = "sua_api_key_aqui" # Opcional para plano gratuito
cnpj = "11474116000189"
headers = {"X-API-Key": api_key}
response = requests.get(
f"https://mapacnpj.seunegocionanuvem.com.br/api/{cnpj}",
headers=headers
)
if response.status_code == 200:
data = response.json()
print("Razão Social:", data.get("razao_social"))
print("Atividade Principal:", data.get("cnae_principal", {}).get("descricao"))
else:
print(f"Erro {response.status_code}:", response.json())
JavaScript (Fetch API)
const apiKey = 'sua_api_key_aqui'; // Opcional para plano gratuito
const cnpj = '11474116000189';
async function consultarCNPJ() {
try {
const response = await fetch(`https://mapacnpj.seunegocionanuvem.com.br/api/${cnpj}`, {
headers: { 'X-API-Key': apiKey }
});
const data = await response.json();
if (response.ok) {
console.log('Empresa:', data.razao_social);
console.log('Inscrições Estaduais:', data.inscricoes_estaduais);
} else {
console.error(`Erro ${response.status}:`, data.mensagem);
}
} catch (error) {
console.error('Erro de conexão:', error);
}
}
consultarCNPJ();
Boas Práticas
Para garantir alta performance, segurança e uso eficiente da API Mapa CNPJ em suas aplicações, recomendamos a adoção das seguintes diretrizes técnicas:
Segurança de Credenciais
Nunca exponha seu token X-API-Key no código client-side (browsers ou apps móveis). Realize as chamadas sempre via Backend (Server-to-Server) para manter suas credenciais seguras.
Estratégia de Cache
Dados cadastrais do CNPJ mudam com pouca frequência. Armazene as respostas em cache local (Redis, Memcached ou Banco de Dados) por 15 a 30 dias para reduzir latência e otimizar a cota de uso.
Higienização da Entrada
Trate os dados no frontend/backend antes do envio: remova caracteres de pontuação (., /, -) e garanta que o CNPJ possua exatamente 14 dígitos.
Timeouts e Re-tentativas
Configure timeouts curtos na requisição HTTP (ex: 5 a 10 segundos). Em caso de erros temporários de rede ou 429 Rate Limit, utilize algoritmo de Exponential Backoff para re-tentativas.
Exemplo: Sanitização de CNPJ antes da chamada (PHP & JS)
// PHP: Higienizando o CNPJ e mantendo letras e números
function limparCNPJ(string $cnpj): string {
return strtoupper(preg_replace('/[^A-Za-z0-9]/', '', $cnpj));
}
// JavaScript: Higienizando no frontend/Node.js
const limparCNPJ = (cnpj) =>
cnpj.replace(/[^A-Za-z0-9]/g, '').toUpperCase();