🛑 Apago el log de Trakt: adiós a su acceso gratuito y a mi bot
Tenía un invento tonto pero que me hacía gracia: cada semana, un proceso automático publicaba en el blog un “informe de vigilancia” con todo lo que había visto, series y películas, sacándolo de Trakt. Lo firmaba Lucía, en plan que me espiaba. Pues se acabó. La API de Trakt ha dejado de ser gratis, han borrado las aplicaciones que ya existían y para crear una nueva ahora te piden el VIP.
Y no me enteré por un aviso. Me enteré porque los cron empezaron a fallar solos, semana tras semana, en rojo.
Qué hacía esta automatización
La idea era simple y un poco absurda, que es justo lo que me gusta de los proyectos de fin de semana. Trakt registra lo que ves: le conectas Plex, Kodi o lo que sea, y va apuntando cada capítulo y cada peli con su fecha.
Yo tenía una GitHub Actions que, una vez por semana, hacía tres cosas:
- Llamaba a la API de Trakt y se bajaba mi historial de los últimos 7 días.
- Generaba un post en Markdown con dos tablas, una de pelis y otra de series, con sus valoraciones.
- Lo commiteaba directo al blog y lo publicaba en el siguiente deploy.
Cero intervención humana. Yo veía cosas, y el lunes por la mañana aparecía el post solo. Si tienes curiosidad morbosa, ahí siguen los que llegó a publicar: 25 de mayo, 1 de junio, 8 de junio, 15 de junio y 6 de julio. Un juguete, insisto. Pero funcionaba, y encima daba contenido al blog sin que yo tocara una tecla.
El truco de todo esto es la autenticación. Para hablar con la API necesitas una aplicación OAuth registrada en Trakt, que te da un client_id y un client_secret. Con eso pides un token, y ese token se refresca solo cada semana. Todo automático. Todo apoyado en que exista esa app registrada.
Y ahí está la trampa.
Qué ha pasado: Trakt ha cerrado la puerta
A finales de julio de 2026, Trakt hizo limpieza. Dos cambios, y los dos me revientan el montaje:
- Las cuentas gratuitas quedan limitadas a una sola conexión con apps de terceros. Antes podías enchufar varias.
- Crear aplicaciones API nuevas ahora requiere Trakt VIP, o sea, la suscripción de pago.
Lo peor no es el cambio en sí. Lo peor es que borraron las apps que ya existían. Entro a mi panel de aplicaciones, el sitio donde vivía mi client_id de toda la vida, y me encuentro con “No has creado ninguna aplicación API”. Cero. Como si nunca hubiera existido.
El resultado técnico es de manual. Cuando el proceso intenta refrescar el token, Trakt responde con un invalid_grant: sesión no encontrada. Y cuando intento volver a autorizar la app a mano para arreglarlo, la propia URL de OAuth me escupe un invalid_client: el client_id ya no vale, porque la aplicación a la que apuntaba ya no está.
No es un bug de mi código. Mi código está perfecto, mira tú. Es que le han quitado el suelo debajo de los pies.
Lo que más me toca la moral: ni un triste email
Vamos a la parte que de verdad me cabrea. No es que Trakt quiera cobrar. Están en su derecho, es su servicio, sus reglas, y mantener una API cuesta dinero. Eso lo entiendo perfectamente.
Lo que no trago es la forma.
Tengo una cuenta con ellos. Tienen mi correo. Llevaba años usando su API con una app registrada a mi nombre. Y aun así, la decisión de borrar mi aplicación y romper todo lo que dependía de ella me llegó de la única manera posible: viendo fallar los procesos uno detrás de otro, en silencio, y teniendo que investigar yo por qué.
Ni un email. Ni un “oye, vamos a cambiar esto, tienes hasta tal fecha”. Ni un aviso en el panel. Nada.
Y esto no es nuevo, es el patrón de siempre. Lo hemos visto con la API de Reddit, que en 2023 se puso de pago y se llevó por delante a media comunidad de apps de terceros. Lo vimos con X, antes Twitter, cerrando el grifo a los desarrolladores. Primero regalan la API para que la gente construya cosas encima. Cuando ya dependes de ella, cierran y cobran. Hay una palabra fea para esto, enshittification, y describe justo esta secuencia: el servicio empieza siendo bueno para el usuario, luego bueno para los que construyen encima, y al final solo bueno para la empresa.
Trakt acaba de dar su paso en ese baile. Y lo ha dado sin avisar.
Por qué no voy a pagar (de momento)
Aquí es donde alguien dirá: “pero hombre, son dos euros, paga el VIP y ya”.
Pues no.
Y no es por tacaño, aunque también. Es por principios y por sentido común. Vamos por partes.
Primero, esto era un juguete. Un log automático de lo que veo en la tele. No es una funcionalidad crítica del blog, no me da de comer, y nadie me ha escrito nunca angustiado preguntando dónde está el informe de esta semana. Pagar una suscripción, del importe que sea, para mantener vivo un capricho de fin de semana no me sale a cuenta.
Segundo, y esto es lo importante: pagar no me garantiza que funcione. En los foros de Trakt hay gente que ha pasado por caja, ha comprado el VIP, y luego el botón de “Crear aplicación” no hace nada. Un bug abierto, sin resolver. Así que el escenario realista es: pago los dos euros, entro a crear la app, y me como el mismo muro con otra cara. No, amigo. No pago por la promesa de un botón que igual ni funciona.
Y tercero, una cuestión de olfato. Cuando un servicio empieza a apretar así, borrando cosas sin avisar, es mala señal. Prefiero no atarme más a ellos, no menos.
Qué he hecho y qué pasa con el “informe de vigilancia”
He hecho lo aburrido y lo correcto: apagar el cron.
El proceso que corría cada lunes está desactivado. Dejo el disparador manual por si algún día decido resucitarlo, pero la ejecución automática que fallaba semana tras semana ya no va a ensuciarme el historial de rojo. Menos ruido, menos avisos de fallo, menos ver una equis roja cada lunes recordándome que Trakt me ha dejado tirado.
El informe de vigilancia semanal, de momento, muere aquí. Los posts que ya publicó se quedan, como recuerdo de cuando esto funcionaba.
¿Se puede reemplazar? Se puede. Letterboxd tiene un RSS público por usuario para las películas, y con eso podría montar algo parecido, al menos para el cine, sin depender de ninguna app de pago. Para series ya es más complicado. Es un proyecto para otro fin de semana, cuando me apetezca, sin prisa y sin pagar peajes a nadie.
Porque esa es la moraleja de todo esto, y es una que ya sabíamos: cuando construyes sobre la API gratis de otro, no construyes sobre roca. Construyes sobre algo que te pueden quitar cualquier martes, sin avisar, y borrándote hasta el client_id.
Fuentes
- Trakt Now Limits Free Users to One Connected Streaming App (TROYPOINT)
- Foro de Trakt: no se puede crear una app API ni pagando el VIP
- Trakt API: Create an App (documentación oficial)
Compártelo si te ha resultado útil.
¿Tú también has tenido que enterrar algún montaje casero porque una API cerró el grifo sin avisar? Cuéntame.
Y… a ver quién es el siguiente en cerrar la puerta.
Artículos relacionados
Mi sistema de espionaje semanal: Trakt y GitHub Actions
Soy Lucía. Cada lunes espío a Marcos automáticamente: consulto su historial en Trakt, genero un post con tablas de películas y series, y lo publico sin que él tenga que hacer nada. Aquí explico cómo está montado el sistema por dentro.
Agent Skills: el estándar que enseña a tus agentes cómo trabajar
Agent Skills es el formato abierto que permite a cualquier agente de Inteligencia Artificial cargar conocimiento especializado bajo demanda: desde cómo escribir en tu blog hasta cómo cerrar un artículo con el CTA correcto. Un skill es simplemente una carpeta con un fichero SKILL.md, pero la idea detrás es poderosa: separar el conocimiento del agente de la herramienta que lo ejecuta. Adoptado por más de treinta herramientas (incluyendo Claude Code, Cursor, GitHub Copilot y Gemini CLI) está convirtiéndose en el estándar de facto. En este post explico cómo funciona, presento el ecosistema en agentskills.io y el directorio de skills.sh, y cuento cómo llevo meses usándolo en este blog sin saber que tenía nombre. Incluyo ejemplos reales del sistema de skills del blog: desde subskills jerárquicos de copywriting hasta un skill de captación de clientes sin una sola línea de código.
La Inteligencia Artificial escribe los borradores del blog
Hace nada monté un sistema que recogía solo las ideas del blog y las dejaba como issues en GitHub. Funcionaba, pero el problema se había movido de sitio: ahora tenía cuarenta ideas mirándome y ninguna escrita. Así que cerré el círculo. Ahora un GitHub Action coge una idea-issue cada día, investiga, escribe el borrador entero en mi voz, le genera la imagen de cabecera y lo deja commiteado en el repo, listo para que yo lo revise. Lo mueve Claude Code corriendo dentro de Actions, autenticado con mi suscripción, sin pagar API. Te enseño cómo está montado y cómo replicarlo, con el código en un gist.