Nhà cung cấp javlibrary là nguồn dự phòng danh mục sâu: tuyệt khi mã biến mất ở mọi nơi khác, sai nếu bạn ghim nó cho mọi request rồi thắc mắc sao chậm. Đây là cách gọi nó mà không phải đoán.
Khi nào nên dùng
Dùng javlibrary khi:
- Một mã 404 trên FANZA/DMM, missav, javdb và javdatabase
- Bạn muốn page URL + ảnh sample của JavLibrary cho một DVD ID đã biết
- Bạn đang tìm keyword trần và các nhà cung cấp nhanh hơn trả về chẳng ra gì
Đừng ghim nó làm nguồn mặc định «luôn thử trước». Browser scrape nghĩa là latency cao hơn. Để nó cuối trong fan-out trừ khi có lý do.
Bối cảnh vì sao nó tồn tại: JavLibrary API.
1. Lấy key
Đăng ký tại app.javinfo.dev. Đặt key vào x-javinfo-key. Cùng key đó chạy trên RapidAPI qua header của họ nếu bạn thích đường đó.
2. Bản ghi đầy đủ: POST /movie
Mã chính xác, hàng chuẩn hóa đầy đủ:
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" }'Bạn nhận tiêu đề, dàn diễn viên, thể loại (categories), thời lượng, ngày phát hành, studio (makers / label), ảnh bìa (jacketFullUrl), cộng extra.pageUrl và extra.sampleImages. source sẽ là "javlibrary".
Không magnet. Không stream .m3u8. Nếu cần những cái đó, ghim javdb hoặc missav thay thế — cùng hình dạng metadata, extras khác.
3. Tìm danh sách: POST /query
Tìm keyword trên mã và label. Giữ nó trần:
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 }'Cái gì chạy:
q— mảnh mã hoặc keyword kiểu labelnum— kích thước trang (mặc định 10, tối đa 50). Các hàng được cắt vềnumtrước khi làm giàu ảnh bìapage— bắt đầu từ 1; javlibrary phục vụ trang list lớn và chúng tôi slice theonum
Cái gì lặng lẽ (hoặc ầm ĩ) loại javlibrary:
- Bất kỳ
filternào (genre, actress, runtime range, censored, …) - Bất kỳ
sortnào khácrelevance(hoặc mặc định)
Ở chế độ fan-out các param đó bỏ qua javlibrary và thử nhà cung cấp tiếp theo có khả năng. Nếu bạn ghim "providers": "javlibrary" với filter mà nó không đáp ứng được, bạn nhận 422 kèm lý do — không phải đoán một phần.
Hit query trông như:
{ "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/..." } } ]}Ảnh bìa và ngày phát hành được backfill từ chỉ mục DMM/FANZA khi khớp được mã. Thumbnail list là phương án dự phòng.
Fan-out vs ghim
Thứ tự mặc định (hit đầy đủ đầu tiên thắng):
FANZA → DMM → missav → javdb → javdatabase → javlibraryBỏ providers thì javlibrary chỉ trả lời khi mọi nguồn phía trước miss hoặc không thỏa request. Ghim khi bạn muốn đúng nguồn đó dù một nguồn nhanh hơn cũng làm được.
Lỗi lãng phí một lượt gọi
Mong link tải xuống. Sai nhà cung cấp. Dùng javdb.
Gửi filter.genre trong khi ghim javlibrary. 422. Bỏ filter hoặc ghim nguồn hỗ trợ (fanza/dmm, missav, javdatabase).
Dùng nó vì tốc độ. Nó ở cuối là có lý do. Cache giúp trên mã lặp (cacheTtl một giờ phía server), nhưng scrape lần đầu vẫn là việc trình duyệt.
Đối xử /query như trình duyệt archive đầy đủ. Đây là keyword relevance, không phải archive genre ∩ studio. Để duyệt kiểu archive, javdatabase gần hơn.
Giá + bước tiếp
/movie thành công = $0.0005. /query thành công = $0.0002. Miss và lỗi không tính phí. Đăng ký mới được 1.000+ lượt tra cứu miễn phí.
Lấy key, chạy curl ở trên, rồi nhét cùng body vào app. Một tích hợp không khóa nhà cung cấp — JavLibrary chỉ là một id nữa trong providers.