9.6 Consumo de APIs
Conecta con fuentes externas de datos a través de APIs sencillas para enriquecer tus análisis.
Conecta con fuentes externas de datos a través de APIs sencillas para enriquecer tus análisis.
Una API (Application Programming Interface) permite que diferentes aplicaciones se comuniquen entre sí. Cuando se trata de datos, funciona como una puerta para acceder a información de servicios externos o de nuestras propias aplicaciones.
Usos comunes en ciencia de datos:
Consumir APIs te permite trabajar con datos vivos, conectados y escalables.
Existen APIs públicas que ofrecen datos útiles para pruebas, análisis o construcción de prototipos. Son ideales para practicar consumo de datos en tiempo real.
Ejemplos de APIs abiertas:
Estas APIs devuelven respuestas en formato JSON, fáciles de leer y procesar con Python usando la biblioteca requests.
Para consumir datos desde una API, usamos la biblioteca requests, que permite hacer peticiones HTTP de forma sencilla.
El flujo básico incluye obtener una respuesta y transformarla en un formato útil.
import requestsurl = 'https://example.com/api/tasks'respuesta = requests.get(url)datos = respuesta.json()
Este patrón se adapta a cualquier API REST que devuelva datos en formato JSON. Una vez obtenido el contenido, puedes convertirlo en un DataFrame para análisis:
import pandas as pddf = pd.DataFrame(datos)
Esto te permite integrar directamente los datos externos a tus flujos de limpieza, visualización o modelado, igual que si hubieras cargado un archivo local.
Los datos que devuelve una API suelen venir en formato JSON, ya sea plano o con estructuras anidadas. Para analizarlos, necesitas convertirlos a una forma tabular.
Ejemplo de JSON plano (tarea):
{"title": "Beber agua","priority": "Alta","created_at": "2024-07-01"}
Si el JSON contiene listas o campos anidados, puedes usar:
pandas.json_normalize() para aplanar la estructura.for o comprensión de listas.El objetivo es transformar el JSON en un DataFrame claro y analizable, listo para limpieza o visualización.
Trabajar con APIs requiere prever posibles fallos para garantizar que los datos recibidos sean útiles y seguros de procesar.
Buenas prácticas al consumir APIs:
if response.status_code == 200 — asegura que la petición fue exitosa.Task): title, priority, due_date, etc.Siempre prueba primero con una muestra pequeña para evitar errores a gran escala y facilitar el proceso de depuración.
El modelo Task extendido puede conectarse fácilmente a una API propia (como la de un backend Flask) o a servicios externos para análisis dinámico.
Ejemplo de endpoint:
GET /api/tasks→ [{"title": "...", "due_date": "...", "priority": "..."},...]
Al combinar esta API con tu análisis en Pandas, puedes:
Esta integración te permite conectar desarrollo backend con ciencia de datos en un solo flujo de trabajo.
Consumir APIs abre las puertas a fuentes dinámicas y actualizadas de datos. Te permite dejar atrás archivos estáticos y trabajar con información viva, en constante cambio. Es una habilidad esencial en ciencia de datos moderna.
Aprender a integrar datos desde APIs te prepara para proyectos reales, donde la información llega en tiempo real y en formatos diversos.
Recursos útiles: