{"id":47032315,"url":"https://github.com/rictom/cnpj-sqlite","last_synced_at":"2026-03-12T00:01:31.745Z","repository":{"id":37578525,"uuid":"388653971","full_name":"rictom/cnpj-sqlite","owner":"rictom","description":"Script em python para carregar os arquivos de cnpj com dados públicos da Receita Federal para o formato sqlite","archived":false,"fork":false,"pushed_at":"2026-03-11T03:08:28.000Z","size":204,"stargazers_count":214,"open_issues_count":4,"forks_count":65,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-03-11T08:21:10.470Z","etag":null,"topics":["cnpj","dados-abertos","python","receita-federal","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rictom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["rictom"]}},"created_at":"2021-07-23T02:24:10.000Z","updated_at":"2026-03-11T03:08:31.000Z","dependencies_parsed_at":"2023-02-16T18:15:48.567Z","dependency_job_id":"63c2397e-d5f9-4aa9-adcc-fa8f3cd8770e","html_url":"https://github.com/rictom/cnpj-sqlite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rictom/cnpj-sqlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rictom%2Fcnpj-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rictom%2Fcnpj-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rictom%2Fcnpj-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rictom%2Fcnpj-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rictom","download_url":"https://codeload.github.com/rictom/cnpj-sqlite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rictom%2Fcnpj-sqlite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30407749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T22:36:59.286Z","status":"ssl_error","status_checked_at":"2026-03-11T22:36:57.544Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cnpj","dados-abertos","python","receita-federal","sqlite"],"created_at":"2026-03-12T00:00:53.509Z","updated_at":"2026-03-12T00:01:31.731Z","avatar_url":"https://github.com/rictom.png","language":"Python","readme":"# CNPJ-SQLITE\nScript em python para baixar e converter os arquivos de dados públicos de CNPJs para o formato [SQLITE](https://pt.wikipedia.org/wiki/SQLite). O código é compatível com o layout das tabelas disponibilizadas pela Receita Federal a partir de 2021.\u003cbr\u003e\u003cbr\u003e\n**AVISO IMPORTANTE: Ao final de janeiro/2026, a RFB alterou o layout da página e caminho dos arquivos. O script para baixar arquivos foi atualizado em março/2026, baseado na rotina do projeto [cnpj-data-pipeline](https://github.com/caiopizzol/cnpj-data-pipeline).**\u003cbr\u003e\n\n## Dados públicos de CNPJs no site da Receita:\nOs arquivos csv zipados com os dados de CNPJs são disponibilizados mensalmente em https://dados.gov.br/dados/conjuntos-dados/cadastro-nacional-da-pessoa-juridica---cnpj. As tabelas maiores, como empresas, estabelecimentos e sócios, estão divididas em dez partes. A tabela empresas tem dados das matrizes dos cnpjs, como razão social, natureza jurídica e capital social. A tabela estabelecimentos contém dados cadastrais de cada matriz/filial, como nome fantasia, cnae, endereço, etc. A tabela sócios tem informações como nome de sócio, data de entrada e tipo de vínculo. O dicionário de dados está disponível [aqui](https://www.gov.br/receitafederal/dados/cnpj-metadados.pdf). \u003cbr\u003e\nDepois de deszipadas, cada arquivo é um csv, isto é, arquivo de texto com as colunas separadas pelo caractere ponto e vírgula (;). Devido ao grande tamanho das tabelas (são mais de 60 milhões de registros) fica inviável trabalhar diretamente os csvs no Excel ou outro aplicativo de planilha. Este projeto gera um arquivo em formato sqlite.\u003cbr\u003e\n\n## Pré-requisitos:\nPython 3.9 ou posterior;\u003cbr\u003e\nBibliotecas pandas, dask, sqlalchemy, wget.\u003cbr\u003e\u003cbr\u003e\nRecomenda-se instalar o [Anaconda](https://www.anaconda.com/download#downloads), que já configura o Python e ferramentas de programação;\u003cbr\u003e\nVerifique se você tem mais de \u003cb\u003e60GB de disco livre\u003c/b\u003e, cerca de 30GB para a base em sqlite e 25GB para os arquivos do site da Receita zip ou descompactados. Os 25GB poderão ser liberados depois de rodar o script.\u003cbr\u003e\nBaixe o código do projeto pelo botão \"Download ZIP\" no menu \"Code\": \u003cbr\u003e\n![image](https://github.com/rictom/cnpj-sqlite/assets/71139693/e35ca678-7c52-45cc-ad61-32bfb4490fb9)\n\u003cbr\u003e\nIsso fará baixar um arquivo zip com o código deste repositório. Descompacte em alguma pasta, por exemplo, na raiz do disco C:\u003cbr\u003e\n\n## Usando o Anaconda prompt:\n\u003cb\u003eAtenção:\u003c/b\u003e Você poderia abrir um console do DOS pela lupa do Windows e digitar \"cmd\", ou pelo menu contextual, mas assim o console não iria estar no \"ambiente\" correto e as instruções para rodar os scripts não iriam funcionar.\u003cbr\u003e\u003cbr\u003e\nSe você instalou o Anaconda no Windows, todas as operações de linha de comando devem ser no \"ambiente\" correto utilizando o Anaconda prompt.\u003cbr\u003e\n![image](https://github.com/rictom/cnpj-sqlite/assets/71139693/c13faf05-36ff-436c-bd09-8cdb46f835ad)\n\nQuando se está em um ambiente padrão do Anaconda prompt, o console começa com (base) C:\\Users\\\\\u003capelido do usuário\u003e\\:\u003cbr\u003e\n![image](https://github.com/rictom/cnpj-sqlite/assets/71139693/3a5b0bb6-42f1-4fa2-9916-02484ffefde5)\n\nSe não for utilizar o Anaconda, sugere-se criar um environment \"ambiente\" próprio para rodar o projeto. Siga as orientações para criar um ambiente no python, sem Anaconda:\u003cbr\u003e\nhttps://docs.python.org/pt-br/3/library/venv.html\n## Utilizando o script:\nUse o comando \u003cb\u003ecd\u003c/b\u003e para \"navegar\" o prompt até a pasta com o código deste projeto, por exemplo, \u003cb\u003ecd C:\\cnpj-sqlite-main\u003c/b\u003e. Isto dependerá do lugar que você descompactou a cópia deste projeto no seu HD.\u003cbr\u003e\u003cbr\u003e\nInstale as bibliotecas necessárias neste projeto usando o comando no Anaconda prompt:\u003cbr\u003e\n\u003cb\u003epip install -r requirements.txt\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\nPara baixar os arquivos disponíveis no site da Receita Federal, faça o seguinte comando no Anaconda prompt na pasta deste projeto:\u003cbr\u003e\n\u003cb\u003epython dados_cnpj_baixa.py\u003c/b\u003e\u003cbr\u003e\nIsto irá baixar os arquivos zipados do site da Receita na pasta \"dados-publicos-zip\".\u003cbr\u003e\n\nPara iniciar a conversão dos arquivos para o formato sqlite, digite em um console do Anaconda prompt:\u003cbr\u003e\n\u003cb\u003epython dados_cnpj_para_sqlite.py\u003c/b\u003e\u003cbr\u003e\n\nAo final, será gerado um arquivo cnpj.db, no formato sqlite, com cerca de 30GB, que poderá ser aberto no DB Browser for SQLITE (https://sqlitebrowser.org/).\u003cbr\u003e\n\nO arquivo cnpj.db poderá ser usado no meu projeto rede-cnpj (https://github.com/rictom/rede-cnpj), que permite visualização gráfica de relacionamentos entre empresas e sócios. Este projeto está rodando online em https://www.redecnpj.com.br.\u003cbr\u003e\nO projeto https://github.com/rictom/cnpj_consulta também utiliza o arquivo cnpj.db para visualizar os dados de cnpj em formato de tabela.\u003cbr\u003e\n\n\u003cs\u003e## Problema recorrente:\nSe por acaso ocorrer um erro do tipo \"Engine object has no attribute execute\", altere a versão da biblioteca sqlalchemy pelo comando:\n\u003cb\u003epip install sqlalchemy==1.4.47\u003c/b\u003e\u003cbr\u003e\u003c/s\u003e\n\n## Tempo de execução:\nApós baixar os arquivos, o processamento levou cerca de 2hs no Windows 10 em um notebook i7 com de oitava geração, 1h30 no Ubuntu no notebook i7 8th e 1h no MacOS com processador M1.\n\n## Versão aplicativo Windows 10/MacOS do script:\nSe você não tem familiaridade com python, pode utilizar o aplicativo em https://www.redecnpj.com.br/rede/pag/aplicativo.html#rede_programa_baixar que serve para baixar a base do site de dados abertos da Receita Federal e faz a conversão para sqlite. Baixe e rode APENAS as partes 1 e 2 do programa. Leia o manual antes de executar.\n\n## Arquivo sqlite com a base CNPJ:\u003ca id=\"arquivo_sqlite\"\u003e\u003c/a\u003e\nO arquivo final poderá ser aberto no  [DBBrowser](https://sqlitebrowser.org/) for SQLITE.\u003cbr\u003e\n\n![image](https://user-images.githubusercontent.com/71139693/154585662-8c38c206-cb80-492e-8413-47699c79b4fd.png)\u003cbr\u003e\nLista das tabelas do arquivo cnpj.db no DBBrowser.\n\nNa pasta [exemplos](https://github.com/rictom/cnpj-sqlite/tree/main/exemplos) há amostras de consultas em SQL para exibir dados de empresas. Cole os exemplos na aba \"Executar SQL\" do DBBrowser para testar.\u003cbr\u003e\n![image](https://github.com/user-attachments/assets/f2833aa3-4227-40dd-8c96-6f5f5fcce9a0)\n\n\nIsso irá apresentar o resultado:\n![image](https://github.com/user-attachments/assets/c3714849-a9dc-453f-930d-3cce37cacda2)\n\n\n## Como gerar listas de forma alternativa:\nA forma mais direta de gerar listas é abrindo a base cnpj.db com o DBBrowser. Contudo, para quem não tem familiaridade com SQL, pode-se utilizar o script em \u003cbr\u003e\nhttps://github.com/rictom/cnpj_consulta \u003cbr\u003e\nque gera listas a partir de parâmetros como UF, Município ou CNAE. Existe a versão em python ou em aplicativo Windows. \n\n## Consultas por API:\nO projeto seguinte é uma api em python (fastAPI) para consultar a base em sqlite cnpj.db:\u003cbr\u003e \nhttps://github.com/rictom/cnpj_api\n\n## Conversão para mysql:\nO script em https://github.com/rictom/cnpj-mysql faz o carregamento dos dados para MYSQL ou POSTGRES.\u003cbr\u003e\n\n## Histórico de versões\n\nversão 0.7 (março/2026)\n- Atualização do script para baixar arquivos, baseado na rotina do projeto [cnpj-data-pipeline](https://github.com/caiopizzol/cnpj-data-pipeline).\n\nversão 0.6 (julho/2024)\n- biblioteca parfive para download de arquivos em paralelo no script dados_cnpj_baixa.py\n\nversão 0.5 (janeiro/2024)\n- utilizando sqlite3 ao invés de sqlalchemy para gerar conexão, de forma que não há mais dependência de sqlalchemy\u003c2.x\n  \nversão 0.4 (setembro/2022)\n- inclusão de índice na coluna \"nome fantasia\" da tabela estabelecimento.\n\nversão 0.3 (maio/2022)\n- inclusão de índice na coluna representante_legal da tabela sócios.\n\nversão 0.2 (janeiro/2022)\n- removido código não utilizado\n\nversão 0.1 (julho/2021)\n- primeira versão\n\n","funding_links":["https://github.com/sponsors/rictom"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frictom%2Fcnpj-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frictom%2Fcnpj-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frictom%2Fcnpj-sqlite/lists"}