No existe una API de JavDB. JavDB nunca lanzó una. Busca “javdb api” y obtienes una pila de scrapers comunitarios usando el nombre, cada uno de ellos parseando HTML que puede romperse mañana.
Ese es todo el problema en una frase. Aun así vale la pena repasar lo que de verdad hay, porque te vas a topar con todo.
A qué apunta realmente “javdb api”
Un puñado de repos, ninguno oficial, todos frágiles:
javdb-pythonenvuelve javdatabase.com, ni siquiera javdb.com. El autor lo dice claro: las funciones y la estructura HTML no son una API estable. Sirve para un script desechable, no para nada que pongas en producción.javdb-apien npm está prácticamente muerto. Sin lanzamientos en más de un año, un puñado de descargas por semana. No construyas sobre él.- Scrapers autoalojados como
ovnrain/javbus-apite entregan un contenedor Docker que scrapea por ti. Más agradable de correr, la misma base, igual se rompe cuando el sitio fuente cambia su marcado. - Las herramientas de media-server (Javinizer, el plugin JavScraper de Emby/Jellyfin) son excelentes para organizar una biblioteca local, pero nunca fueron pensadas como una API de datos que llamas desde tu propia app.
Por qué todos terminan rompiéndose
Estas herramientas scrapean un sitio web en vivo, así que heredan cada defensa que ese sitio tiene. JavDB está detrás de Cloudflare, y la mitad de estos proyectos necesitan FlareSolverr corriendo al lado solo para conseguir que una página vuelva. Algún contenido (fc2) necesita una cookie de sesión que pegas a mano y refrescas cuando expira. Un renombrado de clase en el sitio rompe en silencio tu parser, sin changelog y sin aviso, y tus metadatos simplemente quedan en blanco un día. Y como los metadatos de JavDB son solo en inglés y chino, cualquier cosa construida sobre ellos se pierde los campos en japonés.
Así que no mantienes una integración. Mantienes un scraper, un bypass de navegador headless, una cookie y un buscapersonas para cuando todo se caiga a las 2am.
Una alternativa alojada
javinfo es la API que JavDB nunca te dio. Tiene un proveedor javdb real: envía un código, recibe metadatos estructurados de vuelta, incluyendo los enlaces de descarga y magnet que los scrapers buscan. La misma forma cada vez, nada que vigilar.
curl -X POST 'https://javinfo-search.p.rapidapi.com/search' \ -H 'Content-Type: application/json' \ -H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \ -H 'X-RapidAPI-Host: javinfo-search.p.rapidapi.com' \ -d '{ "q": "CAWD-001", "providers": "javdb" }'{ "result": { "q": "CAWD-001", "source": "javdb", "video": { "dvdId": "CAWD-001", "runtimeMins": 120, "series": "Series Name" }, "extra": { "downloadLinks": [ { "name": "CAWD-001 1080p", "size": 5905580032, "hd": true, "magnet": "magnet:?xt=urn:btih:..." } ], "score": 4.3, "voteCount": 512 } }, "latencyMs": 980, "cached": false, "gated": false}Cada proveedor se mapea a la misma forma base video, así que lees result.video.* igual sin importar qué fuente respondió. Nosotros corremos el scraping y las peleas con Cloudflare para que tú no tengas que hacerlo. Es una pieza de una única API de metadatos JAV que cubre cada fuente, agnóstica de proveedores por diseño — una integración mantenida en lugar de una pila de scrapes frágiles. JavDB no es ni de cerca la única fuente así. DMM es peor.
La autenticación, los límites de tasa y los planes viven en RapidAPI. El proveedor javdb y sus enlaces de descarga están en el plan Pro (1.000 peticiones al día), junto con el proveedor missav. Puedes estar corriendo en un minuto. Sin Docker, sin FlareSolverr, sin cookie.