Si quieres metadatos JAV en tu app, este es el camino que todos recorren. Encuentras una fuente, escribes un scraper, el scraper se rompe, escribes otro para una segunda fuente que cubra los huecos, y seis meses después estás manteniendo cinco integraciones frágiles solo para conseguir un título, una fecha de lanzamiento y una imagen de portada.
No hay ninguna API de metadatos JAV pública y estable por ahí. Nunca la hubo. javinfo es una. Esa es toda la razón por la que existe.
Por qué una “API de metadatos JAV” es tan difícil de encontrar
Los datos son reales y están bien estructurados. El acceso es el problema. Cada fuente a la que recurrirías es un sitio web con defensas, no una API con un contrato:
- DMM / FANZA tiene la mayor parte del catálogo y geobloquea a casi todo el planeta. Hay una API de afiliados, pero los docs son solo en japonés y están detrás del mismo bloqueo.
- JavDB no tiene ninguna API oficial, solo scrapers comunitarios usando el nombre, la mayoría de ellos necesitando FlareSolverr para pasar Cloudflare.
- JavBus, JavLibrary, R18 son la misma historia: scrapers autoalojados y contenedores Docker, parsers atados a HTML que cambia sin aviso.
Así que la “API” que encuentras en GitHub siempre es un scraper, y un scraper hereda cada problema que el sitio fuente tiene. Un renombrado de clase rompe tu parser sin changelog y sin aviso. Los desafíos de Cloudflare y los bloqueos de región significan que también corres un bypass de navegador headless y un proxy. Y como cada fuente devuelve una forma distinta, cubrir los huecos implica normalizar tú mismo tres o cuatro esquemas.
No mantienes una integración. Mantienes un scraper, un bypass, un proxy y un buscapersonas para las 2am.
Qué hace javinfo en su lugar
Un endpoint. Envía un código, recibe un único resultado normalizado, la misma forma de campos sin importar qué fuente respondió.
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": "SSIS-001" }'{ "result": { "q": "SSIS-001", "source": "r18", "video": { "dvdId": "SSIS-001", "titleEn": "Newcomer NO.1 STYLE ...", "releaseDate": "2020-07-07", "runtimeMins": 120, "makers": ["S1 NO.1 STYLE"], "actresses": [{ "name": "Example Actress", "image": "https://pics.dmm.co.jp/..." }] } }, "latencyMs": 142, "cached": false}Cada proveedor se mapea a la misma forma base video: dvdId, titleEn/titleJa, releaseDate, runtimeMins, makers, label, series, actresses, jacketFullUrl, y más. Lees result.video.* igual entre fuentes. Nosotros corremos el scraping, las peleas con Cloudflare y los rodeos del geobloqueo para que tú no tengas que hacerlo. Este es el diseño agnóstico de proveedores sobre el que está construido todo.
Los proveedores
Deja que javinfo elija la primera coincidencia, o fija una fuente con providers:
r18devuelve metadatos bilingües (título, reparto, productora, sello, serie, portadas) más imágenes de perfil de las actrices y URLs de muestra/galería. Disponible en todos los planes.javdbsuma un arregloextra.downloadLinkscon enlaces magnet y de descarga, lo que los scrapers pelean por conseguir. Pro.missavsuma un objetoextra.streamscon URLs de listas de reproducción HLS (.m3u8) más variantes por resolución. Pro.javlibrary,javdatabasellegan pronto.
En una falla, o si todos los upstreams expiran, recibes un 504, lo que normalmente solo significa que el código no está indexado. Las respuestas se cachean en el servidor, así que las búsquedas repetidas son rápidas.
Empieza
La autenticación, los límites de tasa y los planes viven en RapidAPI. El plan gratuito te da metadatos de r18 a 100 peticiones al día; Pro suma los proveedores javdb y missav, sus enlaces de descarga y stream, y 1.000 peticiones al día. Sin Docker, sin FlareSolverr, sin VPN japonesa, sin cookie que refrescar. Puedes estar corriendo en un minuto.