¿Qué es una API REST?

1 Definición de API

Una API (Application Programming Interface o Interfaz de Programación de Aplicaciones) es un conjunto de reglas y especificaciones que permiten que diferentes programas o sistemas se comuniquen entre sí.

Se la puede imaginar como un contrato: el proveedor de la API define qué servicios ofrece, cómo pedirlos y qué se recibe a cambio.

El cliente que la consume no necesita saber cómo está programada internamente: solo importa qué datos pide y qué datos recibe.

🔎 Ejemplo cotidiano:

Cuando en tu celular usás una app de clima, esta consulta a una API de un servidor meteorológico.

La app pide temperatura actual en Córdoba, y la API responde con un valor: 28°C.

👉 El usuario final no ve la API, pero gracias a ella la app funciona.

2 ¿Qué es REST?

REST significa Representational State Transfer. Fue propuesto en el año 2000 por Roy Fielding, uno de los autores de la especificación del protocolo HTTP, en su tesis doctoral (REST).

REST no es un programa, ni un protocolo nuevo, ni una librería. Es un estilo de arquitectura que define cómo deben diseñarse los servicios web para que sean simples, escalables y fáciles de usar.

Principios de REST

Para que una API pueda considerarse RESTful, debería seguir estas reglas:

Arquitectura Cliente-Servidor
El cliente (app móvil, navegador, software de escritorio) y el servidor (donde vive la API) están separados. El cliente pide datos y el servidor responde. Esto permite independencia: se puede cambiar la app sin modificar la API, y viceversa.

Sin estado (Stateless)
Cada petición debe contener toda la información necesaria para que el servidor la entienda. El servidor no recuerda quién sos entre una petición y otra. Ejemplo: si hacés 3 consultas a /usuarios/1, cada una debe incluir los datos de autenticación (ej. un token).

Uso de HTTP y sus métodos
Las APIs REST aprovechan los verbos estándar del protocolo HTTP:

  • GET: obtener datos.
  • POST: crear un recurso.
  • PUT: actualizar un recurso.
  • DELETE: eliminar un recurso.
  • PATCH: actualizar parcialmente un recurso.

Recursos identificados por URLs
Cada recurso (usuario, producto, pedido) se identifica por una dirección única.

Ejemplo:
/usuarios/1 → usuario con ID = 1.
/productos/15 → producto con ID = 15.

Representación de recursos
Los recursos pueden representarse en distintos formatos (JSON, XML, CSV, YAML). Hoy en día, el formato más usado es JSON, por su ligereza y compatibilidad con JavaScript.

Comunicación uniforme
La API debe ser predecible y consistente. Ejemplo: si /usuarios/1 devuelve datos en JSON, /usuarios/2 también debería hacerlo.

3 Ejemplo básico de API REST

Supongamos que tenemos un sistema de usuarios.

Petición (Request):

GET https://api.ejemplo.com/usuarios/1

Respuesta (Response):

{
  "id": 1,
  "nombre": "Ana",
  "email": "ana@ejemplo.com"
}

👉 El cliente pidió el recurso usuario con ID 1, y la API respondió con su información en formato JSON.

4 Analogía sencilla

Imaginemos que la API REST es como un restaurante:

  • El menú es la documentación de la API.
  • El mozo es la API en sí: recibe el pedido del cliente y lo lleva a la cocina (el servidor).
  • El cliente (navegador o app) pide un plato.
  • La cocina (lógica interna del servidor) prepara la comida, pero el cliente nunca ve cómo.
  • La respuesta es el plato servido.

Así funciona: pedís algo → la API lo lleva → el servidor responde → vos recibís lo que pediste.

5 Beneficios de usar APIs REST

  • Simplicidad: se basa en reglas conocidas de HTTP.
  • Rapidez de desarrollo: JSON es ligero y fácil de usar.
  • Interoperabilidad: cualquier lenguaje puede consumirla (Java, Python, C#, JavaScript, Go, etc.).
  • Escalabilidad: soporta millones de usuarios.
  • Separación de responsabilidades: frontend y backend evolucionan de forma independiente.
  • Reutilización: una misma API puede ser usada por una app web, una app móvil y un servicio externo.

6 Casos de uso reales

Las APIs REST están en casi todo lo que usamos día a día:

Redes sociales

  • Facebook API: permite crear apps que publican posts o leen datos de perfiles.
  • X API: acceder a tweets, usuarios y tendencias.

Servicios de mapas

  • Google Maps API: obtener coordenadas, calcular rutas y mostrar mapas embebidos.

E-commerce y pagos

Aplicaciones cotidianas

  • Spotify API: permite integrar listas de reproducción, buscar canciones y obtener estadísticas de usuarios.
  • APIs de clima: consultar pronósticos meteorológicos en tiempo real.

7 Diferencias con otros enfoques

  • REST vs SOAP: SOAP es más rígido y basado en XML, mientras que REST es más liviano y flexible con JSON.
  • REST vs GraphQL: GraphQL permite consultas más personalizadas, pero REST sigue siendo el estándar más adoptado por su simplicidad.

8 Conclusión

Una API REST es un servicio web diseñado bajo principios claros (cliente-servidor, stateless, URLs como identificadores de recursos, métodos HTTP y datos en JSON).

Permite que diferentes sistemas intercambien datos de manera eficiente, escalable y estandarizada.

Es el pilar fundamental de la mayoría de las aplicaciones modernas: desde redes sociales hasta servicios financieros y de mapas.

👉 En otras palabras: REST convirtió a Internet en una red de servicios conectados, no solo de páginas web.