Visão Geral

OpenCNPJ é uma API pública e gratuita para consultar dados cadastrais de empresas brasileiras por CNPJ. Informe um CNPJ válido e receba uma resposta JSON simples, pronta para uso em aplicativos, integrações e automações.

API

Estrutura da URL

A API expõe um único recurso:

GET https://api.opencnpj.org/{CNPJ}

Retorna os dados do CNPJ informado em JSON.

Parâmetros

Path {CNPJ} 14 dígitos. Formatos aceitos:

Consulta rápida

Exemplos

# só números
curl -s https://api.opencnpj.org/00000000000000 | jq

# com pontuação completa
curl -s "https://api.opencnpj.org/00.000.000/0000-00" | jq

# com pontos e barra (sem hífen)
curl -s "https://api.opencnpj.org/00.000.000/000000" | jq

Resposta

Content-Type: application/json

Exemplo de resposta (campos podem variar):

{
  "cnpj": "00000000000000",
  "razao_social": "EMPRESA EXEMPLO LTDA",
  "nome_fantasia": "EXEMPLO",
  "situacao_cadastral": "Ativa",
  "data_situacao_cadastral": "2000-01-01",
  "matriz_filial": "Matriz",
  "data_inicio_atividade": "2000-01-01",
  "cnae_principal": "0000000",
  "cnaes_secundarios": [
    "0000001",
    "0000002"
  ],
  "cnaes_secundarios_count": 2,
  "natureza_juridica": "Sociedade Empresária Limitada",
  "logradouro": "RUA EXEMPLO",
  "numero": "123",
  "complemento": "SALA 1",
  "bairro": "BAIRRO EXEMPLO",
  "cep": "00000000",
  "uf": "SP",
  "municipio": "SAO PAULO",
  "email": "[email protected]",
  "telefones": [
    {
      "ddd": "11",
      "numero": "900000000",
      "is_fax": false
    }
  ],
  "capital_social": "1000,00",
  "porte_empresa": "Microempresa (ME)",
  "opcao_simples": null,
  "data_opcao_simples": null,
  "opcao_mei": null,
  "data_opcao_mei": null,
  "QSA": [
    {
      "nome_socio": "SOCIO PJ EXEMPLO",
      "cnpj_cpf_socio": "00000000000000",
      "qualificacao_socio": "Sócio Pessoa Jurídica",
      "data_entrada_sociedade": "2000-01-01",
      "identificador_socio": "Pessoa Jurídica",
      "faixa_etaria": "Não se aplica"
    },
    {
      "nome_socio": "SOCIA PF EXEMPLO",
      "cnpj_cpf_socio": "***000000**",
      "qualificacao_socio": "Administrador",
      "data_entrada_sociedade": "2000-01-01",
      "identificador_socio": "Pessoa Física",
      "faixa_etaria": "31 a 40 anos"
    }
  ]
}

Códigos de status

Autenticação e limites

Disponibilidade

Dados

Todos os dados são disponibilizados publicamente pela Receita Federal. A base é atualizada mensalmente, conforme a publicação mensal dos dados pela Receita Federal.

Total de CNPJs cadastrados na base:
Última atualização da base:

Download completo (ZIP)

Prefere trabalhar offline ou integrar localmente? Baixe a base completa de CNPJs em um único arquivo ZIP e processe no seu próprio ambiente. O pacote é atualizado mensalmente, em formato aberto.

Aviso: após descompactar, o volume esperado é de aproximadamente 550 GB.

URL:
MD5:

Quer automatizar o fluxo de atualização? Consulte https://api.opencnpj.org/info para obter a data mais recente, a URL do ZIP e o MD5 para verificação.

Dataset público no BigQuery

Todos os dados disponibilizados pela API estão replicados em um dataset do Google BigQuery. Priorize essa opção para consultas analíticas, validação em massa e enriquecimento de leads diretamente na nuvem, sem precisar baixar o ZIP.

Código Aberto

Este projeto é totalmente aberto: código, issues e discussões estão públicos para você auditar, contribuir e reutilizar.

Bibliotecas por Linguagem

Integrações mantidas pela comunidade para facilitar o uso do OpenCNPJ em diferentes linguagens.

Linguagem Criador Repositório
Delphi Valter Patrick github.com/valterpatrick/opencnpj
.NET Fulvio Canducci github.com/fulviocanducci/Canducci.OpenCnpj
PHP Fulvio Canducci github.com/fulviocanducci/php-opencnpj
Go Thiago Valle github.com/zthiagovalle/opencnpj
NestJS José Marinho github.com/jusemarinho/nestjs-opencnpj
Python Gabriel Oliva github.com/ofcoliva/opencnpj
Python Gustavo Gomes github.com/gustavogomesn/python-opencnpj

Tem uma biblioteca em outra linguagem? Envie um PR para adicionarmos aqui.

Apoie

As doações incentivam o projeto e ajudam a manter a infraestrutura e evoluir a API.

As doações viabilizam as ações planejadas para diminuir ainda mais o tempo de resposta, aumentar a disponibilidade e manter a infraestrutura, e ainda garantem a coquinha do desenvolvedor 😉

Perguntas e Respostas

Posso usar o serviço gratuitamente na minha empresa/serviço?

Sim. O uso é gratuito, inclusive para fins comerciais. Não oferecemos suporte dedicado.

Os dados são consultados/atualizados em tempo real?

Não. A base é derivada dos dados públicos da Receita Federal e é atualizada mensalmente, de acordo com a publicação oficial.

Quanto tempo após a publicação da Receita Federal vocês atualizam a base?

Em média, até 2 dias após a publicação mensal da Receita Federal.

Posso consultar massivamente os dados?

A API é pública e existe para o bem de todos. Para evitar que um mau uso prejudique outros usuários, não toleramos mais grandes volumes de consultas massivas (ex.: validação de bases inteiras sem intervalos).

Sobre limites: aceitamos picos de até 50 requisições/segundo por IP. Porém, para validação de bases ou consultas analíticas em larga escala, utilize o arquivo .zip disponível na seção Dados ou acesse nosso dataset público no BigQuery, que replica integralmente os dados da API.

Caso identifiquemos validação de bases inteiras sem pausas, aplicaremos dois bloqueios temporários; se continuar, aplicaremos um bloqueio permanente. Contamos com o bom senso: validar 10 mil CNPJs é muito diferente de validar 1 milhão.

Se precisar de um fluxo automatizado para consultas em batch, utilize preferencialmente o dataset no BigQuery ou o download do ZIP em vez de chamar a API individualmente.

Minha empresa tem muitas chamadas por segundo. Vocês oferecem plano pago?

Não. Todos os serviços são gratuitos. Se o uso estiver dentro do rate limit, não há problema.

O que acontece se eu ultrapassar o rate limit?

Você receberá um código HTTP 429 – Too Many Requests.

Vocês armazenam logs das consultas?

Não armazenamos logs identificáveis das consultas. Mantemos apenas métricas agregadas (quantidade de consultas e tempos de resposta) para estatísticas e melhoria contínua do serviço.

Consultei um CNPJ e não foi encontrado, mas ele existe. Por quê?

Se o CNPJ foi aberto recentemente, ele pode ainda não constar na nossa base, pois a atualização é mensal. Caso já tenha passado um mês e o CNPJ conste nos dados da Receita Federal, entre em contato conosco.