Automatizando la recolección de datos: Solución para el fin de la API Jikan

Acabo de notar que la API https://api.jikan.moe/v4/anime ha dejado de responder correctamente o muestra comportamientos extraños. Tras investigar, confirmo que no es un cambio en los datos del endpoint principal, sino una combinación de límites de velocidad (rate limiting) y timeouts intermitentes en la infraestructura de Jikan.

Laptop mostrando un script en la pantalla con pósters de anime al fondo
El entorno de trabajo para procesar los datos del fansub automáticamente.

Al principio pensé en buscar un reemplazo exacto, pero me di cuenta de que no existe una URL alternativa que entregue el mismo JSON compatible. Aunque evalué brevemente opciones como AniList o la API oficial de MyAnimeList, decidí tomar un enfoque más práctico.

Cambiando a anidump.id

En lugar de intentar mantener la compatibilidad con Jikan, opté por utilizar anidump.id. Es una alternativa estable que expone los datos de MyAnimeList en formato JSON sin necesidad de autenticación compleja. Comencé consultando un solo ID para probar el método:

curl -L "https://anidump.id/api/mal/5114" -o "5114.json"

El resultado fue positivo y funcionó correctamente. Aunque AniDump parece centrarse en la ficha principal de la serie, es más que suficiente para mi objetivo.

Script para procesar los 4.100 IDs

Mi siguiente paso fue automatizar el proceso. Necesito descargar las fichas para 4.100 anime. En lugar de hacerlo manualmente, escribí un script en batch que lee una lista de IDs y descarga cada uno secuencialmente.

@echo off
if not exist json mkdir json
for /f %%i in (ids.txt) do (
    curl -L "https://anidump.id/api/mal/%%i" -o "json%%i.json"
    timeout /t 1 /nobreak >nul
)
echo Listo.
pause

Este script crea una carpeta json, recorre el archivo de IDs y espera un segundo entre cada petición para evitar problemas de velocidad.

Estrategia incremental

Ahora que tengo la automatización funcionando, mi plan es ejecutar este proceso una tarde. Con solo 4.100 consultas, podré descargar toda mi colección en menos de una hora y guardar el JSON crudo en disco.

Con mis 4.100 IDs ya descargados, tendré un esqueleto completo para construir una base de datos local robusta, sin depender de servicios externos ni preocuparme por las caídas de la API Jikan.

Para el futuro, simplemente consultaré los nuevos IDs que aparezcan en mi catálogo. Es una solución mucho más segura y eficiente para gestionar mis datos.