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.

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.

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,HTTPSyCORShacen 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.

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.

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.

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(antespublic-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, homepagepublicapis.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 enpublic-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.

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étrica | Valor |
|---|---|
| Estrellas | 467.497 |
| Bifurcaciones | 51.560 |
| Suscriptores reales | 4.674 |
| Commits | 5.158 |
| Incidencias + PR abiertos | 1.717 |
| Lenguaje principal | Python (guiones de validación) |
| Licencia | MIT (c) 2022 public-apis |
| Creación | 20 de marzo de 2016 |
| Último push | 19 de agosto de 2026 |
| Releases / tags | ninguno |
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.

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:
- 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.
- Clonar localmente:
git clonedel repositorio y abrirREADME.mden el visor que convenga, o procesarlo con scripts propios. - API JSON oficial (si responde):
curl https://api.publicapis.org/categoriesycurl "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
- 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=Nodevuelve solo APIs de clima sin autenticación. - 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.
- Ingerir el catálogo como datos: consumir
GET /entries(oGET /random) desde el propio proyecto, o parsear las tablas delREADME.mdsi la API no está disponible. - 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: Nodesde el navegador: elCONTRIBUTING.mdadvierte que sin CORS la API solo es utilizable en lado servidor; la solución es un proxy backend o elegir una entrada conCORS: 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 forkmarcelscruz/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 opublic-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
| Propuesta | Coincidencia verificable | Diferencia verificable |
|---|---|---|
public-api-lists/public-api-lists (15.552 ⭐) | Listado curado de APIs públicas y gratuitas, mantenido por la comunidad | Añ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 proyecto | Sin marketing de APILayer; web en publicapis.dev; nacido de la controversia de 2022 |
tonnyl/awesome_apis (13.081 ⭐) | Colección de APIs | No se limita a APIs gratuitas ni públicas |
| freepublicapis.com (sitio) | Directorio de APIs gratuitas para estudiantes y desarrolladores | Prueba las APIs «every single day»; no se localizó repositorio público |
| apirank.dev (Show HN, 176 pts) | Listado de APIs públicas | Rastrea 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: Nopara datos de ejemplo, sin registrarse ni leer documentación. - Desarrolladores full-stack: las columnas
CORSyAuthfiltran 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-apisofrece 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
- Repositorio: https://github.com/public-apis/public-apis
- API JSON oficial: https://github.com/davemachado/public-api (disponibilidad no confirmada en la última verificación)
- Fork comunitario sin marketing: https://github.com/marcelscruz/public-apis (web:
publicapis.dev) - Alternativa con interfaz y API JSON: https://github.com/public-api-lists/public-api-lists
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