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 usar automação com Python e IA na análise de ações

No cenário atual, profissionais de finanças buscam formas mais rápidas, eficientes e precisas para analisar dados e tomar decisões. Uma das grandes revoluções para isso é o uso combinado de Python, automação e modelos de linguagem grande (LLMs), como o Google Gemini. O dashboard que criamos é um ótimo exemplo prático dessa integração, reunindo dados, cálculos, visualizações e análise textual em um único ambiente.

Análise de ações com IA - um guia inicial

Neste artigo, você vai aprender a integrar IA na análise de ações de forma automatizada utilizando Python. Ao final, você terá um pipeline completo capaz de coletar dados de mercado, gerar gráficos, elaborar relatórios com linguagem natural.

Quais são as ferramentas de IA?

Um aspecto crucial dos Agentes de IA é a sua capacidade de tomar ações, que acontecem por meio do uso de Ferramentas (Tools). Neste artigo, vamos aprender o que são Tools, como defini-las de forma eficaz e como integrá-las ao seu Agente por meio da System Prompt. Ao fornecer as Tools certas para o seu Agente — e ao descrever claramente como essas Tools funcionam — você pode aumentar drasticamente o que sua IA é capaz de realizar.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.