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:
- Só números:
00000000000000
- Com pontuação completa:
00.000.000/0000-00
- Com pontos e barra (sem hífen):
00.000.000/000000
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
- 200 CNPJ encontrado
- 404 CNPJ não encontrado
- 429 limite de requisições excedido
Autenticação e limites
- Autenticação: não requer chaves ou tokens.
- Rate limit: aceitamos picos de até 50 requisições/segundo por IP.
Disponibilidade
- API 100% estática servida na borda pela CDN da Cloudflare, com alto cache.
- Tempos típicos: MISS ~150 ms, HIT ~40 ms.
- Alta disponibilidade 24/7.
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.
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.
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 |
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, utilize o arquivo .zip disponível na seção Dados é muito mais rápido e adequado inclusive para quem deseja apenas validar.
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.
Estamos trabalhando em uma solução para permitir consultas em batch. Até lá, por favor, use o ZIP para validação de bases.
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.