Блог

Автор javinfo team

Провайдер JavLibrary: /movie и голый /query

Закрепите javlibrary для поиска по коду или пусть он ловит голые /query, которые остальные провайдеры промахивают. num работает; фильтры — нет. Точные формы запросов внутри.

Провайдер javlibrary — запасной источник с глубоким каталогом: хорош, когда кода нет нигде больше, плох, если закрепить его на каждый запрос и удивляться, почему всё тормозит. Вот как вызывать его без гаданий.

Когда к нему тянуться

Берите javlibrary, когда:

Не закрепляйте его как дефолтный «всегда сначала этот» источник. Browser scrape = выше latency. Оставляйте последним в fan-out, пока нет причины иначе.

Зачем он вообще существует: JavLibrary API.

1. Получите ключ

Зарегистрируйтесь на app.javinfo.dev. Ключ — в x-javinfo-key. Тот же ключ работает на RapidAPI через их заголовки, если вам удобнее этот путь.

2. Полная запись: POST /movie

Точный код, полная нормализованная строка:

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" }'

Получаете название, состав, жанры (categories), хронометраж, дату выхода, студию (makers / label), обложку (jacketFullUrl), плюс extra.pageUrl и extra.sampleImages. source будет "javlibrary".

Без магнетов. Без .m3u8 стримов. Если нужны они — закрепляйте javdb или missav: та же форма метаданных, другие extras.

3. Списочный поиск: POST /query

Keyword-поиск по кодам и лейблам. Держите его голым:

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 }'

Что работает:

Что тихо (или громко) выкидывает javlibrary:

В режиме fan-out эти параметры пропускают javlibrary и пробуют следующего способного провайдера. Если закрепить "providers": "javlibrary" с фильтром, который он не тянет, получите 422 с причиной — не частичную отгадку.

Хиты query выглядят так:

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/..." }
}
]
}

Обложки и даты выхода подтягиваются из индекса DMM/FANZA, когда код матчится. Миниатюры списка — запасной вариант.

Ошибки, которые сжигают запрос

Ждать download-ссылки. Не тот провайдер. Берите javdb.

Слать filter.genre при закреплении на javlibrary. 422. Уберите фильтр или закрепите источник, который его умеет (fanza/dmm, missav, javdatabase).

Гонять его ради скорости. Он последний не просто так. Кеш помогает на повторных кодах (cacheTtl — час на сервере), но первый scrape всё равно browser job.

Относиться к /query как к полному браузеру архива. Это keyword relevance, не genre ∩ studio архивы. Для archive-style обхода ближе javdatabase.

Цены + следующий шаг

Успешный /movie = $0.00075. Успешный /query = $0.00035. Промахи и ошибки не тарифицируются. Новым регистрациям — небольшой бесплатный пробный баланс.

Возьмите ключ, прогоните curl выше, потом воткните то же body в приложение. Одна независимая от провайдера интеграция — JavLibrary просто ещё один id в providers.