Consultar CNPJ
Consulta dados cadastrais de um CNPJ na Receita Federal (razão social, CNAE, QSA, endereço, Simples Nacional e MEI, contato e mais).
GET /api/consultar-cnpj
Consulta os dados cadastrais de uma empresa na Receita Federal pelo CNPJ. Retorna razão social, situação cadastral (com motivo e situação especial), data de abertura, matriz ou filial, CNAE principal e secundários, quadro societário (QSA), capital social, endereço, telefones, e-mail (quando a Receita Federal o publica) e a opção pelo Simples Nacional e pelo MEI.
Autenticação
Envie sua chave no header X-API-Key. Veja Autenticação para detalhes.
Parâmetros de consulta
| Name | Type | Required | Description |
|---|---|---|---|
cnpj | string | Sim | CNPJ do contribuinte (somente números, 14 dígitos). |
force_fresh | boolean | Não | Quando true, consulta os dados AO VIVO na Receita Federal (dados atuais), em vez da base pública mensal. Conta como 3 consultas (padrão: false, 1 consulta). |
Frescor dos dados: base mensal vs ao vivo
Por padrão a consulta usa a base pública mensal da Receita Federal — rápida e barata (1 consulta), mas pode estar defasada em até ~1 mês (ex.: uma empresa que mudou de natureza jurídica recentemente ainda pode aparecer com os dados antigos).
Para o dado atual, use force_fresh=true: a consulta vai ao vivo ao serviço da Receita no momento da chamada e retorna o cadastro atualizado.
Consulta ao vivo (force_fresh=true) conta como 3 consultas (contra 1 da consulta normal), pode levar alguns segundos a mais e reflete o dado atual da Receita. Consultas repetidas do mesmo CNPJ em um curto intervalo são servidas de cache (sem custo adicional de processamento).
Simples Nacional e MEI
Os campos de Simples Nacional e MEI (opcao_pelo_simples, opcao_pelo_mei e as datas) vêm sempre da base pública mensal da Receita Federal, não de consulta ao vivo. Mudanças recentes de opção ou exclusão podem levar até ~1 mês para aparecer.
Para a situação atual, consultada ao vivo na Receita, com regime regular de IBS/CBS e eventos futuros, use a Consulta Simples Nacional.
Na consulta ao vivo (force_fresh=true), esses campos voltam null: o cadastro consultado ao vivo não traz a opção pelo Simples. Se precisar dos dois, faça também a consulta padrão.
Quadro societário e regime tributário
Cada sócio do qsa traz, além do nome e da qualificação, o CPF ou CNPJ, o tipo (pessoa física, jurídica ou estrangeiro), a data de entrada na sociedade, a faixa etária, o país (sócio no exterior) e o representante legal, quando houver. O CPF vem mascarado, no formato em que a Receita Federal o publica (***123456**); o CNPJ de sócio pessoa jurídica vem completo, só com dígitos.
O regime_tributario traz a forma de tributação declarada em cada ano (ex.: LUCRO REAL, LUCRO PRESUMIDO), da base pública mensal.
Na consulta ao vivo (force_fresh=true), o nome e a qualificação dos sócios são os do dia. Os demais campos de cada sócio e o regime_tributario vêm da base mensal, para os sócios que já constam nela; sócio que entrou depois da última base volta com esses campos null.
Datas de opção ou de exclusão em 2007-07-01 (Simples Nacional) ou 2009-07-01 (MEI) são as datas de início de cada regime, como a Receita Federal as publica, e não a data em que a empresa fez a opção.
Campos que podem vir null
Os campos data_inicio_atividade em diante na tabela abaixo voltam null quando a informação não está disponível para aquele CNPJ. null quer dizer "não informado", nunca "não". Exemplo: opcao_pelo_simples: null não significa que a empresa não é optante, e sim que a base não traz registro de opção para ela (o caso comum de quem nunca optou). Só false indica que a empresa não é optante.
Telefones e e-mail, quando vêm, são os do cadastro público do CNPJ, devolvidos como a Receita Federal publica. No MEI e no empresário individual, costumam ser contatos pessoais do titular: trate-os conforme a LGPD na sua aplicação.
CNPJ com Inscrição Estadual
Esta consulta traz o cadastro da Receita Federal, que não inclui a Inscrição Estadual: a IE é cadastro de cada estado. Para ter a IE do mesmo CNPJ, use a mesma chave em /api/consultar-ie-todos. Ela procura o CNPJ nos 27 estados numa chamada (1 consulta) e devolve, por estado, a inscrição, a situação cadastral e a habilitação para NF-e. Cadastro da Receita (consulta padrão) + IE = 2 consultas; com force_fresh=true, 4.
curl "https://api.fiscalapi.com.br/api/consultar-ie-todos?cnpj=12345678000195" \
-H "X-API-Key: fapi_sua_chave_aqui"Exemplos de código
curl -X GET "https://api.fiscalapi.com.br/api/consultar-cnpj?cnpj=12345678000195" \
-H "X-API-Key: fapi_sua_chave_aqui"const response = await fetch(
"https://api.fiscalapi.com.br/api/consultar-cnpj?cnpj=12345678000195",
{ headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
);
const data = await response.json();
console.log(data.result);import requests
response = requests.get(
"https://api.fiscalapi.com.br/api/consultar-cnpj",
headers={"X-API-Key": "fapi_sua_chave_aqui"},
params={"cnpj": "12345678000195"},
)
data = response.json()
print(data["result"])$response = Http::withHeaders([
'X-API-Key' => 'fapi_sua_chave_aqui',
])->get('https://api.fiscalapi.com.br/api/consultar-cnpj', [
'cnpj' => '12345678000195',
]);
$data = $response->json();var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "fapi_sua_chave_aqui");
var response = await client.GetAsync(
"https://api.fiscalapi.com.br/api/consultar-cnpj?cnpj=12345678000195"
);
var data = await response.Content.ReadAsStringAsync();Resposta
Campos de nível superior
| Campo | Tipo | Descrição |
|---|---|---|
request_id | string | Identificador único da requisição (UUID). |
cnpj | string | CNPJ consultado. |
cached | boolean | Indica se o resultado veio do cache. |
source_status | object | Status da consulta na Receita Federal. |
source_status.status | string | success ou error. |
source_status.error_code | string | Código de erro (vazio se sucesso). |
source_status.error_message | string | Mensagem de erro (vazio se sucesso). |
result | object | Dados cadastrais do CNPJ. |
Campos do resultado (result)
| Campo | Tipo | Descrição |
|---|---|---|
razao_social | string | Razão social da empresa. |
nome_fantasia | string | Nome fantasia. |
situacao_cadastral | string | Situação cadastral: ATIVA, BAIXADA, SUSPENSA, etc. |
data_situacao_cadastral | string | Data da situação cadastral (formato YYYY-MM-DD). |
cnae_principal_codigo | string | Código CNAE da atividade principal. |
cnae_principal_descricao | string | Descrição da atividade principal. |
cnaes_secundarios | array | Lista de CNAEs secundários. |
cnaes_secundarios[].codigo | string | Código do CNAE secundário. |
cnaes_secundarios[].descricao | string | Descrição do CNAE secundário. |
natureza_juridica | string | Natureza jurídica da empresa. |
natureza_juridica_codigo | string | null | Código da natureza jurídica com 4 dígitos (ex.: 2062). |
ente_federativo_responsavel | string | null | Ente federativo responsável, só para órgãos e entidades públicas (ex.: UNIÃO). null nos demais. |
capital_social | string | Capital social (valor decimal como string). |
endereco | object | Endereço da empresa. |
endereco.logradouro | string | Logradouro. |
endereco.numero | string | Número. |
endereco.complemento | string | Complemento do endereço (ex: GALPAO 2). |
endereco.bairro | string | Bairro. |
endereco.municipio | string | Município. |
endereco.uf | string | UF. |
endereco.cep | string | CEP. |
endereco.codigo_ibge | string | Código IBGE do município (7 dígitos). |
endereco.tipo_logradouro | string | Tipo do logradouro (ex.: AVENIDA, RUA), quando a fonte o separa do logradouro. Vazio quando o tipo já vem dentro do logradouro. |
qsa | array | Quadro de Sócios e Administradores. |
qsa[].nome | string | Nome do sócio. |
qsa[].qualificacao | string | Qualificação do sócio. |
qsa[].cpf_cnpj | string | null | CPF mascarado como a Receita publica (***123456**) ou CNPJ do sócio pessoa jurídica, só dígitos. Sócio no exterior pode vir só com a raiz (8 dígitos). |
qsa[].tipo | string | null | PESSOA FISICA, PESSOA JURIDICA ou ESTRANGEIRO. |
qsa[].data_entrada_sociedade | string | null | Data de entrada na sociedade (YYYY-MM-DD). |
qsa[].faixa_etaria | string | null | Faixa etária do sócio pessoa física (ex.: 41-50, 80+). |
qsa[].pais | string | null | País do sócio domiciliado no exterior. null para sócio no Brasil. |
qsa[].representante_legal | object | null | Representante legal do sócio (menor, incapaz ou sócio no exterior). null quando não há. |
qsa[].representante_legal.nome | string | Nome do representante. |
qsa[].representante_legal.cpf | string | null | CPF mascarado do representante. |
qsa[].representante_legal.qualificacao | string | null | Qualificação do representante (ex.: Procurador). |
porte | string | Porte da empresa (ex: PEQUENO PORTE, DEMAIS). |
data_inicio_atividade | string | null | Data de abertura (formato YYYY-MM-DD). |
matriz_filial | string | null | MATRIZ ou FILIAL. |
motivo_situacao_cadastral | string | null | Motivo da situação cadastral (ex.: SEM MOTIVO). |
situacao_especial | string | null | Situação especial (ex.: recuperação judicial). null quando não há. |
data_situacao_especial | string | null | Data da situação especial (formato YYYY-MM-DD). |
telefones | array | null | Telefones do cadastro, DDD + número, só dígitos (ex.: ["6533334444"]). Lista vazia quando não há telefone cadastrado. |
email | string | null | E-mail do cadastro, quando a Receita Federal o publica. Vem principalmente na consulta ao vivo (force_fresh=true); na consulta padrão costuma voltar null. |
opcao_pelo_simples | boolean | null | true se optante pelo Simples Nacional, false se não. Base mensal; null sem registro de opção e na consulta ao vivo. |
data_opcao_pelo_simples | string | null | Data da opção pelo Simples Nacional (YYYY-MM-DD). |
data_exclusao_do_simples | string | null | Data da exclusão do Simples Nacional (YYYY-MM-DD). |
opcao_pelo_mei | boolean | null | true se enquadrado no MEI, false se não. Base mensal; null sem registro e na consulta ao vivo. |
data_opcao_pelo_mei | string | null | Data do enquadramento no MEI (YYYY-MM-DD). |
data_exclusao_do_mei | string | null | Data do desenquadramento do MEI (YYYY-MM-DD). |
regime_tributario | array | null | Forma de tributação declarada por ano, do mais antigo ao mais recente. Lista vazia quando a base não tem declaração para o CNPJ. |
regime_tributario[].ano | integer | Ano-calendário. |
regime_tributario[].forma_de_tributacao | string | Forma de tributação (ex.: LUCRO REAL, LUCRO PRESUMIDO). |
regime_tributario[].quantidade_de_escrituracoes | integer | null | Quantidade de escriturações entregues no ano. |
Exemplo de resposta
{
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"cnpj": "12345678000195",
"cached": false,
"source_status": {
"status": "success",
"error_code": "",
"error_message": ""
},
"result": {
"razao_social": "AGROPECUARIA BOA VISTA LTDA",
"nome_fantasia": "FAZENDA BOA VISTA",
"situacao_cadastral": "ATIVA",
"data_situacao_cadastral": "2010-05-20",
"cnae_principal_codigo": "0151-2/01",
"cnae_principal_descricao": "CRIACAO DE BOVINOS PARA CORTE",
"cnaes_secundarios": [
{
"codigo": "0111-3/01",
"descricao": "CULTIVO DE ARROZ"
}
],
"natureza_juridica": "206-2 - Sociedade Empresaria Limitada",
"capital_social": "500000.00",
"endereco": {
"logradouro": "ROD BR-364 KM 28",
"numero": "S/N",
"complemento": "GALPAO 2",
"bairro": "ZONA RURAL",
"municipio": "CUIABA",
"uf": "MT",
"cep": "78000-000",
"codigo_ibge": "5103403",
"tipo_logradouro": "RODOVIA"
},
"qsa": [
{
"nome": "JOAO DA SILVA",
"qualificacao": "Socio-Administrador",
"cpf_cnpj": "***123456**",
"tipo": "PESSOA FISICA",
"data_entrada_sociedade": "2010-05-20",
"faixa_etaria": "41-50",
"pais": null,
"representante_legal": null
}
],
"porte": "PEQUENO PORTE",
"data_inicio_atividade": "2010-05-20",
"matriz_filial": "MATRIZ",
"motivo_situacao_cadastral": "SEM MOTIVO",
"situacao_especial": null,
"data_situacao_especial": null,
"telefones": ["6533334444"],
"email": null,
"opcao_pelo_simples": true,
"data_opcao_pelo_simples": "2010-06-01",
"data_exclusao_do_simples": null,
"opcao_pelo_mei": false,
"data_opcao_pelo_mei": null,
"data_exclusao_do_mei": null,
"natureza_juridica_codigo": "2062",
"ente_federativo_responsavel": null,
"regime_tributario": [
{
"ano": 2023,
"forma_de_tributacao": "LUCRO PRESUMIDO",
"quantidade_de_escrituracoes": 1
},
{
"ano": 2024,
"forma_de_tributacao": "LUCRO PRESUMIDO",
"quantidade_de_escrituracoes": 1
}
]
}
}Códigos de erro
| Código | HTTP Status | Descrição |
|---|---|---|
PARAMETRO_AUSENTE | 400 | O parâmetro cnpj não foi informado. |
DOCUMENTO_INVALIDO | 400 | O CNPJ informado não é válido. |
CNPJ_NAO_ENCONTRADO | 404 | Nenhum registro encontrado para o CNPJ informado. |
SITE_INDISPONIVEL | 503 | O serviço da Receita Federal está indisponível no momento. |
RF_LIVE_ERROR | 502 | Falha temporária na consulta ao vivo (force_fresh=true). Tente novamente. |
LIMITE_ATINGIDO | 402 | Saldo de consultas insuficiente (a consulta ao vivo conta como 3). |
ERRO_INTERNO | 500 | Erro interno no servidor. |
API de consulta CNPJ · Planos e preços
Esta pagina foi util?
Como consultar NFS-e pela chave de acesso via API
Consulte uma NFS-e do padrão nacional só com a chave de acesso de 50 dígitos, sem certificado digital. Dados da nota em JSON e, se quiser, o PDF do DANFSe.
Consultar Simples Nacional
Consulta ao vivo na Receita Federal se um CNPJ é optante pelo Simples Nacional e se está enquadrado no SIMEI (MEI), com data da opção, regime regular de IBS/CBS e eventos futuros.