1 / 22

APIs Gratuitas para tu Bot

Conecta tu agente al mundo real

Que es una API?

Tu bot envia una peticion → recibe datos → los usa en su respuesta

GET Request

La mayoria de estas APIs usan peticiones GET: simplemente visitas una URL y te devuelve datos en formato JSON. Es como abrir una pagina web, pero en vez de HTML recibes datos estructurados.

Como usar en n8n

Usamos el nodo HTTP Request Tool (no el HTTP Request normal)

HTTP Request Tool

Importante

El nodo HTTP Request Tool permite que el agente DECIDA cuando llamar a la API. El agente lee la pregunta del usuario, decide si necesita datos externos, y hace la llamada automaticamente.

catfact.ninja

Datos curiosos de gatos

https://catfact.ninja/fact
Response JSON
{ "fact": "An adult lion's roar can be heard up to five miles away.", "length": 56 }

La mas simple

Solo 2 campos en la respuesta: fact (el dato) y length (largo del texto). Perfecta para empezar.

Ejercicio: Cat Facts

Pasos

  1. Agrega un nodo HTTP Request Tool al canvas
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://catfact.ninja/fact
  4. Method: GET
  5. Description: "Gets a random cat fact"
  6. Prueba: "Dime un dato curioso de gatos"

Verificacion

El agente deberia responder con un dato diferente cada vez. Revisa los logs para confirmar que se hizo la llamada HTTP.

Chuck Norris

Chistes de Chuck Norris

https://api.chucknorris.io/jokes/random
Response JSON
{ "value": "Chuck Norris once had an interim job at Denny's..." }

Campo clave

El chiste esta en el campo "value". El resto de campos (id, url, icon_url) son metadata que el agente puede ignorar.

Ejercicio: Chuck Norris

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://api.chucknorris.io/jokes/random
  4. Description: "Gets a random Chuck Norris joke"
  5. Prueba: "Cuentame un chiste de Chuck Norris"

Descripcion importa

La descripcion del tool le dice al agente cuando usarlo. Si dices "Gets a Chuck Norris joke", el agente solo lo llamara cuando le pidan un chiste de Chuck Norris.

dog.ceo/api

Fotos aleatorias de perros

https://dog.ceo/api/breeds/image/random
Response JSON
{ "message": "https://images.dog.ceo/breeds/terrier/...", "status": "success" }

Imagen aleatoria

Devuelve una URL de imagen aleatoria de un perro. Cada llamada genera una imagen diferente. El agente puede compartir el link.

Ejercicio: Perros

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://dog.ceo/api/breeds/image/random
  4. Description: "Gets a random dog photo URL"
  5. Prueba: "Mandame una foto de un perro"
  6. El bot deberia devolver el link de la imagen

Useless Facts

Datos curiosos e inĂștiles

https://uselessfacts.jsph.pl/api/v2/facts/random
Response JSON
{ "id": "c01b...", "text": "Every acre of American crops contains 100 pounds of insects.", "source": "djtech.net" }

Campo clave

El dato curioso esta en el campo "text". Perfecto para un bot de curiosidades o trivia.

Ejercicio: Datos Curiosos

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://uselessfacts.jsph.pl/api/v2/facts/random
  4. Description: "Gets a random useless fun fact"
  5. Prueba: "Dime un dato curioso"

Bored API

Sugerencias de actividades

https://bored-api.appbrewery.com/random
Response JSON
{ "activity": "Listen to a new music genre", "type": "music", "participants": 1, "price": 0 }

Metadata util

Ademas de la actividad, incluye type, participants y price. El agente puede filtrar o recomendar basandose en estos datos.

Ejercicio: Actividades

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://bored-api.appbrewery.com/random
  4. Description: "Suggests a random activity when bored"
  5. Prueba: "Estoy aburrido, que puedo hacer?"

icanhazdadjoke.com

Chistes en ingles (dad jokes)

https://icanhazdadjoke.com/
Header → Accept: application/json
Response JSON
{ "id": "ucxPZDAlGlb", "joke": "If two vegans are having an argument...", "status": 200 }

Header requerido

Esta API requiere el header Accept: application/json para devolver JSON. Sin el, devuelve texto plano.

Ejercicio: Chistes

Pasos

  1. Agrega un nodo HTTP Request Tool al canvas
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://icanhazdadjoke.com/
  4. Method: GET
  5. Agrega Header: Accept = application/json
  6. Description: "Gets a random dad joke"
  7. Prueba: "Cuentame un chiste"

Headers en n8n

En el nodo HTTP Request Tool, abre OptionsHeaders → agrega Name: Accept, Value: application/json

zenquotes.io

Frases celebres e inspiradoras

https://zenquotes.io/api/random
Response JSON
[{ "q": "Love is the expression of one's values.", "a": "Ayn Rand" }]

Respuesta es un array

Ojo: la respuesta viene dentro de [ ] (un array). El campo "q" es la frase y "a" es el autor. El agente sabe extraer los datos.

Ejercicio: Frases

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://zenquotes.io/api/random
  4. Description: "Gets a random inspirational quote"
  5. Prueba: "Dame una frase motivacional"
  6. Bonus: agrega al System Prompt que siempre termine con una frase inspiradora

Formato ideal

Pide al agente en el System Prompt que formatee como: "La frase..." - Autor

Open-Meteo

Clima en tiempo real (sin API key)

https://api.open-meteo.com/v1/forecast?latitude=40.45&longitude=-3.7¤t_weather=true
Response JSON (parcial)
{ "current_weather": { "temperature": 10.7, "windspeed": 20.2, "weathercode": 3 } }

Coordenadas (Madrid por defecto)

Madrid: lat=40.45, lon=-3.7 | Barcelona: lat=41.39, lon=2.17 | Bogota: lat=4.71, lon=-74.07. Cambia latitude y longitude para otras ciudades.

Ejercicio: Clima

Pasos

  1. Agrega un nuevo HTTP Request Tool
  2. Conectalo al puerto Tool del AI Agent
  3. URL: https://api.open-meteo.com/v1/forecast?latitude=40.45&longitude=-3.7¤t_weather=true
  4. Description: "Gets current weather for Madrid"
  5. Prueba: "Como esta el clima en Madrid?"
  6. Verifica que devuelve temperatura y velocidad del viento

Query params

Esta API usa parametros en la URL (?latitude=...&longitude=...). Esto es comun en APIs mas avanzadas que reciben datos del usuario.

Multiples APIs

Puedes conectar VARIAS APIs al mismo agente

Como funciona

Cada HTTP Request Tool es independiente. El agente decide cual usar segun la pregunta del usuario. Puedes tener 2, 3 o mas APIs conectadas al mismo tiempo.

Reto

  1. Conecta al menos 2 APIs diferentes al mismo agente
  2. Prueba haciendo preguntas variadas: "Dime un dato de gatos y despues el clima"
  3. Verifica que el agente use la API correcta para cada pregunta

8 APIs disponibles

1
catfact.ninja/fact
Datos de gatos
2
api.chucknorris.io/jokes/random
Chistes de Chuck Norris
3
dog.ceo/api/breeds/image/random
Fotos de perros
4
uselessfacts.jsph.pl/api/v2/facts/random
Datos curiosos
5
bored-api.appbrewery.com/random
Sugerencias de actividad
6
icanhazdadjoke.com
Dad jokes (necesita header)
7
zenquotes.io/api/random
Frases motivacionales

A explorar!

Cada API es un nuevo superpoder para tu bot