API (Application Programming Interface)
Se lee en aproximadamente 5 minutos
Última actualización: 2026-04-28
Qué es una API
API (Application Programming Interface) es un conjunto de reglas (interfaz) que permite a distintos programas intercambiar datos y funciones. Comparándolo con un restaurante, el cliente (aplicación) mira el menú (especificación API), hace un pedido, y el camarero (API) transmite la orden a la cocina (servidor) y trae la comida (datos).
Si una app meteorológica muestra datos actualizados, es porque obtiene la información a través de la API del servicio meteorológico. Los servicios web modernos combinan decenas o cientos de APIs internamente.
Principales tipos de API
Autenticación y autorización de APIs
Para usar una API de forma segura, son imprescindibles la autenticación (quién accede) y la autorización (qué se permite).
- Clave API: Método más simple. Cadena fija en el encabezado o parámetro. Práctico pero vulnerable si se filtra.
- OAuth 2.0: Protocolo estándar para autenticación de terceros. Delega permisos mediante tokens sin compartir contraseñas.
- JWT (JSON Web Token): Token verificable sin sesiones en servidor. Compatible con APIs sin estado.
Codificar claves API en el código fuente es un error frecuente. Deben gestionarse mediante herramientas de gestión de secretos o variables de entorno.
Limitación de tasa y protección
La limitación de tasa establece un máximo de solicitudes en un período. Sin ella, un atacante podría provocar un DDoS.
- Ventana fija: Ej. 100 solicitudes/minuto. Simple pero con posibles ráfagas en los límites.
- Ventana deslizante: Rastrea solicitudes del último minuto continuamente.
- Token bucket: Tokens se reponen a velocidad constante. Permite ráfagas cortas controladas.
Al alcanzar el límite, el servidor devuelve HTTP 429. El cliente debe implementar retroceso exponencial.
Seguridad de APIs en la práctica
Las APIs son objetivo principal para atacantes. El OWASP API Security Top 10 destaca fallos de autenticación y exposición excesiva de datos.
- Validación de entrada: Prevenir inyección SQL y XSS.
- Forzar HTTPS: Toda comunicación API debe cifrarse con TLS.
- Mínimo privilegio: Solo permisos necesarios en tokens API.
- Monitorización: Detectar accesos anómalos tempranamente.
Conceptos erróneos comunes
- Las APIs solo conciernen a desarrolladores
- Las APIs están en todos los aspectos cotidianos: apps, IoT, pagos. Iniciar sesión en redes sociales o pagar con móvil funciona a través de APIs.
- Si no se publica la API, es segura
- Las APIs internas pueden explotarse tras una intrusión en la red. Es importante aplicar confianza cero también internamente.
- REST será reemplazado por GraphQL
- GraphQL es superior en ciertos casos, pero REST sigue siendo adecuado para CRUD simple y caché. Ambos coexisten.