Blog

Por javinfo team

Cómo usar el proveedor JavLibrary: consultas /movie y /query desnudo

Fija javlibrary para consultas por código, o déjalo atrapar búsquedas bare de /query que otros proveedores pierden. num funciona; los filtros no. Formas exactas de request dentro.

El proveedor javlibrary es el fallback de catálogo profundo: genial cuando un código falta en todas partes, mal si lo fijas en cada request y te preguntas por qué todo se siente lento. Así se llama sin adivinar.

Cuándo echarle mano

Usa javlibrary cuando:

No lo fijas como tu fuente por defecto de “siempre pruébala primero”. Scrapeo con navegador = más latencia. Déjalo al final del fan-out salvo que tengas un motivo.

Contexto de por qué existe: API de JavLibrary.

1. Consigue una key

Regístrate en app.javinfo.dev. Pon la key en x-javinfo-key. La misma key funciona en RapidAPI con sus headers si prefieres ese camino.

2. Registro completo: POST /movie

Código exacto, fila normalizada completa:

Movie lookup
curl -X POST "https://api.javinfo.dev/movie" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS-001", "providers": "javlibrary" }'

Obtienes título, reparto, géneros (categories), duración, fecha de lanzamiento, estudio (makers / label), carátula (jacketFullUrl), más extra.pageUrl y extra.sampleImages. source será "javlibrary".

Sin magnets. Sin streams .m3u8. Si necesitas eso, fija javdb o missav — misma forma de metadatos, extras distintos.

3. Búsqueda en lista: POST /query

Búsqueda por keyword sobre códigos y labels. Déjala bare:

Bare query (num only)
curl -X POST "https://api.javinfo.dev/query" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS", "providers": "javlibrary", "num": 10, "page": 1 }'

Qué funciona:

Qué saca a javlibrary en silencio (o a gritos):

En modo fan-out esos params saltan javlibrary y prueban el siguiente proveedor capaz. Si fijas "providers": "javlibrary" con un filtro que no puede cumplir, recibes un 422 con motivo — no una adivinanza parcial.

Los hits de query se ven así:

Query hit shape
{
"q": "SSIS",
"source": "javlibrary",
"count": 10,
"results": [
{
"id": "javmezzbqu",
"dvdId": "SSIS-001",
"title": "Newcomer NO.1 STYLE ...",
"cover": "https://...",
"releaseDate": "2020-07-07",
"extra": { "url": "https://www.javlibrary.com/en/..." }
}
]
}

Las carátulas y fechas de lanzamiento se rellenan desde el índice DMM/FANZA cuando podemos matchear el código. Los thumbnails de lista son el fallback.

Fan-out vs pin

Orden por defecto (el primer hit completo gana):

FANZA → DMM → missav → javdb → javdatabase → javlibrary

Omite providers y javlibrary solo responde cuando todos los de delante fallan o no pueden satisfacer el request. Fíjalo cuando quieras esa fuente aunque una más rápida también funcionaría.

Errores que queman una llamada

Esperar enlaces de descarga. Proveedor equivocado. Usa javdb.

Mandar filter.genre con javlibrary fijado. 422. Quita el filtro o fija una fuente que lo soporte (fanza/dmm, missav, javdatabase).

Usarlo por velocidad. Está al final por una razón. El cache ayuda en códigos repetidos (cacheTtl es una hora del lado del servidor), pero el primer scrape sigue siendo trabajo de navegador.

Tratar /query como un explorador de archivo completo. Es relevancia por keyword, no archivos género ∩ estudio. Para navegar estilo archivo, javdatabase se acerca más.

Precio + siguiente paso

/movie exitoso = $0.0005. /query exitoso = $0.0002. Misses y errores no se cobran. Registros nuevos: 1.000+ consultas gratis.

Agarra una key, corre el curl de arriba y cablea el mismo body en tu app. Una integración agnóstica de proveedor — JavLibrary es solo otro id en providers.