Skip to content

Rotina em python para gerar listas de cnpjs a partir da base de dados públicos da Receita Federal

License

Notifications You must be signed in to change notification settings

rictom/cnpj_consulta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Consulta CNPJ Listas

Rotina para gerar listas de cnpjs a partir da base de dados públicos da Receita Federal. Este programa utiliza uma base local em sqlite cnpj.db, que deve ser gerada utilizando o projeto https://github.com/rictom/cnpj-sqlite ou pelo programa Rede_Cria_Tabelas.

Dados públicos de CNPJs no site da Receita:

Os arquivos csv zipados com os dados de CNPJs estão disponíveis em https://dados.gov.br/dados/conjuntos-dados/cadastro-nacional-da-pessoa-juridica---cnpj ou https://arquivos.receitafederal.gov.br/cnpj/dados_abertos_cnpj/

Requisitos

Como a base ocupa bastante espaço, é recomendável ter 100GB de SSD disponível como disco principal no computador, bem como 16GB de memória RAM.

Versão Executável

Uma versão executável está na pasta apps deste repositório. Foi gerado pela biblioteca pyinstaller e testado em Windows 10. Para gerar o arquivo cnpj.db, baixe o programa Rede_Cria_Tabelas disponível em https://www.redecnpj.com.br/rede/pag/aplicativo.html?src=gh e execute as partes 1 e 2 desse programa (baixar as bases e gerar a base cnpj.db). Descompacte o arquivo cnpj_listas.win.zip e salve o arquivo cnpj.db na mesma pasta que cnpj_listas.exe. Para executar, clique duas vezes no .exe.

Versão Python

É recomendável criar um ambiente para rodar o projeto, siga as orientações em https://docs.python.org/pt-br/3/library/venv.html. O arquivo cnpj.db deve estar na mesma pasta que o script cnpj_listas.py.

No console, dentro de um ambiente python, para instalar as bibliotecas utilizadas, rode pip install -r requirements.txt

Para executar o script para gerar listas, digite

python cnpj_listas.py

A primeira vez que o script for rodado, irá gerar índices no arquivo cnpj.db. Isso poderá levar dezenas de minutos ou horas para execução, dependendo do computador. O arquivo cnpj.db final terá mais de 60GB!

O script irá abrir uma janela no navegador padrão:
image

Consulta por CNPJ(s)

Digite um cnpj (pode ter pontos ou traços) e clique em Consulta. Vai aparecer o resultado:
image

Podem ser colocados vários CNPJs separados por espaços ou vírgulas.

Consulta por parâmetros

Pode-se utilizar a busca por parâmetros, por exemplo, Órgãos Federais em Brasília: image

As consultas podem ser feitas por UF, Município, CEP, Natureza Jurídica, CNAE primária ou secundária, Situação Cadastral, Porte da Empresa, Opção Simples, Opção Mei, Data de Início de Atividades e Capital Social.

Opção Exportar

Pressionando o botão Exportar, vai resultar em: image

Clicando no link para o arquivo, pode-se salvar o resultado em planiha: image

Quantidade de registros no resultado

Para definir a quantidade de resultados, digite nos campos "Limite de Registros na Tela" para número de registros se apertar o botão Consultar, ou "Limite de Registros para Exportar para o Excel" quando se apertar o botão Exportar. image

Lembre-se que a base tem mais de 60 milhões de empresas, então dependendo dos parâmetros as consultas poderão demorar.

Pré-requisitos:

Python 3.12;
Bibliotecas pywebio, pandas, sqlalchemy e nest_asyncio.
Esse projeto é utiliza a biblioteca pywebio (https://pywebio.readthedocs.io/en/latest/), que facilita a construção de uma interface mínima em python.

DOE!:

Se o projeto for útil, faça uma doação para a Paróquia do Padre Júlio Lancelotti: https://www.oarcanjo.net/site/doe/

Dificuldades:

Em caso de erros, dúvidas ou sugestões, abra uma issue (https://github.com/rictom/cnpj_consulta/issues) neste repositório.

Outras referências:

Projeto para visualizar os relacionamentos de sócios e de empresas de forma gráfica: https://github.com/rictom/rede-cnpj;
Carregar os dados de cnpjs para o banco de dados MYSQL: https://github.com/rictom/cnpj-mysql.

Histórico de versões

versão 0.2 (abril/2025)

  • opção para exportar listas

versão 0.1 (janeiro/2022)

  • primeira versão

About

Rotina em python para gerar listas de cnpjs a partir da base de dados públicos da Receita Federal

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages