可以浏览的 JAV 色情数据库多得是。javdatabase.com、JavDB、MissAV —— 打开一个页面,点一个类型标签,往下滚。可缺的那个东西 —— 除非你自己搭一个 —— 是一个你能查询的数据库:从你自己的应用发送筛选条件,拿回结构化的结果。浏览和查询是两码事,而那些网站没有一个做得了第二件事。
javinfo 做得了。/query 端点接受一个搜索词、一组筛选条件,或者两者兼有,并以 JSON 形式返回一个分页的匹配列表。
用筛选条件查询数据库
假设你想要时长超过两小时的巨乳类作品,最新的排在前面。一个请求就够了:
curl -X POST "https://api.javinfo.dev/query" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "filter": { "genre": "Big Tits", "runtimeMin": 120 }, "sort": "release", "num": 10 }'{ "source": "fanza", "count": 10, "results": [ { "id": "118abp00999", "dvdId": "ABP-999", "title": "...", "cover": "https://pics.dmm.co.jp/.../ps.jpg", "releaseDate": "2019-01-04", "extra": { "runtimeMins": 130, "maker": "...", "categories": ["Big Tits"], "actresses": [{ "name": "...", "image": "https://..." }] } } ]}q 按番号、标题或女优搜索。filter 用来缩小范围。你可以只发其中一个,或者两个都发 —— 一个不带 q 的筛选就是一次有效的目录浏览。
筛选条件
每个字段都是可选的;只发你需要的:
genre、actress、maker、series、director、label、actor—— 按这些显而易见的元数据匹配censored——"censored"或"uncensored"runtimeMin/runtimeMax—— 时长(分钟)releaseAfter/releaseBefore——YYYY-MM-DD日期范围availability——"playable"、"magnets"、"subtitle"或"single"
用 sort 排序(默认 relevance,也可以是 release、update、rating),用 page 和 num 分页(每页最多 50 条)。并不是每个数据源都支持每一个筛选条件 —— 时长和发行日期范围依赖 missav,availability 和 rating 来自 javdb,genre/actress/maker 在 fanza/dmm 和 javdatabase 上覆盖最广 —— 所以当某个筛选条件是特定数据源专属时,用 providers 指定数据源。取值是原样透传的,所以类型名在 fanza/javdatabase 上是英文,在 missav 上是日文。
从一个匹配项到完整记录
/query 给你列表。当你拿到想要的番号后,/movie 会返回它完整的规范化记录 —— 每个数据源都映射到的同一个 result.* 结构,无论额外内容是 JavDB 的磁力链接、MissAV 的视频流,还是 javdatabase 的简介和样片。一个与数据源无关的 JAV 元数据 API,两个端点:/query 用来查找,/movie 用来获取。
在 app.javinfo.dev 注册、获取密钥,并通过 x-javinfo-key 请求头传入(也可在 RapidAPI 上使用)。按用量计费:/query 收费 $0.0002,/movie 每个成功结果收费 $0.0005,查询失败免费。新用户注册即可获得 100+ 次免费查询,无需信用卡。不需要托管抓取工具,不需要跟 Cloudflare 缠斗,不需要逆向工程任何结构。就是一个你能直接调用的数据库。