Como coletar dados de CNPJ da Receita Federal com Python

Obter dados de empresas, estabelecimentos, CNAE, sócios e muito mais de forma aumatizada é possível com ferramentas como o Python. Neste exercício, mostramos como explorar estes dados da Receita Federal do Brasil.

A Receita Federal disponibiliza diversos dados em um repositório central (https://dadosabertos.rfb.gov.br/). A seguir, exploramos alguns exemplos de obtenção de dados.

Coletando dados de CNAE

A sigla CNAE significa Classificação Nacional das Atividades Econômicas. É o instrumento de padronização nacional por meio dos códigos de atividade econômica e dos critérios de enquadramento utilizados pelos diversos órgãos da Administração Tributária do país. Em resumo, é um identificador de atividades econômicas que pode ser usado para cruzar com outras tabelas de dados

Para coletar estes dados direto da Receita Federal, primeiro abrimos o Google Colab e importamos a bibliotecas pandas e, então, coletamos os dados:

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

         cnae                                     cnae_descricao
0     0111301                                   Cultivo de arroz
1     0111302                                   Cultivo de milho
2     0111303                                   Cultivo de trigo
3     0111399  Cultivo de outros cereais não especificados an...
4     0112101                        Cultivo de algodão herbáceo
...       ...                                                ...
1354  9609208      Higiene e embelezamento de animais domésticos
1355  9609299  Outras atividades de serviços pessoais não esp...
1356  9700500                                Serviços domésticos
1357  9900800  Organismos internacionais e outras instituiçõe...
1358  8888888                  Atividade Econônica não informada

[1359 rows x 2 columns]

Coletando dados de Empresas

Os arquivos de Empresas da Receita Federal disponibilizam dados sobre:

  • Razão Social
  • CNPJ
  • Natureza jurídica
  • Porte
  • Capital social
  • Etc.

Estes arquivos são pesados e dividos em várias partes, devido ao volume de dados. Aqui coletamos apenas o arquivo “Empresas1.zip”:

        cnpj_basico  ... ente_federativo
0          00000000  ...             NaN
1          00000001  ...             NaN
2          00000002  ...             NaN
3          00000003  ...             NaN
4          00000004  ...             NaN
...             ...  ...             ...
4494855    04631955  ...             NaN
4494856    04631956  ...             NaN
4494857    04631957  ...             NaN
4494858    04631959  ...             NaN
4494859    04631960  ...             NaN

[4494860 rows x 7 columns]

Observação: o arquivo é pesado e o servidor da Receita parece ser lento, então a coleta pode ser demorada e falhar. Escreva um código com retentativas para tornar o procedimento mais robusto.

Coletando dados de Sócios

Os arquivos de Sócios da Receita Federal disponibilizam dados sobre:

  • Identificação
  • Nome
  • Qualificação
  • Faixa etária
  • Etc.

Estes arquivos são pesados e dividos em várias partes, devido ao volume de dados. Aqui coletamos apenas o arquivo “Socios1.zip”:

        cnpj_basico  id_socio  ... qualificacao_representante faixa_etaria
0          07396865         2  ...                          0            5
1          07396865         2  ...                          0            4
2          52302726         2  ...                          0            7
3          07396923         2  ...                          0            6
4          07396923         2  ...                          0            6
...             ...       ...  ...                        ...          ...
2019145    41554451         2  ...                          0            4
2019146    41554527         2  ...                          0            4
2019147    41554527         2  ...                          0            4
2019148    41554527         2  ...                          0            4
2019149    41554527         2  ...                          0            5

[2019150 rows x 11 columns]

Cruzamento de dados

Por fim, imagine que você precise cruzar estas informações, realizar filtros e produzir análises. Com a bibliotecas pandas estes procedimentos são simples. Abaixo cruzamos a tabela de empresas com a tabela de sócios, após aplicar alguns filtros:

                                     razao_social  ...  faixa_etaria
cnpj_basico                                        ...              
00000208                 BRB BANCO DE BRASILIA SA  ...             6
00000208                 BRB BANCO DE BRASILIA SA  ...             5
00000208                 BRB BANCO DE BRASILIA SA  ...             5
00000208                 BRB BANCO DE BRASILIA SA  ...             5
00000208                 BRB BANCO DE BRASILIA SA  ...             5
00000208                 BRB BANCO DE BRASILIA SA  ...             5
00000208                 BRB BANCO DE BRASILIA SA  ...             5
01535210                METAIS DE GOIAS SA METAGO  ...             4
01535210                METAIS DE GOIAS SA METAGO  ...             5
02732525             PARANA DESENVOLVIMENTO S/A -  ...             7
02732525             PARANA DESENVOLVIMENTO S/A -  ...             7
03152510     COMPANHIA DE DESENVOLVIMENTO DA LAPA  ...             7
03152510     COMPANHIA DE DESENVOLVIMENTO DA LAPA  ...             9
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             6
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             5
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             5
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             7
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             7
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             5
04583057     AGENCIA GOIANA DE GAS CANALIZADO S/A  ...             5

[20 rows x 16 columns]

Conclusão

Obter dados de empresas, estabelecimentos, CNAE, sócios e muito mais de forma aumatizada é possível com ferramentas como o Python. Neste exercício, mostramos como explorar estes dados da Receita Federal do Brasil.

Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!

Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como coletar dados para relatórios de câmbio com Python

O monitoramento do mercado cambial permite tomar melhores decisões de consumo e investimento, por sua influência em diversos preços da economia. Neste artigo, mostramos rotinas simples de Python para coleta e análise de dados que são comumente utilizados em relatórios de câmbio.

Sumarizando divulgações trimestrais de empresas usando IA no Python

Neste exercício, iremos utilizar a inteligência artificial no Python para analisar e sumarizar divulgações trimestrais de empresas. Focaremos no uso de ferramentas como Gemini e técnicas de processamento de linguagem natural para extrair informações de documentos PDF relacionados aos relatórios financeiros das empresas.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.