Aprende a consumir APIs externas con requests: construir URLs, enviar parámetros, leer JSON y manejar errores de forma limpia para automatizaciones y bots.
Peticiones HTTP a APIs externas en Python (requests)

Cuando automatizas (bots, scrapers, integraciones) lo normal es hablar con APIs REST. Tu base es: GET/POST, parámetros, cabeceras y control de errores.

1) GET con params

import requests

url = "https://api.ejemplo.com/search"
params = {"q": "pollo", "limit": 5}

r = requests.get(url, params=params, timeout=10)
r.raise_for_status()
data = r.json()

2) Headers (auth, content-type)

headers = {"Authorization": "Bearer TU_TOKEN"}
r = requests.get("https://api.ejemplo.com/me", headers=headers, timeout=10)

3) Manejo de errores típico

try:
    r = requests.get(url, timeout=10)
    r.raise_for_status()
except requests.Timeout:
    print("La API tarda demasiado")
except requests.HTTPError as e:
    print("Error HTTP:", e.response.status_code)
except requests.RequestException as e:
    print("Error de red:", e)

4) Consejos para bots

  • Cache simple: si el usuario repite la misma consulta, guarda resultados 1–5 min.
  • Rate limits: respeta límites de la API (y gestiona 429).
  • Logs: registra error + endpoint para depurar rápido.