CampusProd

Tecnología, productividad e IA para estudiantes e ingenieros.

APIs REST explicadas: qué son y cómo funcionan para quien empieza a programar

Cada vez que consultas el tiempo en el móvil, pagas con Bizum o ves que un videojuego te avisa de una oferta, hay una petición viajando entre tu dispositivo y un servidor que no ves. Esa petición sigue unas reglas muy concretas: las de las APIs REST, el tipo de API más usado hoy en internet. Al terminar esta guía sabrás qué es una API REST, cómo se construye una petición paso a paso, y podrás hacer tu primera llamada real a una API pública sin escribir un backend entero (si aún no tienes claro por dónde empezar a programar, esa es una buena guía previa).

Las paradas de esta guía

  1. Qué es una API, explicado sin jerga
  2. Qué significa que una API sea REST
  3. La anatomía de una petición HTTP
  4. Los métodos HTTP, uno por uno
  5. Los códigos de estado que vas a ver todo el rato
  6. Cómo probar una API sin escribir backend
  7. Autenticación: cómo sabe la API que eres tú

Qué es una API, explicado sin jerga

Imagina un restaurante. Tú no entras a la cocina a coger la comida directamente: le pides algo al camarero, el camarero se lo dice al cocinero, y te trae el plato de vuelta. Una API (Application Programming Interface, interfaz de programación de aplicaciones) es ese camarero. Es la capa intermedia que permite que tu aplicación pida datos o acciones a otro sistema sin necesitar saber cómo funciona por dentro esa cocina.

Cuando abres una app del tiempo, la app no calcula la predicción meteorológica ella misma. Le pide esos datos a la API de un servicio meteorológico, que le responde con la información ya lista para mostrar. Lo mismo pasa cuando inicias sesión con tu cuenta de Google en una web que no es de Google: esa web está hablando con la API de Google.

Cómo funcionan las APIs REST: analogía de un camarero llevando un plato entre la cocina y el cliente

Qué significa que una API sea REST

REST (Representational State Transfer) no es una tecnología ni un lenguaje: es un conjunto de convenciones que la mayoría de APIs modernas siguen para que sean predecibles, como explica la documentación oficial de HTTP de MDN Web Docs. Si una API es REST, puedes asumir varias cosas sin leer ni una línea de su documentación interna.

  • Cada recurso (un usuario, un producto, un pedido) tiene su propia dirección única, llamada endpoint.
  • Usas verbos HTTP estándar para decir qué quieres hacer con ese recurso: leerlo, crearlo, modificarlo o borrarlo.
  • El servidor no recuerda nada de peticiones anteriores: cada petición viaja con toda la información que necesita para procesarse sola (esto se llama ser stateless).
  • Las respuestas suelen llegar en un formato de texto llamado JSON, fácil de leer tanto para una persona como para un programa.

No todas las APIs son REST al cien por cien (hay quien es más estricto que otros con estas reglas), pero si entiendes estos cuatro puntos ya puedes leer la documentación de prácticamente cualquier API pública que te encuentres.

La anatomía de una petición HTTP

Toda petición a una API viaja por la misma infraestructura que cualquier otra petición en internet, y tiene, como mínimo, estas cuatro piezas:

  • Endpoint: la URL exacta del recurso, por ejemplo https://api.ejemplo.com/usuarios/24.
  • Método: el verbo que indica la acción (GET, POST, PUT, DELETE…).
  • Headers (cabeceras): metadatos sobre la petición, como el formato que esperas recibir o tu clave de autenticación.
  • Body (cuerpo): los datos que envías, normalmente en JSON, solo necesario en peticiones que crean o modifican algo.

Una petición para crear un usuario nuevo podría tener este aspecto: método POST, endpoint /usuarios, y un body como {"nombre": "Pau", "curso": "Ingeniería"}. El servidor procesa esos datos y responde con el nuevo usuario creado, normalmente incluyendo el identificador que le ha asignado.

Para verlo con datos reales, así es una petición GET a una API pública y la respuesta que devuelve:

GET https://pokeapi.co/api/v2/pokemon/pikachu
Accept: application/json

Y la respuesta, ya en formato JSON:

{
  "name": "pikachu",
  "height": 4,
  "weight": 60
}

Los métodos HTTP, uno por uno

Son solo cinco los que vas a usar el noventa por ciento del tiempo. La diferencia entre ellos no es solo semántica: también indican si es seguro repetir la misma petición varias veces (lo que se llama idempotencia).

MétodoPara qué sirveEjemploEs idempotente
GETLeer un recurso sin modificarloObtener los datos de un usuario
POSTCrear un recurso nuevoRegistrar un usuario nuevoNo
PUTReemplazar un recurso enteroActualizar todos los datos de un perfil
PATCHModificar solo una parte de un recursoCambiar solo el email de un perfilNo necesariamente
DELETEEliminar un recursoBorrar una cuenta

Que un método sea idempotente significa que repetirlo cien veces produce el mismo resultado que hacerlo una sola vez. Repetir un GET nunca es un problema. Repetir un POST sin darte cuenta sí puede serlo: podrías crear el mismo pedido tres veces.

Comparativa visual de los cinco métodos HTTP: GET, POST, PUT, PATCH y DELETE

Los códigos de estado que vas a ver todo el rato

Cada respuesta de una API llega acompañada de un código de tres cifras que resume qué ha pasado, antes incluso de que mires el contenido de la respuesta.

  • 200 OK: todo ha ido bien.
  • 201 Created: se ha creado el recurso correctamente (típico tras un POST).
  • 400 Bad Request: tu petición tiene un error, normalmente en el formato de los datos enviados.
  • 401 Unauthorized: falta autenticación o no es válida (a pesar del nombre, en la práctica suele significar que no estás bien identificado, no que te falte permiso).
  • 403 Forbidden: sí estás autenticado, pero no tienes permiso para hacer esa acción.
  • 404 Not Found: el endpoint o el recurso no existe.
  • 429 Too Many Requests: has superado el límite de peticiones permitido.
  • 500 Internal Server Error: el fallo está en el servidor, no en tu petición.

Cuando algo no funciona, mirar el código de estado antes que nada te ahorra media hora de depurar tu propio código por un error que en realidad está en el servidor (o al revés).

Cómo probar una API sin escribir backend

No necesitas montar un proyecto entero para empezar a practicar con una API REST. Estas son las formas más rápidas de hacer tu primera petición real.

  • El navegador: para peticiones GET simples, pegar el endpoint directamente en la barra de direcciones ya funciona.
  • Herramientas visuales como Postman o Thunder Client: te permiten construir cualquier tipo de petición (POST, headers, body) sin escribir código.
  • curl desde la terminal: rápido para probar algo puntual, por ejemplo curl https://pokeapi.co/api/v2/pokemon/pikachu.
  • fetch en JavaScript: la forma de hacerlo ya dentro de una aplicación real con APIs REST, con código como fetch(url).then(r => r.json()).

Por ejemplo, para probar la PokeAPI (una API pública pensada para practicar) desde la terminal:

curl https://pokeapi.co/api/v2/pokemon/pikachu

Y el mismo resultado, ya dentro de una página web con JavaScript:

const response = await fetch("https://pokeapi.co/api/v2/pokemon/pikachu");
const data = await response.json();
console.log(data.name); // "pikachu"
Petición GET probada en una herramienta tipo Postman con la respuesta JSON en pantalla

Autenticación: cómo sabe la API que eres tú

Las APIs REST públicas y gratuitas suelen dejarte hacer peticiones sin identificarte. Pero en cuanto una API mueve datos privados o tiene un coste, necesita saber quién está al otro lado.

  • API key: una cadena de texto única que identifica a tu aplicación (no necesariamente a ti como persona) y que envías en cada petición, normalmente en un header, para controlar acceso y límites de uso.
  • Token (Bearer token): una credencial temporal que obtienes tras iniciar sesión, con una caducidad limitada.
  • OAuth: un protocolo de autorización (no solo de autenticación) que permite dar acceso limitado a tus datos, como al «iniciar sesión con Google», sin compartir tu contraseña con terceros.

Una API key nunca debería aparecer escrita directamente en código que subes a un repositorio público. Es el error de seguridad más común entre quienes empiezan, y basta un bot rastreando GitHub para que la encuentren en minutos.

Esquema de flujo de autenticación comparando API key frente a OAuth

Qué aprender después

Con lo anterior ya puedes leer la documentación de casi cualquier API REST y hacer tus primeras pruebas con APIs REST reales. Los siguientes pasos lógicos son:

  • Practicar con APIs REST públicas gratuitas: PokeAPI, JSONPlaceholder, Agify.io o la API de OpenWeather son buenos puntos de partida.
  • Aprender a usar Git y GitHub para guardar y compartir el código de tus pruebas con APIs.
  • Aprender a manejar JSON en tu lenguaje (parsear, recorrer, filtrar datos).
  • Entender async/await, porque las peticiones a una API tardan y tu código no puede quedarse bloqueado esperando.
  • Probar un microframework como Express (JavaScript) o FastAPI (Python) para construir tu propia API, no solo consumir las de otros.

Por qué merece la pena entender las APIs REST aunque no vayas a programar backend

Aunque tu objetivo no sea crear tu propia API, entender cómo funcionan las APIs REST cambia cómo lees el resto del ecosistema tecnológico. Cuando una app dice que «se ha caído el servidor», ahora sabes que probablemente es un código 500. Cuando una integración entre dos herramientas deja de funcionar, sabes que revisar primero es la API key o el token. Y cuando lees que una empresa «lanza su API pública», entiendes exactamente qué significa: está abriendo una puerta controlada para que otros programas hablen con la suya.

Las APIs REST son, hoy, el idioma común de internet: las usan las apps del móvil, las tiendas online, los bancos y hasta los electrodomésticos conectados. Dominar sus conceptos básicos no es solo un paso técnico más en tu formación como programador, es la base que te va a acompañar en prácticamente cualquier proyecto que hagas a partir de ahora.

Preguntas frecuentes

¿Necesito saber un lenguaje concreto para usar una API?

No. Una API REST se puede consumir desde prácticamente cualquier lenguaje de programación, e incluso sin programar, usando herramientas como Postman. Lo que cambia es la sintaxis para hacer la petición, no el concepto.

¿Qué diferencia hay entre API y API REST?

API es el término general para cualquier interfaz que permite a dos programas comunicarse. REST es un estilo concreto de diseñar APIs, el más común hoy en la web, pero existen otros como SOAP o GraphQL.

¿Por qué algunas APIs piden pagar y otras son gratis?

Mantener los servidores de una API REST respondiendo peticiones tiene un coste. Muchas APIs ofrecen un nivel gratuito limitado (por ejemplo, mil peticiones al mes) y cobran a partir de cierto volumen de uso.

¿Qué es una API key y dónde la guardo?

Es tu credencial de acceso a esa API. Debe guardarse en una variable de entorno o un archivo que no subas al repositorio, nunca escrita directamente en el código fuente.

¿SOAP y GraphQL son lo mismo que REST?

No. SOAP es un protocolo más antiguo y rígido, con mensajes en XML. GraphQL es una alternativa más moderna que permite pedir exactamente los campos que necesitas en una sola petición, en lugar de recibir siempre la respuesta completa como en REST.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *