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:

Filtro de datasets

Use datasets para escolher quais bases devem entrar na resposta. Sem filtro, a API retorna todas as bases publicadas para o CNPJ.

Para evitar respostas muito longas e melhorar a performance, informe sempre o menor conjunto de datasets necessário para a sua consulta.

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

# apenas dados da Receita Federal
curl -s "https://api.opencnpj.org/00000000000000?datasets=receita" | jq

# apenas CNO
curl -s "https://api.opencnpj.org/00000000000000?datasets=cno" | jq

# Receita Federal + CNO
curl -s "https://api.opencnpj.org/00000000000000?datasets=receita,cno" | 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

O OpenCNPJ publica múltiplas bases públicas em uma única API por CNPJ. Cada base tem atualização própria e pode ser solicitada separadamente pelo parâmetro datasets.

Total de CNPJs cadastrados na Receita Federal:
Última atualização geral:

Bases disponíveis na API

Carregando bases publicadas…

Base Última atualização Frequência de atualização Registros Filtro

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 as datas mais recentes das bases, a URL do ZIP e o MD5 para verificação.

Dataset público no BigQuery

A base cadastral da Receita Federal também está replicada 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. As bases são derivadas de fontes públicas e publicadas em ciclos. Consulte a tabela de bases na seção Dados acima para ver as últimas atualizações; os mesmos dados ficam disponíveis em /info.

Quanto tempo após a publicação das fontes vocês atualizam as bases?

Para a Receita Federal, em média até 2 dias após a publicação mensal. Para módulos adicionais, consulte a seção Dados, que mostra a última atualização publicada em /info.

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 para trabalhar com a base cadastral da Receita Federal.

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 Receita Federal publicada pelo OpenCNPJ. Se você usou filtro de datasets, verifique também se a base escolhida possui registros para esse CNPJ.