Pular para o conteúdo

Documentação da API.

Consulta de dados públicos de CNPJ sem chave e sem cadastro, com resposta em JSON. Exemplos em cURL, JavaScript, Python, PHP, Go, Java, C# e outras linguagens.

Introdução

A API do openCNPJ retorna, em JSON, os dados públicos de empresas brasileiras a partir do CNPJ. Ela é gratuita, não exige cadastro nem chave de acesso e funciona por HTTPS.

ItemValor
Base URLhttps://api.opencnpj.com.br
FormatoJSON (application/json; charset=utf-8)
AutenticaçãoNenhuma
Limite10 requisições por segundo por IP
CORSLiberado (Access-Control-Allow-Origin: *)

Início rápido

Faça uma requisição GET com o CNPJ de 14 caracteres, sem pontuação:

curl https://api.opencnpj.com.br/cnpj/06990590000123

A resposta é um objeto JSON com os dados da empresa (matriz), do estabelecimento consultado, dos sócios e do Simples Nacional.

Consultar um CNPJ

GET/cnpj/{cnpj}

Parâmetro

NomeOndeDescrição
cnpjcaminhoCNPJ completo com 14 caracteres, sem pontos, barra ou hífen. Aceita o formato numérico e o alfanumérico: os 12 primeiros caracteres podem ser letras A–Z ou números, e os 2 últimos são sempre números. Letras minúsculas são convertidas para maiúsculas.

Não há parâmetros de consulta nem corpo de requisição. Os métodos aceitos são GET, HEAD e OPTIONS.

Exemplos

cURL

curl -s https://api.opencnpj.com.br/cnpj/06990590000123

Resposta

Quando o CNPJ é encontrado, a API responde 200 OK com o objeto abaixo. Campos sem informação na fonte vêm como null. Listas vazias vêm como [].

Exemplo completo

Resposta real, resumida: cada lista mostra apenas o primeiro item, e nome e CPF do sócio foram substituídos por marcadores.

{
  "cnpj_raiz": "06990590",
  "razao_social": "GOOGLE BRASIL INTERNET LTDA.",
  "capital_social": "200000000.00",
  "responsavel_federativo": "",
  "observacao": null,
  "atualizado_em": null,
  "porte": {
    "id": "05",
    "descricao": "Demais"
  },
  "natureza_juridica": {
    "id": "2062",
    "descricao": "Sociedade Empresária Limitada"
  },
  "qualificacao_do_responsavel": {
    "id": 5,
    "descricao": "Administrador"
  },
  "simples": {
    "simples": "Não",
    "data_opcao_simples": null,
    "data_exclusao_simples": null,
    "mei": "Não",
    "data_opcao_mei": null,
    "data_exclusao_mei": null,
    "atualizado_em": null
  },
  "estabelecimento": {
    "cnpj": "06990590000123",
    "cnpj_raiz": "06990590",
    "cnpj_ordem": "0001",
    "cnpj_digito_verificador": "23",
    "tipo": "Matriz",
    "nome_fantasia": null,
    "situacao_cadastral": "Ativa",
    "data_situacao_cadastral": null,
    "motivo_situacao_cadastral": null,
    "situacao_especial": null,
    "data_situacao_especial": null,
    "data_inicio_atividade": "2004-09-01",
    "tipo_logradouro": "AVENIDA",
    "logradouro": "BRIG FARIA LIMA",
    "numero": "3477",
    "complemento": "ANDAR 17A20 TSUL  2  17A20",
    "bairro": "ITAIM BIBI",
    "cep": "04538133",
    "nome_cidade_exterior": null,
    "ddd1": "11",
    "telefone1": "23958400",
    "ddd2": null,
    "telefone2": null,
    "ddd_fax": "11",
    "fax": "37971128",
    "email": "[email protected]",
    "atualizado_em": null,
    "cidade": {
      "nome": "São Paulo",
      "ibge_id": 3550308,
      "siafi_id": "7107"
    },
    "estado": {
      "sigla": "SP",
      "nome": "São Paulo",
      "ibge_id": 35
    },
    "pais": {
      "id": "1058",
      "nome": "Brasil",
      "iso2": "BR",
      "iso3": "BRA",
      "comex_id": "105"
    },
    "atividade_principal": {
      "id": "6319400",
      "descricao": "Portais, provedores de conteúdo e outros serviços de informação na internet",
      "secao": "J",
      "divisao": "63",
      "grupo": "63.1",
      "classe": "63.19-4",
      "subclasse": "6319-4/00"
    },
    "atividades_secundarias": [
      {
        "id": "4751201",
        "descricao": "Comércio varejista especializado de equipamentos e suprimentos de informática",
        "secao": "G",
        "divisao": "47",
        "grupo": "47.5",
        "classe": "47.51-2",
        "subclasse": "4751-2/01"
      }
    ],
    "regimes_tributarios": [
      {
        "ano": 2024,
        "regime_tributario": "LUCRO REAL",
        "forma_de_tributacao": "LUCRO REAL",
        "atualizado_em": null
      }
    ],
    "inscricoes_estaduais": []
  },
  "socios": [
    {
      "nome": "NOME DO SÓCIO",
      "tipo": "Pessoa Física",
      "cpf_cnpj_socio": "***000000**",
      "data_entrada": "2014-08-26",
      "faixa_etaria": "61 a 70 anos",
      "pais_id": "1058",
      "nome_representante": null,
      "cpf_representante_legal": "***000000**",
      "atualizado_em": null,
      "qualificacao_socio": {
        "id": 5,
        "descricao": "Administrador"
      },
      "qualificacao_representante": null,
      "pais": {
        "id": "1058",
        "nome": "Brasil",
        "iso2": "BR",
        "iso3": "BRA",
        "comex_id": "105"
      }
    }
  ]
}

Empresa

Dados da raiz do CNPJ (os 8 primeiros caracteres), comuns à matriz e às filiais.

CampoTipoDescrição
cnpj_raizstring8 primeiros caracteres do CNPJ
razao_socialstring | nullNome empresarial
capital_socialstring | nullValor decimal com 2 casas, como texto (ex.: "1000.00")
porteobjeto | nullid e descricao: Não informado, Micro Empresa, Empresa de Pequeno Porte ou Demais
natureza_juridicaobjeto | nullid (código) e descricao
qualificacao_do_responsavelobjeto | nullid (número) e descricao
responsavel_federativostringEnte federativo responsável. Vazio ("") quando não se aplica
socioslistaQuadro societário, ver Sócios
simplesobjetoOpção pelo Simples e MEI, ver Simples Nacional
estabelecimentoobjetoUnidade consultada, ver Estabelecimento
observacao, atualizado_emnullReservados, sempre null

Estabelecimento

Dados da unidade (matriz ou filial) do CNPJ consultado.

CampoTipoDescrição
cnpjstringCNPJ completo, 14 caracteres
cnpj_raiz, cnpj_ordem, cnpj_digito_verificadorstringPartes do CNPJ (8 + 4 + 2)
tipostring | nullMatriz ou Filial
nome_fantasiastring | nullNome fantasia
situacao_cadastralstring | nullAtiva, Suspensa, Inapta, Baixada ou Nula
data_situacao_cadastraldata | nullData da situação atual
motivo_situacao_cadastralstring | nullMotivo da situação, quando houver
situacao_especial, data_situacao_especialstring | nullSituação especial e respectiva data
data_inicio_atividadedata | nullInício das atividades
atividade_principalobjeto | nullCNAE principal, ver CNAE
atividades_secundariaslistaCNAEs secundários, no mesmo formato
tipo_logradouro, logradouro, numero, complemento, bairro, cepstring | nullEndereço. O CEP vem só com números
cidadeobjeto | nullnome, ibge_id e siafi_id
estadoobjeto | nullsigla, nome e ibge_id
paisobjeto | nullVer País
nome_cidade_exteriorstring | nullCidade, para endereços no exterior
ddd1, telefone1, ddd2, telefone2, ddd_fax, faxstring | nullTelefones, conforme divulgados na fonte
emailstring | nullE-mail em letras minúsculas
regimes_tributarioslistaItens com ano (número), regime_tributario e forma_de_tributacao
inscricoes_estaduaislistaReservado, sempre []
atualizado_emnullReservado, sempre null

Sócios

Cada item da lista socios representa um integrante do quadro societário da matriz.

CampoTipoDescrição
nomestring | nullNome do sócio
tipostring | nullPessoa Física, Pessoa Jurídica ou Estrangeiro
cpf_cnpj_sociostring | nullCPF (mascarado na fonte) ou CNPJ do sócio
qualificacao_socioobjeto | nullid (número) e descricao
data_entradadata | nullData de entrada na sociedade
faixa_etariastring | nullEx.: 31 a 40 anos
pais_id, paisstring, objeto | nullPaís do sócio, ver País
nome_representante, cpf_representante_legalstring | nullRepresentante legal, quando houver
qualificacao_representanteobjeto | nullid e descricao do representante
atualizado_emnullReservado, sempre null

Simples Nacional

CampoTipoDescrição
simplesstringSim ou Não
data_opcao_simples, data_exclusao_simplesdata | nullOpção e exclusão do Simples
meistringSim ou Não
data_opcao_mei, data_exclusao_meidata | nullOpção e exclusão do MEI
atualizado_emnullReservado, sempre null

Objetos auxiliares

CNAE (atividade_principal e itens de atividades_secundarias): id (7 dígitos), secao (letra), divisao, grupo, classe, subclasse (já formatados) e descricao.

País: id (código da Receita Federal), nome, iso2, iso3 e comex_id.

Tipos: datas usam o formato AAAA-MM-DD. CNPJ, CEP e telefones são strings, o que preserva os zeros à esquerda. capital_social é string decimal.

Erros

Os erros seguem o mesmo formato JSON:

{
  "status": 404,
  "titulo": "CNPJ não encontrado",
  "detalhes": "O CNPJ 00000000000000 não foi localizado na base local.",
  "validacao": []
}
StatusQuando acontece
200CNPJ encontrado
204Resposta a OPTIONS (preflight CORS)
400CNPJ com formato inválido
404CNPJ não encontrado na base ou rota inexistente
405Método diferente de GET, HEAD ou OPTIONS
429Limite de requisições excedido
500Erro interno durante a consulta

Headers

HeaderDescrição
Content-Typeapplication/json; charset=utf-8
Cache-Controlno-store
X-Response-Time-MsTempo de processamento na API, em milissegundos
Server-TimingO mesmo tempo, no formato app;dur=...
Access-Control-Allow-Origin*, então a API pode ser chamada direto do navegador

O tempo informado é o processamento dentro da API e não inclui a latência de rede até o cliente.

Limites e boas práticas

  • O limite é de 10 requisições por segundo por IP. Acima disso, a API responde 429.
  • Envie o CNPJ sem pontos, barra ou hífen.
  • Trate os status 404, 429 e 500 e defina um timeout nas requisições.
  • Se você consulta o mesmo CNPJ com frequência, guarde o resultado em cache no seu sistema.
  • Os dados refletem a última base pública processada. Eles não substituem certidões nem a consulta oficial na Receita Federal.

Fonte dos dados

As informações vêm dos dados abertos do CNPJ publicados pela Receita Federal, complementados por bases públicas de localidades e regimes tributários. Veja os detalhes em Origem dos dados.