24 de agosto de 2026 · Por YasKad
public-apis/public-apis

public-apis: el listado colectivo de APIs públicas y gratuitas

public-apis/public-apis · 483.096★ · 53.366 forks

Un directorio de APIs gratuitas en un único archivo Markdown, mantenido a mano desde 2016, que se convirtió en la referencia de facto para descubrir APIs públicas — y en un caso de estudio sobre qué ocurre cuando un vendor comercial se integra a su curaduría.


Qué es public-apis

public-apis es un repositorio cuyo producto es un solo documento: README.md (238 KB, 2.189 líneas), organizado en 51 categorías (desde Animals y Anime hasta Weather, pasando por Authentication, Blockchain, Finance, Government, Machine Learning, Security o Transportation) y 1.706 entradas en formato de tabla.

Cada entrada describe una API con estas columnas: nombre (enlazado a su documentación oficial), descripción (máximo 100 caracteres), Auth (tipo de autenticación: OAuth, apiKey, X-Mashape-Key, No o User-Agent), HTTPS (sí/no), CORS (Yes, No o Unknown) y «Call this API» (enlace a una colección pública de Postman cuando existe). No hay código de aplicación: GitHub clasifica el lenguaje principal como Python únicamente por los guiones de validación de scripts/validate/. La licencia es MIT (c) 2022 public-apis.

El origen: de un README personal a un estándar comunitario

El repositorio fue creado el 20 de marzo de 2016 por Todd Motto (toddmotto), que hizo el commit inicial a las 23:49 UTC y fusionó él mismo los primeros PRs. En las 24 horas siguientes la lista recibió NASA, OpenWeatherMap, Transport for London, irail, Deutsche Bahn, Dribbble, Netflix Roulette, iTunes, Spotify y RandomUser, entre otras. Su primera aparición en Hacker News data del 21 de marzo de 2016 (2 puntos); el empujón llegó en 2017, cuando un hilo alcanzó 270 puntos.

Ilustración cyberpunk en modo oscuro de un README personal evolucionando hacia un estándar comunitario: a la izquierda, una terminal de estilo 2016 y un cuaderno manuscrito brillan tenuemente, mientras a la derecha se expanden en un vasto directorio luminoso de APIs públicas. Una línea de tiempo neón atraviesa la escena desde un commit inicial hasta un ecosistema open source moderno, con nodos abstractos que representan las primeras entradas, el crecimiento comunitario, la migración a organización y la controversia con un vendor. Iconos holográficos de APIs flotan sobre la línea de tiempo —clima, espacio, transporte, música, finanzas— representados como símbolos neón elegantes. Siluetas translúcidas de contribuidores se fusionan con el listado, subrayando la propiedad colectiva. Fondo oscuro, iluminación neón cian y violeta, ultra detallado, cinematográfico, resolución 8K, sin texto legible.

Tres hitos marcan la evolución del proyecto. En 2018, davemachado (segundo mayor contribuidor con 683 commits) creó la API JSON oficial, davemachado/public-api, en Go, servida en api.publicapis.org. En 2019 el proyecto pasó a la organización public-apis (creada el 28 de mayo de 2019, hoy con 6.205 seguidores y un solo repositorio público); ese mismo año apareció la primera fricción comercial: en un hilo de HN, el usuario brianherbert observó que «el dueño del repo opera el sitio que patrocina la lista».

La controversia mayor llegó en 2022: el 11 de marzo la cuenta de GitHub APILayer empujó tres commits de «Update README.md» directamente al README; ese mismo día Yann Bertrand (yannbertrand, 79 commits, top 10 del proyecto) empujó tres commits Revert "Update README.md" para deshacerlos. El 16 de marzo y el 18 de mayo de 2022, APILayer volvió a editar el README y esta vez los cambios se mantuvieron: el README actual abre con la sección «APILayer Unified Suite is now Live!», promociona los productos de APILayer (IPstack, Marketstack, Weatherstack, Aviationstack, Fixer, Zenserp, Screenshotlayer) y el homepage del repositorio es un enlace referencial a apilayer.com con parámetros UTM. De esa controversia nació el fork comunitario mantenido public-apis-dev/public-apis (hoy redirigido a marcelscruz/public-apis), creado el 11 de mayo de 2022.

Escena tensa en modo oscuro y estilo cyberpunk que representa a un vendor comercial inyectando contenido patrocinado en un directorio público de APIs: un logo corporativo neón empuja un banner brillante hacia la parte superior de un README luminoso, mientras etiquetas ámbar de rastreo UTM se adhieren a varias filas de la tabla como pequeños parásitos de circuito. Mantenedores comunitarios ejecutan commits de reversión, representados como cintas de rebobinado cian, iconos de escudo y paneles de diff con líneas verdes de eliminación. Una línea de tiempo se bifurca en dos caminos: una rama permanece contaminada con la promoción comercial, mientras la otra se convierte en un fork comunitario limpio que brilla en verde esmeralda. Iluminación neón dramática, modo oscuro, estética cyberpunk, materiales ultra detallados, resolución 8K, sin texto legible.

Filosofía y principios

El CONTRIBUTING.md declara explícitamente la filosofía: «This API list is not a marketing tool, but a tool to help the community build applications and use free, public APIs quickly and easily». De esa declaración se derivan reglas verificables:

  • Acceso gratuito real: la API propuesta debe tener acceso gratuito completo o al menos una capa gratuita; se rechazan APIs que dependen de la compra de un dispositivo o servicio, y los PR identificados como intentos de marketing no se aceptan.
  • Curaduría manual: el README afirma que la lista es «manually curated by community members like you and folks working at APILayer», es decir, no hay scraping ni generación automática; cada entrada entra por revisión humana de un colaborador.
  • Transparencia técnica por entrada: las columnas Auth, HTTPS y CORS hacen visible el coste de integración antes de abrir la documentación; el documento advierte que sin CORS una API solo es utilizable desde el lado servidor.
  • Higiene documental: orden alfabético por sección, una descripción de menos de 100 caracteres, un enlace por PR, títulos de PR con el formato Add Api-name API, commits apretados (squash), sin TLD en el nombre y sin terminar el nombre en «API».
  • Verificación continua: la CI valida los enlaces de todo el README cada día y en cada push o PR.

Escena conceptual en modo oscuro y estilo cyberpunk que representa la filosofía de un listado de APIs gratuitas curado por la comunidad: una biblioteca neón al aire libre donde figuras contribuidoras inspeccionan tarjetas de API brillantes dispuestas en estanterías transparentes. Cada tarjeta muestra iconos abstractos de acceso gratuito, cifrado HTTPS, compatibilidad CORS, claves de API, OAuth y acceso sin autenticación. Sobre la biblioteca, un gran cartel translúcido muestra un megáfono roto y una mano abierta, simbolizando que el directorio es una herramienta comunitaria y no un canal de marketing. En una cámara lateral en penumbra, megáfonos de vendors comerciales y banners patrocinados quedan contenidos tras un cristal, separados visualmente de los espacios comunes. Revisores humanos aprueban entradas con marcas de verificación brillantes, mientras datos automatizados o extraídos por scraping son rechazados como estática oscura. Ambiente ético, transparente y colaborativo, modo oscuro, estética cyberpunk, superficies ultra detalladas, resolución 8K, sin texto legible.

Cómo funciona

El contenido completo vive en README.md. La sección «Index» enlaza a las 51 categorías y cada categoría es una tabla ordenada alfabéticamente. De los 1.706 enlaces de entrada, 26 llevan el parámetro de rastreo utm_source de APILayer (incluidas las 11 filas de la tabla promocional «APILayer APIs» que encabeza el archivo).

La infraestructura del repositorio es mínima y se limita a scripts/ (Python 3.8) y dos flujos de GitHub Actions: test_of_push_and_pull.yml (en cada push o PR a master) valida el formato Markdown, ejecuta una comprobación del cambio propuesto y busca enlaces duplicados; validate_links.yml (programado a medianoche UTC diaria) valida que todos los enlaces del README sigan respondiendo.

Diagrama detallado en modo oscuro y estilo cyberpunk de un archivo README extenso funcionando como un panel de control luminoso: el panel central es una tabla markdown brillante con columnas abstractas para nombre de API, descripción, autenticación, HTTPS, CORS y enlace a colección de Postman. Alrededor, 51 módulos de categoría se disponen en un índice circular, cada uno renderizado como un chip neón con iconos abstractos de animales, clima, finanzas, salud, videojuegos, transporte, seguridad y machine learning. Una tubería lateral muestra flujos de validación automatizada: disparadores de push, comprobaciones de pull request, validación de formato markdown, detección de enlaces duplicados y un verificador diario de enlaces a medianoche representado como una esfera neón similar a un reloj. Pulsos verdes viajan por la tubería cuando los enlaces son válidos, mientras enlaces rotos aparecen como tenues chispas rojas. Ambiente preciso, técnico y mantenible, modo oscuro, estética cyberpunk, circuitería ultra detallada, resolución 8K, sin texto legible.

Además, el README enlaza oficialmente la API JSON del proyecto (davemachado/public-api, Go, Apache 2.0), cuyo README documenta la base https://api.publicapis.org/ con cuatro endpoints públicos, sin autenticación y con soporte CORS: GET /entries (lista todo, con filtros por title, description, auth, https, cors y category), GET /random (una entrada aleatoria), GET /categories y GET /health. Detalle documentado: para categorías con espacio y ampersand, el parámetro usa solo la primera palabra (Science & Math → category=science). El repositorio de esa API no registra commits desde el 8 de diciembre de 2022 y el host api.publicapis.org no respondió en la verificación más reciente, por lo que su disponibilidad actual queda sin confirmar.

Interfaz en modo oscuro y estilo cyberpunk para un servicio de API JSON pública: cuatro terminales de endpoint brillantes se disponen en una cuadrícula limpia, cada una representando una operación distinta: listar todas las entradas, devolver una entrada aleatoria, listar categorías y comprobación de salud. Las terminales emiten luz suave cian, violeta y ámbar, con chips de filtro abstractos flotando cerca para título, descripción, autenticación, HTTPS, CORS y categoría. Una tubería de datos transparente muestra peticiones de API entrando desde un cliente similar a un navegador y respuestas devolviéndose como paquetes JSON estructurados, sin puerta de autenticación y con un puente CORS abierto entre cliente y servidor. Una pequeña insignia abstracta del lenguaje Go se sitúa cerca del núcleo del servicio, sugiriendo un backend ligero. Un nodo lateral atenuado insinúa un host no verificado o fuera de línea, representado como una luz de advertencia discreta en lugar de una alarma. Ambiente técnico, elegante y amigable para desarrolladores, modo oscuro, estética cyberpunk, ultra detallado, resolución 8K, sin texto legible.

El ecosistema

Compañeros oficiales o del mismo autor:

  • davemachado/public-api — la API JSON oficial del listado, enlazada desde el propio README. 1.683 estrellas, 181 bifurcaciones; Go, Apache 2.0; última publicación el 8 de diciembre de 2022.
  • La organización public-apis (6.205 seguidores) posee únicamente este repositorio; no hay repos hermanos en la org.
  • toddmotto/public-apis — el repositorio original de Todd Motto, hoy bifurcación del proyecto principal (2.739 estrellas, 311 bifurcaciones); es el residuo del origen personal del proyecto.

Forks y alternativas comunitarias (verificadas vía API de GitHub el 21 de agosto de 2026):

  • marcelscruz/public-apis (antes public-apis-dev/public-apis) — «A collaborative list of public APIs for developers»; 9.360 estrellas, 1.023 bifurcaciones, creado el 11 de mayo de 2022, MIT, homepage publicapis.dev. Es el fork sin marketing de APILayer citado en discusiones posteriores de la comunidad.
  • public-api-lists/public-api-lists — «A curated list of free public APIs — searchable, community-maintained, with a free JSON API»; 15.552 estrellas, 1.691 bifurcaciones, creado el 5 de enero de 2020, MIT, interfaz web en public-api-lists.github.io.
  • tonnyl/awesome_apis — «A collection of APIs»; 13.081 estrellas; colección general de APIs, no limitada a las gratuitas.
  • Free-APIs/Free-APIs.github.io — «A collection of free APIs for new and experienced developers»; 1.284 estrellas.
  • 255kb/stack-on-a-budget — 12.389 estrellas; adyacente (servicios con capa gratuita para presupuestos ajustados), no es un directorio de APIs.

Mapa de red en modo oscuro y estilo cyberpunk de un ecosistema de directorio de APIs open source: un nodo de repositorio central con un icono de estrella radiante se conecta a un servicio de API JSON oficial, un repositorio personal original, un fork comunitario, listados alternativos curados, sitios de ranking públicos y bibliotecas cliente de terceros. Cada nodo brilla con distinta intensidad para representar estrellas, forks y actividad, rodeado de anillos de métricas abstractos y pequeñas siluetas de contribuidores. Un panel lateral muestra una interfaz de servicio JSON con cuatro tarjetas de ruta abstractas para entradas, selección aleatoria, categorías y comprobaciones de salud, más chips de filtro para título, descripción, autenticación, HTTPS, CORS y categoría. Paquetes de datos viajan por tuberías transparentes, y un intercambio CORS se visualiza como un puente neón entre cliente y servidor. Ambiente de constelación open source viva, modo oscuro, estética cyberpunk, acentos neón, ultra detallado, resolución 8K, sin texto legible.

Fuera del propio GitHub, dos proyectos relacionados no tienen repositorio propio identificado: freepublicapis.com («A collection of Free Public APIs for Students and Developers. Tested every single day.», con un hilo de HN de 2024 que alcanzó 602 puntos) y apirank.dev («We crawled and ranked public APIs from the internet», Show HN con 176 puntos). No existe paquete npm/PyPI/crates oficial para el listado, ya que es un documento, no software.

Estado oficial y semioficial

No hay designación formal como estándar ni presencia en un marketplace; el estatus es de facto: con 467.497 estrellas es el listado de APIs más estrelado de GitHub y el enlace canónico que aparece en tutoriales, hilos y podcasts cuando alguien pregunta por «APIs gratuitas».

Lo que sí hay es un vínculo vendor documentado: APILayer (proveedor comercial de APIs como IPstack, Weatherstack, Serpstack) participa en la curaduría según afirma el propio README, tuvo escritura directa sobre el archivo en 2022, el homepage del repositorio es un enlace referencial a APILayer y 26 filas del listado llevan su parámetro UTM. En la práctica, los productos de APILayer tienen visibilidad garantizada en la cabecera de la lista más consultada del nicho, y la comunidad respondió con revertidos públicos y un fork alternativo. No es un «estado oficial» de un estándar, sino una relación comercial de facto entre el listado y un proveedor.

Números del repo

Medición: 21 de agosto de 2026, API de GitHub.

MétricaValor
Estrellas467.497
Bifurcaciones51.560
Suscriptores reales4.674
Commits5.158
Incidencias + PR abiertos1.717
Lenguaje principalPython (guiones de validación)
LicenciaMIT (c) 2022 public-apis
Creación20 de marzo de 2016
Último push19 de agosto de 2026
Releases / tagsninguno

watchers_count replica el conteo de estrellas en la respuesta de la API, por lo que el valor de suscriptores informado es subscribers_count. open_issues_count incluye solicitudes de cambio abiertas, no solo incidencias.

Panel en modo oscuro y estilo cyberpunk que celebra la escala de un repositorio open source muy popular: indicadores holográficos, gráficos de barras y gráficos radiales muestran métricas abstractas de estrellas, forks, commits, incidencias abiertas, suscriptores, tamaño de repositorio y actividad reciente. La pantalla principal presenta un gran contador de estrellas radiante con dígitos estilizados que brillan sin volverse legibles, enfatizando la popularidad más que la cifra exacta. Un pequeño icono de script de Python flota junto a nodos de flujo de validación, mientras un sello de licencia MIT brilla como un emblema azul compacto. Un mapa mundial en miniatura se ilumina con pulsos de endpoints de API, mostrando uso y descubrimiento global. La línea de tiempo se extiende desde 2016 hasta el presente, con un último push reciente marcado por un pulso verde brillante. Ambiente autoritativo, futurista y rico en datos, modo oscuro, estética cyberpunk, paneles ultra detallados, resolución 8K, sin texto legible.

Principales contribuidores por commits: matheusfelipeog (826), davemachado (683), ArindamOSS (292), pawelborkar (150), jbrooksuk (135), marekdano (133), mikestreety (129), toddmotto (99), yannbertrand (79), wesbos (44). Destaca el patrón de mantenimiento de matheusfelipeog, con cientos de commits del tipo «Remove X, it’s broken» —una racha de 20 eliminaciones en un solo día es solo un ejemplo—, que evidencia la limpieza continua de APIs caídas.

Guía rápida de uso

Instalación y primer arranque

No hay software que instalar: el producto es un documento. Tres formas de acceso, de menor a mayor control:

  1. Navegar: abrir el repositorio en GitHub y recorrer el README renderizado. El archivo pesa 238 KB; la búsqueda del navegador (Ctrl/Cmd+F) es la herramienta de navegación natural.
  2. Clonar localmente: git clone del repositorio y abrir README.md en el visor que convenga, o procesarlo con scripts propios.
  3. API JSON oficial (si responde): curl https://api.publicapis.org/categories y curl "https://api.publicapis.org/entries?category=weather". No requiere autenticación y soporta CORS.

En el primer uso conviene fijarse en las columnas Auth y CORS: determinan si la API se puede integrar desde el navegador sin clave y con qué esfuerzo.

Flujos de trabajo habituales

  1. Buscar una API para un dominio concreto: abrir el README, localizar la categoría, y leer las filas. Para filtrar sin navegar, GET /entries?category=weather&auth=No devuelve solo APIs de clima sin autenticación.
  2. Probar antes de integrar: la columna «Call this API» enlaza a colecciones públicas de Postman; para APIs sin clave basta una petición de prueba.
  3. Ingerir el catálogo como datos: consumir GET /entries (o GET /random) desde el propio proyecto, o parsear las tablas del README.md si la API no está disponible.
  4. Validar el enlace del propio proyecto: si se contribuye, el PR dispara la validación de formato y enlaces, además del chequeo diario a medianoche UTC.

Trampas frecuentes y soluciones

  • La API está listada pero cae o cambia de contrato: la CI valida que los enlaces de documentación respondan, no que el endpoint funcione. La solución es hacer una prueba de humo contra el endpoint elegido antes de depender de él.
  • «Gratis» con letra pequeña: muchas entradas son «free up to N requests, then $» — capas gratuitas con límite de escala. Verificar el plan gratuito en la documentación oficial antes de dimensionar un proyecto.
  • CORS: No desde el navegador: el CONTRIBUTING.md advierte que sin CORS la API solo es utilizable en lado servidor; la solución es un proxy backend o elegir una entrada con CORS: Yes.
  • Publicidad del vendor en el listado: la cabecera promociona APILayer y 26 filas llevan utm_source. Si se quiere el catálogo limpio, la comunidad usa el fork marcelscruz/public-apis, mismo formato, sin marketing.
  • Depender de api.publicapis.org: el repositorio de la API lleva inactivo desde diciembre de 2022; tener una alternativa (el propio README o public-api-lists, que ofrece su propia API JSON gratuita) evita una dependencia muerta.

Cómo contribuir

El CONTRIBUTING.md documenta un proceso completo: bifurcar el repositorio, clonarlo y conectar el upstream; crear una rama para el cambio; añadir una API por PR, en la sección más acorde al servicio, en orden alfabético, con el formato de tabla exacto y descripción menor de 100 caracteres; titular el PR como Add Api-name API; apretar (squash) todos los commits y verificar que la CI pasa antes de pedir revisión.

Restricciones de contenido: la API debe tener acceso gratuito completo o capa gratuita, no depender de comprar un dispositivo o servicio, tener documentación adecuada, y no ser un intento de marketing.

Cómo lo recibió la comunidad

La evidencia recuperada muestra adopción sostenida durante una década, un punto de inflexión con la llegada de APILayer y un ecosistema de alternativas.

En el hilo de Hacker News de 2017 (270 puntos, 23 comentarios), iDemonix escribió «next time I feel the urge for a side project I know which page to start on»; thedatamonger le otorgó «github star of the week award». En un hilo de 2019, brianherbert planteó la primera crítica comercial verificada —«The repo owner runs the website sponsoring the list»— mientras yllus defendía que el proceso estaba «structured enough — TravisCI tests to ensure a consistent documentation style».

Durante la controversia APILayer de 2022–2023, un hilo titulado «Tell HN: The 226K stars “public-APIs” repo has been ruined by a greedy company» reunió 25 puntos, y un usuario enlazó tanto el fork mantenido (marcelscruz/public-apis) como la alternativa public-api-lists. La réplica comunitaria directa quedó en el historial de git: tres revertidos de yannbertrand el mismo día de las ediciones de la cuenta APILayer.

En 2024, el sitio freepublicapis.com («Tested every single day») reunió 602 puntos y 122 comentarios en Hacker News: un usuario propuso un «API forwarder» como objetivo común que registrara fallos de endpoints, y otro resumió la discusión sobre fiabilidad con «API doesn’t mean someone’s else’s computer».

public-apis frente a otras propuestas

PropuestaCoincidencia verificableDiferencia verificable
public-api-lists/public-api-lists (15.552 ⭐)Listado curado de APIs públicas y gratuitas, mantenido por la comunidadAñade interfaz web de búsqueda y su propia API JSON gratuita; nació en 2020
marcelscruz/public-apis (9.360 ⭐)Mismo formato de tablas; fork directo del proyectoSin marketing de APILayer; web en publicapis.dev; nacido de la controversia de 2022
tonnyl/awesome_apis (13.081 ⭐)Colección de APIsNo se limita a APIs gratuitas ni públicas
freepublicapis.com (sitio)Directorio de APIs gratuitas para estudiantes y desarrolladoresPrueba las APIs «every single day»; no se localizó repositorio público
apirank.dev (Show HN, 176 pts)Listado de APIs públicasRastrea y rankea APIs de internet en vez de curarlas a mano

La diferencia estructural no es el tamaño sino la naturaleza: public-apis es un documento Markdown curado a mano con metadatos de integración (Auth/HTTPS/CORS) y validación de enlaces por CI; sus alternativas o añaden interfaz, o prueba de salud, o rankeo automático.

Casos de uso y a quién puede ayudar este repositorio

  • Desarrolladores de prototipos y side projects: descubrir en minutos una API gratuita con Auth: No para datos de ejemplo, sin registrarse ni leer documentación.
  • Desarrolladores full-stack: las columnas CORS y Auth filtran de un vistazo qué APIs se pueden llamar directamente desde el navegador; la columna de Postman permite probar el endpoint sin escribir código.
  • Estudiantes y formadores: las 51 categorías funcionan como mapa de lo que existe en APIs públicas.
  • Mantenedores de pipelines de datos: el catálogo se puede ingerir programáticamente; el cron diario de validación de enlaces es un patrón reutilizable para vigilar la documentación de un catálogo propio.
  • Equipos que necesitan una fuente limpia de datos: el fork marcelscruz/public-apis ofrece el mismo formato sin filas promocionales ni parámetros UTM.
  • Investigadores de ecosistemas open source: diez años de historial de git, contribuidores y threads de HN constituyen un caso documentado de gobernanza comunitaria frente a apropiación vendor.

Recursos


Nota: este artículo combina el README y el CONTRIBUTING del repositorio, la API de GitHub, el historial de git del README y los hilos de Hacker News consultados el 21 de agosto de 2026. Las cifras cambian con el tiempo.

Comentarios