Qué es una API?
Y por qué debería importarte?
Un recorrido interactivo desde tu primera solicitud hasta construir la tuya. Sin tecnicismos innecesarios, con datos reales y respuestas directas.
Un contrato entre sistemas
Envías una solicitud estructurada a un servidor. Recibes una respuesta estructurada. Así funciona.
Por qué existen las APIs?
En los primeros años de la computación, los programas operaban de forma aislada. Si necesitabas datos, los almacenabas localmente. Pero a medida que los sistemas crecieron, surgió la necesidad de comúnicación entre ellos. El problema: cada sistema tenía su propio lenguaje, sus propios formatos y su propia arquitectura interna. Las APIs surgieron como protocolo universal: una forma de que el Sistema A solicitara información al Sistema B sin necesidad de conocer su implementación interna.
Un poco de historia
Las bibliotecas de subrutinas permiten compartir código dentro de una misma máquina.
Llega la web. Los sistemas necesitan intercambiar datos por la red. Aparecen SOAP y XML-RPC.
Roy Fielding define REST en su tesis doctoral. Simple, sin estado, basado en URLs.
Las APIs REST se consolidan como el estándar. Twitter, Stripe, Google Maps abren endpoints públicos. JSON reemplaza a XML.
Las APIs articulan la infraestructura digital. Tu app del clima, tu banco, tus modelos de ML: todo se comúnica a través de APIs.
Las APIs son funciones, pero en la red
En cualquier lenguaje, una función recibe entradas y devuelve salidas. Llamas get_mortality(age=45) y obtienes 0.00354. Una API es el mismo principio, pero la función reside en otra computadora. En lugar de invocarla directamente en tu código, envías una solicitud HTTP a una URL. El servidor ejecuta la función y devuelve el resultado. Las entradas son tus parámetros; la salida es la respuesta. Si ya entiendes funciones, ya entiendes APIs.
# Llamada a función local result = get_mortality(age=45) print(result) # 0.00354
# La misma lógica, pero via API
import requests
response = requests.get(
"https://api.example.com/mortality",
params={"age": 45}
)
print(response.json())
# {"qx": 0.00354}Tu aplicación empaqueta una solicitud: qué datos necesitas, en que formato, con que credenciales.
El servidor valida la solicitud, recupera o calcula los datos, y construye una respuesta.
Recibes datos estructurados (JSON, XML o binario) listos para parsear y utilizar en tu análisis.
API keys y por qué importan
La mayoría de las APIs requieren autenticación. El servidor necesita verificar quien realiza la solicitud, con que frecuencia y si cuenta con los permisos necesarios. Para eso existen las API keys.
Qué es una API key?
Una API key es una cadena única que te identifica ante el servidor. Cuando te registras para usar una API (como FRED o Banxico), el proveedor te asigna una llave. La incluyes en cada solicitud, normalmente como header o query param. El servidor verifica la llave antes de responder.
Por qué no dejar las APIs abiertas para todos?
Sin autenticación, cualquier cliente podría saturar un servidor con millones de solicitudes, consumir recursos costosos o extraer datos propietarios. Las API keys permiten al proveedor monitorear el uso por usuario, aplicar rate limits (por ejemplo, 120 solicitudes por minuto) y revocar el acceso si un cliente abusa del sistema.
Qué pasa si tu key se filtra?
Si subes tu API key a un repositorio público en GitHub, la incluyes en JavaScript del frontend, o la compartes en un mensaje, cualquiera que la encuentre puede realizar solicitudes en tu nombre. En APIs de pago, eso implica cargos a tu cuenta. En APIs sensibles, acceso no autorizado a tus datos. Las keys filtradas son uno de los incidentes de seguridad más frecuentes en el desarrollo de software.
# Nunca hagas esto
response = requests.get(
"https://api.fred.org/series",
params={"api_key": "abc123secret"}
)# Haz esto en cambio
import os
api_key = os.environ["FRED_API_KEY"]
response = requests.get(
"https://api.fred.org/series",
params={"api_key": api_key}
)Reglas fundamentales
Cuando buscas un vuelo, ingresas ciudad de origen, destino y fecha. El sistema de la aerolínea te devuelve vuelos disponibles con precios y horarios. No tienes acceso a la base de datos, al motor de precios ni al inventario de asientos. Solo completas los campos y recibes resultados. Ese formulario de búsqueda es una API: entradas estructuradas producen salidas estructuradas, y toda la complejidad permanece en el servidor.
Pruébalo tu mismo
Selecciona una API, configura los parámetros, envía una solicitud real y examina la respuesta.
Parámetros
Series identifier (e.g. DGS10, FEDFUNDS, CPIAUCSL)
Start date (YYYY-MM-DD)
End date (YYYY-MM-DD)
Frequency: daily, weekly, monthly, quarterly, annual
Envia una solicitud para ver la respuesta aquí.
De JSON a insight
Las mismas respuestas del playground, transformadas en gráficas, métricas y resultados analíticos.
From FRED API (Federal Reserve Economic Data)
From Banxico API (Banco de Mexico)
From World Bank API (Development Indicators)
Combined from FRED, Banxico, and World Bank APIs
Construye la tuya
De consumidor a productor. Los conceptos que aprendiste anteriormente, ahora aplicados para crear tu propia API.
Define tus datos
Qué va a exponer tu API? Una tabla de mortalidad, un modelo de pricing, un score de riesgo.
Elige un framework
FastAPI (Python) o Express (TypeScript): ambos te permiten tener endpoints operando en minutos.
Crea los endpoints
Asocia URLs a funciones. GET /api/mortality?age=45 devuelve la tasa de mortalidad.
Agrega autenticación
Protege tu API con API keys o tokens, de la misma forma que lo hacen FRED y Banxico.
Despliega
Push a Vercel, Railway o Cloud Run. Tu API queda disponible.
Listo para profundizar?
Ya tienes los fundamentos. Ahora explora cómo se comportan las APIs bajo presion, cómo fallan y cómo depurarlas.
Entrar al Modo Avanzado