Requests e APIs em Python: Como Consumir Dados Externos – Exemplo Prático
Quando você acessa a previsão do tempo no celular, busca notícias em tempo real ou até consulta a cotação do dólar, existe uma API fornecendo informações para o aplicativo ou site.
E adivinha? Você também pode consumir essas APIs usando Python.
Neste artigo, vamos aprender:
O que é uma API e como funciona.
Como instalar e usar a biblioteca
requests
.Exemplo prático com uma API pública real.
Tratando erros e boas práticas.
Exercício prático para você tentar sozinho.
1. O que é uma API?
API (Application Programming Interface) é uma interface que permite que sistemas diferentes se comuniquem.
Ela funciona como um garçom em um restaurante: você faz o pedido (requisição), a cozinha prepara (processamento) e o garçom traz o prato (resposta).
No mundo digital, você faz uma requisição HTTP (
GET
,POST
, etc.) e recebe uma resposta geralmente em JSON.
Exemplo de URL de API pública:
https://api.agify.io/?name=thales
👉 Essa API tenta adivinhar a idade média de pessoas com determinado nome.
2. Instalando a biblioteca Requests
O requests
não vem por padrão no Python. Para instalar:
pip install requests
Depois, basta importar no seu código:
import requests
3. Fazendo sua primeira requisição
Exemplo: consultar dados de previsão do tempo usando a API pública OpenWeatherMap (precisa de cadastro gratuito).
import requests
# URL da API (exemplo: clima em São Paulo)
url = "https://api.open-meteo.com/v1/forecast?latitude=-23.55&longitude=-46.63&hourly=temperature_2m"
# Fazendo a requisição
resposta = requests.get(url)
# Mostrando o status da resposta
print("Status:", resposta.status_code)
# Convertendo a resposta para JSON
dados = resposta.json()
# Exibindo parte dos dados
print(dados["hourly"]["temperature_2m"][:10]) # primeiras 10 temperaturas
Explicação
requests.get(url)
→ envia uma requisição HTTP GET.resposta.status_code
→ código de retorno (200 = sucesso, 404 = não encontrado).resposta.json()
→ converte o retorno em dicionário Python.No exemplo, mostramos apenas as 10 primeiras temperaturas previstas.
4. Exemplo prático com API pública de gatos 🐱
Uma API divertida é a The Cat API, que retorna imagens aleatórias de gatos.
import requests
url = "https://api.thecatapi.com/v1/images/search"
resposta = requests.get(url)
if resposta.status_code == 200:
dados = resposta.json()
print("Imagem de gato:", dados[0]["url"])
else:
print("Erro:", resposta.status_code)
👉 Ao rodar esse código, você recebe uma URL de imagem. Basta abrir no navegador e ver o gato 🐾.
5. Tratando erros e boas práticas
Ao trabalhar com APIs, nem sempre a resposta é perfeita. Algumas boas práticas:
try:
resposta = requests.get(url, timeout=5) # tempo limite de 5 segundos
resposta.raise_for_status() # lança erro se não for 200
dados = resposta.json()
print(dados)
except requests.exceptions.Timeout:
print("⏳ A requisição demorou demais.")
except requests.exceptions.HTTPError as e:
print("Erro HTTP:", e)
except Exception as e:
print("Erro inesperado:", e)
Sempre defina
timeout
para evitar travamentos.Use
raise_for_status()
para capturar erros HTTP.Trate exceções para evitar que o programa quebre.
6. Exercício para praticar
👉 Crie um programa em Python que:
Use a API pública
https://api.agify.io/?name=seunome
.Pergunte ao usuário um nome.
Mostre a idade média estimada para esse nome.
Dica: o retorno da API vem em JSON, algo como:
{"name":"thales","age":42,"count":12345}
7. Conclusão
A biblioteca
requests
é uma das formas mais simples de trabalhar com APIs em Python.APIs públicas são ótimas para praticar (clima, gatos, nomes, piadas, moedas, etc).
Saber consumir dados externos é essencial para quem quer trabalhar com ciência de dados, automação ou desenvolvimento web.
Comentários
Postar um comentário