Como buscar dados de empresas com Python? Passo a passo
Aprenda a buscar dados de empresas com Python, como quem são os sócios, o capital social ou a atividade principal, usando apenas o CNPJ.
Para buscar dados de empresas com Python, use a API pública CNPJ.ws junto com a biblioteca requests. Faça uma requisição GET para https://publica.cnpj.ws/cnpj/{CNPJ}, verifique se o status é 200 e leia o JSON retornado. Nele você encontra razão social, capital social, atividade principal e a lista de sócios da empresa.
Com a API CNPJ.ws e um pouco de Python, você pode acessar essas informações de forma rápida e automática!
Neste post, vamos te mostrar como usar essa API pública para consultar dados de empresas, como a Vale, e extrair informações úteis, tudo com um código simples.
Vamos lá?
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: São quatro linhas: importar o requests, montar a URL da API pública do CNPJ com f-string, fazer requests.get(url) e ler o resultado com .json(). A resposta é um dicionário com razão social, capital social, natureza jurídica, atividade principal e lista de sócios, sem chave de API e sem cadastro.
Neste vídeo (12 min):
- 1:00 - A fonte é a API pública do CNPJ; existe uma versão comercial paga, com mais dados e limite de requisições maior.
- 2:00 - A documentação já entrega o endpoint e diz que o método é
GET, sempre confira isso antes de escrever o código. - 2:30 - Instalação:
pip install requests, e depoisimport requests. - 3:00 - O CNPJ é um path parameter: vai dentro da própria URL. Uma f-string resolve, sem precisar montar dicionário.
- 3:30 - Regra geral: parâmetro de caminho ou de query vai na URL; qualquer outro vai num dicionário passado em
params. - 4:30 - A requisição é
requisicao = requests.get(url), para essa API, só isso. - 5:00 - Imprimir a requisição mostra o código de status: 200 deu certo, 404 é CNPJ não encontrado, 429 é excesso de requisições.
- 6:00 - O conteúdo vem em
requisicao.json(), que converte a resposta num dicionário do Python. - 6:30 - Vale ler o erro: com um zero a menos no CNPJ, a própria API respondeu que o número era inválido.
- 7:00 - A dica de ouro:
from pprint import pprint, o pretty print já vem com o Python e imprime o dicionário com hierarquia. - 9:00 - Com a indentação visível fica fácil achar o caminho até o dado desejado, dicionário dentro de dicionário.
- 10:00 - Exemplo:
requisicao.json()["estabelecimento"]["atividade_principal"]["descricao"]devolve “extração de minério de ferro”. - 11:00 - Dado sensível vem mascarado: o nome do sócio aparece, o CPF sai parcialmente oculto.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
O que é a API CNPJ.ws?
A API CNPJ.ws é uma ferramenta que permite buscar informações públicas de empresas brasileiras usando o CNPJ. Por exemplo, se você tem o CNPJ da Vale (33.592.510/0001-54), pode descobrir:
- Razão social (ex.: Vale S.A.).
- Capital social.
- Atividade principal (ex.: extração de minério de ferro).
- Lista de sócios (com algumas informações protegidas, como CPF parcial).
- Natureza jurídica, porte e muito mais.
Existem duas versões:
- Pública: Gratuita, tem limite de requisições por minuto mas é suficiente para muitos casos.
- Comercial: Paga, com mais dados e menos limitações.
Para este tutorial, usaremos a API pública, que é ótima para começar e dá pra fazer bastante coisa com ela.

Se você ainda não entende este conceito, descubra o que é e como usar uma API no Python.
Passo a Passo para Consultar um CNPJ com Python
Vamos criar um código simples em Python para consultar o CNPJ da Vale e extrair informações, como a atividade principal. Você só precisa da biblioteca requests e, para facilitar a leitura dos dados, da biblioteca pprint.
O código funciona em qualquer editor (VS Code, PyCharm, etc.), desde que você tenha Python instalado.
1. Instale a Biblioteca Requests
A biblioteca requests permite fazer requisições à API. Se ainda não a tem, instale-a pelo terminal:
pip install requests2. Configure o Código
Na API CNPJ.ws, a documentação fornece um endpoint (link) para consultar CNPJs. O link segue o formato:
https://publica.cnpj.ws/cnpj/{CNPJ}Por exemplo, para a Vale (33.592.510/0001-54), o link seria:
https://publica.cnpj.ws/cnpj/33592510000154Aqui está o código para consultar o CNPJ:
import requests
from pprint import pprint
# Define o CNPJ da Vale
cnpj = "33592510000154"
url = f"https://publica.cnpj.ws/cnpj/{cnpj}"
# Faz a requisição GET
response = requests.get(url)
# Verifica se a requisição deu certo (código 200)
if response.status_code == 200:
data = response.json()
pprint(data) # Mostra os dados de forma organizada
else:
print(f"Erro: {response.status_code}")3. Entenda os Códigos de Resposta
Quando você faz uma requisição, a API retorna um código de status:
- 200: Deu certo, os dados foram retornados.
- 404: CNPJ não encontrado.
- 429: Muitas requisições (limite da API pública atingido).
- Outros códigos indicam erros diversos.
No nosso exemplo, se o CNPJ estiver correto, você verá o código 200 e um JSON (formato de dados) com todas as informações da empresa.
4. Organize os Dados com pprint
O JSON retornado pela API é um dicionário grande, com muitos dados aninhados (dicionários dentro de dicionários). Para facilitar a leitura, usamos a biblioteca pprint (pretty print), que já vem com o Python. No código, substituímos:
print(response.json())por:
pprint(response.json())Isso organiza a saída, mostrando a hierarquia dos dados. Por exemplo, você verá campos como:
- atualizado_em: Data da última atualização (ex.: 7 de abril de 2025).
- razao_social: Vale S.A.
- capital_social: Valor do capital da empresa.
- estabelecimento > atividade_principal > descricao: Extração de minério de ferro.
5. Extraia Informações Específicas
Para pegar apenas a atividade principal, você pode acessar o campo desejado no dicionário. Adicione ao código:
atividade_principal = data["estabelecimento"]["atividade_principal"]["descricao"]
print(f"Atividade Principal: {atividade_principal}")Quando executado, isso imprime:
Atividade Principal: Extração de minério de ferroCom o pprint, fica mais fácil encontrar o "caminho" para outros dados, como a lista de sócios ou o porte da empresa.
Dicas para Usar a API CNPJ.ws
- CNPJ Correto: Um erro comum é digitar o CNPJ errado (ex.: faltar um zero). A API retorna um erro claro, como "CNPJ inválido", ajudando a corrigir.
- Limites da API Pública: A versão gratuita tem um número limitado de requisições por minuto. Para uso intenso (ex.: contabilidade ou jurídico), considere a API comercial.
- Informações Sensíveis: Dados como CPF dos sócios são parcialmente ocultos por questões de privacidade.
- Teste Outros CNPJs: Troque o CNPJ no código para consultar qualquer empresa, como a Hashtag ou outra de sua escolha.
Perguntas frequentes
1. O que é a API CNPJ.ws?
A CNPJ.ws é uma API que permite consultar informações públicas de empresas brasileiras a partir do CNPJ, como razão social, capital social, atividade principal, natureza jurídica e sócios. Ela tem uma versão pública gratuita, com limite de requisições por minuto, e uma versão comercial paga, com mais dados e menos limitações.
2. Qual biblioteca Python usar para consultar um CNPJ?
Você usa a biblioteca requests, que faz as requisições à API. Instale-a com pip install requests no terminal. Para visualizar o JSON retornado de forma mais organizada, também vale usar a biblioteca pprint (pretty print), que já vem incluída no Python e mostra a hierarquia dos dados aninhados.
3. O que significam os códigos de resposta 200, 404 e 429?
Esses são códigos de status HTTP retornados pela API. O 200 indica sucesso, com os dados retornados corretamente. O 404 significa que o CNPJ não foi encontrado. O 429 indica muitas requisições, ou seja, você atingiu o limite da API pública. Outros códigos apontam erros diversos na consulta.
4. A API pública do CNPJ.ws é gratuita?
Sim, a CNPJ.ws oferece uma versão pública gratuita, ideal para começar e testar consultas. Ela tem um limite de requisições por minuto, mas é suficiente para muitos casos de uso. Para volumes maiores, como em contabilidade ou jurídico, existe a versão comercial paga, com mais dados e menos restrições.
Conclusão
Com apenas algumas linhas de Python e a API CNPJ.ws, você pode consultar informações detalhadas de qualquer empresa brasileira, desde a razão social até a atividade principal, de forma automática e eficiente.
Isso é perfeito para quem trabalha com contabilidade, jurídico ou precisa analisar dados de empresas. Baixe o código de exemplo, teste com o CNPJ da Vale ou de outra empresa e veja como é fácil!
E se quiser mais conteúdos sobre Python como este, veja os posts em nosso blog!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








