Script que baixa todos os dados de sócios das empresas brasileiras disponíveis no site da Receita Federal, extrai e converte para CSV. Veja mais detalhes.
Acesse diretamente os dados convertidos caso você não queira/possa rodar o script (esses dados foram baixados e convertidos em 31 de janeiro de 2018). Na pasta "output" você encontrará, compactados:
- Um arquivo por unidade federativa;
- Arquivo
Brasil.csv
, com todos os dados consolidados; - Arquivo
socios-brasil.sqlite
- arquivo acima convertido para SQLite, para facilitar consultas.
Cada registro dos arquivos acima representa um sócio.
Os dados originalmente estão em um formato fixed-width file e cada linha possui um tipo diferente de registro (empresa ou sócio), que dificulta as análises.
O campo de qualificação do sócio foi definido com base na tabela
disponibilizada pela Receita
Federal
e está disponível no arquivo
qualificacao-socios.csv
.
Segundo a assessoria de imprensa da Receita Federal do Brasil, a lista de CNPJs não tem ainda registro de todas as empresas do país. A Receita disponibilizou somente os tipos societários que possuem Quadro de Sócios e Administradores. Ainda segundo o fisco, a lista divulgada tem somente companhias na situação Cadastral Ativa. Empresas como as MEI e EI, por exemplo, ainda não constam na lista.
A pesquisa está atualizada até o dia 15/12/2017, a data consta ao final da tabela. A previsão da Receita é atualizar a lista a cada seis meses. O órgão informou que não divulgará CPF dos sócios. Somente o nome dos sócios será fornecido. Caso seja um sócio PJ, será fornecido o número do CNPJ deste "sócio" PJ.
Nota: a codificação de caracteres original é ISO-8859-15, mas o script gera o CSV em UTF-8.
- Algumas empresas não constam nos arquivos acima, acredito que sejam dados não muito atuais.
Esse script depende de Python 3.6 e de algumas bibliotecas. Instale-as executando:
pip install -r requirements.txt
Você deverá rodá-lo em várias etapas:
- Criar o script que baixa os arquivos fix-width
- Baixar os arquivos
- Converter os arquivos para cada unidade federativa (gerando CSVs)
- Juntar os CSVs em um só (para todo o Brasil)
Criando o script que baixa os arquivos:
python3 socios.py create-download-script
Após executar, um arquivo download.sh
será criado. Esse script precisa do
wget
instalado (que é o padrão em distribuições GNU/Linux - caso use MacOS,
instale-o rodando brew install wget
). Rode o script para baixar todos os
arquivos de sócios da Receita Federal:
sh download.sh
Poderá demorar. Vários arquivos .txt
serão baixados para o diretório
download
. Converta-os para CSV com o seguinte comando:
python3 socios.py convert-all
Um diretório output
será criado com os CSVs (que estarão com codificação
UTF-8, separados por vírgula).
Caso queira converter apenas um arquivo, você poderá utilizar o subcomando
convert-file
, passando o nome do arquivo de origem e o nome de destino,
exemplo:
python3 socios.py convert-file --input-filename=download/Paraná.txt --output-filename=output/Paraná.csv
Para gerar o output/Brasil.csv
, execute:
python3 socios.py merge-all
Para gerar a base de dados SQLite (facilita consultas), rode o seguinte comando:
python3 csv2sqlite.py
Previsão de tamanhos dos arquivos a serem baixados (atualizado em 2018-02-01):
- Acre: 8013978 (7,6 MB)
- Alagoas: 32437339 (31 MB)
- Amapá: 8404764 (8,0 MB)
- Amazonas: 35411591 (34 MB)
- Bahia: 231116303 (220 MB)
- Ceará: 104380545 (100 MB)
- Distrito Federal: 107598131 (103 MB)
- Espírito Santo: 101900028 (97 MB)
- Goiás : 181131794 (173 MB)
- Maranhão: 62187690 (59 MB)
- Mato Grosso: 77130002 (74 MB)
- Mato Grosso do Sul: 55749271 (53 MB)
- Minas Gerais: 549952985 (524 MB)
- Pará: 82718853 (79 MB)
- Paraíba: 41613361 (40 MB)
- Paraná: 401246497 (383 MB)
- Pernambuco: 124284464 (119 MB)
- Piauí: 31827285 (30 MB)
- Rio de Janeiro: 487426461 (465 MB)
- Rio Grande do Norte: 44115843 (42 MB)
- Rio Grande do Sul: 385868132 (368 MB)
- Rondônia: 32882369 (31 MB)
- Roraima: 6426195 (6,1 MB)
- Santa Catarina: 281316642 (268 MB)
- São Paulo: 1588432400 (1,5 GB)
- Sergipe: 33880344 (32 MB)
- Tocantins: 27034140 (26 MB)
Total: 4,8 GB.