HTTP Request en n8n: conecta cualquier API paso a paso

Antes de encender el horno, la panadería ya sabe qué tiempo hará mañana. Si llueve entra menos gente y se hornea menos pan; si sale el sol, toca la tanda grande. Ese dato no lo escribe nadie: n8n se lo pide a internet con un solo nodo, el HTTP Request, y con ese mismo nodo puedes hablar con casi cualquier servicio que tenga API.

Este es el séptimo capítulo de n8n desde cero, nuestra serie gratuita en YouTube. Aquí tienes el vídeo y, debajo, el paso a paso para montarlo aunque no le des al play, con el workflow terminado para descargar.

📌 En resumen

Una API contesta con datos en JSON cuando la llamas a una dirección. El nodo HTTP Request con GET la pide y Edit Fields se queda con lo que te sirve (en una lista, mañana es la posición 1). Si la API pide clave, va siempre en una credencial (Header Auth, Query Auth o Basic Auth) y nunca en la URL. Retry On Fail y On Error evitan que un fallo pare el workflow, Batching te mantiene por debajo del límite e Import cURL rellena el nodo solo a partir del ejemplo de la documentación.

Qué es una API y cuándo usar HTTP Request

Una API es como la ventanilla de un programa. Le haces una petición a una dirección, igual que cuando abres una web, y en vez de una página te contesta con datos, casi siempre en JSON, el formato de claves y valores que ya conoces de n8n.

n8n trae cientos de nodos con su servicio ya preparado, como Google Sheets, Telegram o Gmail. Cuando el servicio que quieres no tiene nodo propio, o el nodo no hace lo que necesitas, usas el HTTP Request, que habla con cualquier API que tenga dirección.

Qué necesitas

Solo tu n8n. La API del tiempo, Open-Meteo, es gratis y no pide registro mientras no la uses para un negocio (para uso comercial tiene un plan de pago). Para la de la NASA vale una clave de prueba que publican ellos mismos.

Paso a paso: el tiempo de mañana

1. La dirección de la API

En la web de Open-Meteo, en API Docs, eliges la ciudad y los datos, y abajo te da la dirección montada. En el vídeo pedimos la máxima y la probabilidad de lluvia de hoy y de mañana en Valladolid:

https://api.open-meteo.com/v1/forecast?latitude=41.66&longitude=-4.72&daily=temperature_2m_max,precipitation_probability_max&timezone=Europe%2FMadrid&forecast_days=2

Cambia latitude y longitude por las de tu ciudad (al final del capítulo te enseñamos a sacarlas con otra API).

2. El nodo HTTP Request con GET

En un workflow nuevo añade el disparador manual y, con el + de su derecha, busca HTTP Request. En Method deja GET, que significa pedir, y en URL pega la dirección entera. Pulsa Execute step.

A la derecha sale la respuesta: un solo item con la latitud, la longitud y, dentro de daily, tres listas: los días (time), las máximas (temperature_2m_max) y la lluvia (precipitation_probability_max). Pásalo a la vista JSON para verlo tal como llega.

3. Hoy es cero, mañana es uno

En time hay dos fechas, hoy y mañana, y en las otras dos listas, dos números en el mismo orden. En una lista la primera posición es la 0 y la segunda, la 1, así que lo que buscas (mañana) es siempre la posición 1. Si un campo te sale vacío, casi siempre es por este número.

4. Edit Fields: quedarte con lo útil

Detrás del HTTP Request añade Edit Fields, que en la lista sale como Edit Fields (Set), y llámalo Mañana. En la izquierda abre daily y arrastra la posición 1 de cada lista hasta Fields to Set; n8n crea cada campo con su expresión y tú solo le pones nombre:

dia     {{ $json.daily.time[1] }}
maxima  {{ $json.daily.temperature_2m_max[1] }}
lluvia  {{ $json.daily.precipitation_probability_max[1] }}

5. Primer punto de control

Pulsa Execute step en Mañana: a la derecha tienes un item con tres campos, dia, maxima y lluvia, los de mañana. Con lo que viste en el capítulo 4 ya podrías mandarlo a Telegram cada mañana a las seis.

Las APIs con clave: la foto de la NASA

La mayoría de las APIs no son tan generosas y te piden una clave, como la llave de una taquilla: con ella saben quién llama y cuántas veces. Lo probamos con la API de la NASA que publica cada día una foto del espacio con su explicación.

Sin clave, falla

Añade otro HTTP Request detrás del disparador, llámalo La foto de la NASA y en URL escribe https://api.nasa.gov/planetary/apod. Al pulsar Execute step sale el error Forbidden, perhaps check your credentials y, debajo, la propia NASA te dice que no le has dado ninguna api_key.

Dónde va la clave

La documentación de cada API te dice dónde la quiere, y hay tres sitios posibles:

  • En una cabecera, que es lo más habitual: Header Auth.
  • En la propia dirección, como un parámetro más: Query Auth.
  • Con usuario y contraseña: Basic Auth.

La NASA la pide en la dirección, con el nombre api_key.

Nunca en la URL ni en un campo del nodo

Si escribes la clave en la URL o en un campo del nodo, se queda a la vista dentro del workflow y, cuando lo exportes o lo compartas, la clave se va con él. En una credencial, n8n la guarda cifrada y el nodo solo la usa.

La credencial Query Auth

  1. En Authentication elige Generic Credential Type.
  2. En Generic Auth Type, Query Auth.
  3. En Credential, Create new credential.
  4. En Name escribe api_key, tal cual lo pide la NASA, y en Value pega tu clave.

Para probar, la NASA deja usar la clave DEMO_KEY, con 30 llamadas por hora y 50 al día. Para algo serio, pide la tuya gratis en api.nasa.gov: es un formulario con tu nombre y tu correo, y te llega al momento.

Pulsa Execute step otra vez y ahora sí: la NASA devuelve la fecha, el título de la foto del día, la explicación y, en url, la dirección de la imagen. En el nodo no queda ni rastro de la clave, solo el nombre de la credencial.

Los errores típicos de una API

Cuando una API falla, el número del error te dice qué ha pasado y por dónde empezar a mirar:

CódigoQué significaQué hacer
401La clave falta o no valeRevisa la credencial: que el Name sea el que pide la API y que no se haya colado un espacio en la clave
403La clave falta o no vale (la NASA sin clave da Forbidden)Lo mismo que el 401: credencial puesta, Name correcto y clave limpia
404La dirección está mal escrita o ya no existeRepasa la URL letra a letra
429Has hecho demasiadas llamadasEspacia las llamadas: Retry On Fail con espera y Batching
5xxEl problema está en el servidor de la API, no en el tuyoReintentar con Retry On Fail y decidir con On Error qué pasa si sigue fallando

En el vídeo provocamos un 404 quitando la última letra de forecast en la dirección del tiempo: n8n contesta The resource you are requesting could not be found. Para el 429 usamos una dirección de pruebas, https://httpbin.org/status/429, que siempre contesta eso; n8n lo traduce como too many requests y te sugiere espaciar las llamadas.

Retry On Fail: reintentar

Para que un fallo pasajero no te pare todo, abre Settings en el nodo y activa Retry On Fail. Max. Tries son los intentos (3 de serie) y Wait Between Tries, la espera entre uno y otro en milisegundos: 1000 es un segundo. Si la API te pide esperar más, súbelo.

On Error: seguir aunque falle

Justo debajo tienes On Error, con tres opciones:

  • Stop Workflow, la de serie, lo para todo.
  • Continue sigue adelante y pasa el error como un item más.
  • Continue (using error output) le añade al nodo una salida solo para errores, por ejemplo para avisarte.

Con Continue, tras los reintentos el error sale como dato y el workflow no se rompe.

Batching: no llegar al límite

Mejor que reintentar es no llegar al límite. En Options, Batching manda las llamadas en tandas (Items per Batch y Batch Interval): si son muchas, una por segundo. Lo que no cambia en todo el día, como el tiempo de mañana, pídelo una vez y guárdalo.

El truco del cURL

Casi todas las documentaciones traen ejemplos en cURL, una orden de terminal que lleva la dirección, los parámetros y las cabeceras. El del buscador de ciudades de Open-Meteo es este:

curl "https://geocoding-api.open-meteo.com/v1/search?name=Valladolid&count=1&language=es"

Añade otro HTTP Request y llámalo Buscar la ciudad. Arriba del todo tienes Import cURL: púlsalo, pega el ejemplo y pulsa Import. n8n lo reparte solo, con la dirección en URL y name, count y language en Query Parameters.

Ejecútalo y sale Valladolid con su latitude y su longitude. Cambia name por tu ciudad y ya tienes las coordenadas para la dirección del tiempo. Un aviso: si el ejemplo trae una clave, al importarlo se queda en el nodo, así que bórrala de ahí y llévala a una credencial.

Si te falla

  • Sale una página web en vez de JSON: esa dirección no es la de la API.
  • Un campo sale vacío: revisa la posición, 0 o 1.
  • Da 401 o 403 con la credencial puesta: mira que el Name sea el que pide la API y que no se haya colado un espacio en la clave.

Los capítulos del vídeo

MinutoQué se ve
1:15Qué es una API
1:49La API del tiempo: Open-Meteo
2:10El nodo HTTP Request con GET
2:43Hoy es cero, mañana es uno
2:58Edit Fields: quedarte con lo útil
4:10Sin clave: 403 Forbidden
4:33Dónde va la clave: Header, Query o Basic Auth
5:10La credencial Query Auth
6:03Los errores típicos: 401, 403, 404, 429 y 5xx
7:00Retry On Fail
7:19On Error: seguir aunque falle
8:16Import cURL

Descarga el workflow de HTTP Request

Un zip con el workflow terminado, para pegarlo en tu lienzo con Ctrl+V: el tiempo de mañana con Open-Meteo y Edit Fields, la foto de la NASA con Query Auth ya preparada, el ejemplo del error 429 con Retry On Fail y On Error, y el buscador de ciudades importado con cURL. Viene sin credenciales, con el cURL y la dirección del tiempo en el LEEME.

Recibirás un correo para confirmar tu dirección y, al confirmarla, otro con el zip adjunto. Si ya confirmaste en otra descarga de la serie, te llega directamente.

Preguntas frecuentes

¿Para qué sirve el nodo HTTP Request de n8n?
Para llamar a cualquier API que tenga dirección. Lo usas cuando el servicio no tiene nodo propio en n8n o cuando el nodo que trae no hace lo que necesitas.

¿Dónde pongo la clave de una API en n8n?
Siempre en una credencial: en Authentication eliges Generic Credential Type y luego Header Auth, Query Auth o Basic Auth, según lo que diga la documentación de la API. Nunca en la URL ni en un campo del nodo, porque viajaría con el workflow al exportarlo.

¿Qué significa el error 429 y cómo lo evito?
Que has hecho demasiadas llamadas. Activa Retry On Fail con una espera entre intentos, usa Batching para mandar las llamadas en tandas y pide una sola vez lo que no cambia en todo el día.

¿Cómo hago que un fallo de la API no pare todo el workflow?
En Settings del nodo, On Error en Continue pasa el error como un item más, y Continue (using error output) le añade una salida solo para errores, por ejemplo para avisarte.

¿Qué es Import cURL?
Un botón del nodo HTTP Request donde pegas el ejemplo en cURL de la documentación de una API, y n8n rellena solo la URL, los parámetros y las cabeceras.

Sigue la serie: ← capítulo 6: Google Sheets · todos los capítulos de n8n desde cero · capítulo 8: herramientas para el agente →

APIs de verdad: paginación, cabeceras y tokens

En el curso de n8n de nacaIA Academy conectamos APIs reales con paginación, cabeceras y tokens, lección a lección, junto con el resto del temario: de los primeros nodos a los agentes de IA y n8n en producción.

Ver el curso de n8n
JB

Jorge Benítez

Fundador de nacaIA · Especialista en automatizaciones con n8n y desarrollo de software

Ayudo a empresas a automatizar procesos con n8n, IA y desarrollo a medida. Más sobre mí →