Tema
APIs públicas
Las APIs públicas son perfectas para practicar fetch, async/await, manejo de errores, paginación y renderizado dinámico, y para darle vida a los proyectos de tu portafolio: un buscador de películas, una app del clima, un Pokédex o un convertidor de divisas.
Antes de usar una API
- Lee la documentación: límites de peticiones (rate limits), si requiere API key y sus términos de uso.
- Nunca pongas una API key secreta en el código del frontend: cualquiera puede verla. Úsala desde tu backend o una función serverless.
- Las APIs gratuitas pueden cambiar o desaparecer; maneja siempre los errores.
Directorios de APIs
public-apisLa lista más famosa de APIs gratuitas, organizada por categorías.RapidAPI HubMarketplace con miles de APIs (gratuitas y de pago).
Datos falsos para practicar CRUD
JSONPlaceholderAPI REST falsa con posts, usuarios y comentarios.DummyJSONProductos, carritos, usuarios, login con JWT y más.Fake Store APIProductos y carritos para practicar una tienda en línea.ReqresAPI con respuestas reales para probar registro, login y listados.Random UserGenera usuarios aleatorios con foto, nombre y dirección.json-serverCrea tu propia API REST falsa local desde un archivo JSON.MockAPICrea endpoints falsos en la nube con datos generados.
Entretenimiento
PokéAPITodos los datos de Pokémon. Sin API key.Rick and Morty APIPersonajes, lugares y episodios, con paginación y filtros.TMDBPelículas y series con imágenes (requiere API key gratuita).OMDb APIInformación de películas (API key gratuita).SWAPIDatos del universo de Star Wars.JikanAPI no oficial de MyAnimeList: anime y manga.FreeToGameVideojuegos gratuitos con filtros por plataforma y género.Spotify Web APIArtistas, álbumes y playlists (requiere OAuth).Deck of CardsBaraja y reparte cartas: ideal para juegos.
Clima, geografía y lugares
Open-MeteoPronóstico del clima gratis y sin API key.OpenWeatherClima actual y pronósticos (API key gratuita).WeatherAPIClima, astronomía y zonas horarias (plan gratuito).REST CountriesInformación de todos los países: banderas, capitales, monedas.NominatimGeocodificación con datos de OpenStreetMap.ip-apiUbicación aproximada a partir de una IP (uso no comercial).Sunrise SunsetHoras de amanecer y atardecer por coordenadas.
Dinero y finanzas
FrankfurterTipos de cambio del Banco Central Europeo, sin API key.ExchangeRate-APIConversión de divisas con plan gratuito.CoinGecko APIPrecios e historial de criptomonedas.
Conocimiento, ciencia y datos
NASA APIsFoto astronómica del día, Marte, asteroides y más.Open LibraryLibros, autores y portadas.Google Books APIBúsqueda de libros con portadas y descripciones.Wikipedia (MediaWiki API)Busca y obtén artículos de Wikipedia.Free Dictionary APIDefiniciones y pronunciación de palabras en inglés.Hacker News APINoticias y comentarios de Hacker News.GitHub REST APIUsuarios, repositorios y estadísticas: ideal para tu portafolio.The Met Collection APIObras del Museo Metropolitano de Arte con imágenes.
Animales, humor y miscelánea
The Cat APIFotos y razas de gatos.The Dog APIFotos y razas de perros.Dog CEOImágenes aleatorias de perros por raza, sin API key.JokeAPIChistes con filtros por categoría e idioma (incluye español).Chuck Norris APIDatos "verídicos" de Chuck Norris.Advice SlipConsejos aleatorios.Open Trivia DBPreguntas de trivia para hacer juegos de quiz.Unsplash APIBusca e integra fotos de Unsplash en tus apps.QR Code APIGenera códigos QR con una URL.
Ejemplo rápido: consumir una API
js
// Clima actual en Ciudad de México con Open-Meteo (sin API key)
async function obtenerClima() {
const url =
'https://api.open-meteo.com/v1/forecast?latitude=19.43&longitude=-99.13¤t=temperature_2m,wind_speed_10m';
try {
const respuesta = await fetch(url);
if (!respuesta.ok) throw new Error(`Error HTTP ${respuesta.status}`);
const datos = await respuesta.json();
console.log(`Temperatura: ${datos.current.temperature_2m} °C`);
console.log(`Viento: ${datos.current.wind_speed_10m} km/h`);
} catch (error) {
console.error('No se pudo obtener el clima:', error.message);
}
}
obtenerClima();Ideas de proyectos para tu portafolio
- Pokédex con búsqueda, filtros por tipo y paginación (PokéAPI).
- App del clima con geolocalización del navegador (Open-Meteo).
- Buscador de películas con favoritos guardados en localStorage (TMDB).
- Convertidor de divisas (Frankfurter).
- Tienda en línea con carrito y checkout simulado (Fake Store API o DummyJSON).
- Perfil de GitHub que muestre tus repositorios y lenguajes (GitHub REST API).