ブログ

著者 javinfo team

存在しないJavDB API

JavDBに公開APIはない。GitHub上のあらゆる javdb api は腐っていくスクレイパーだ。実際に使われているもの、それが壊れる理由、そしてホスト型の代替を解説する。

JavDB APIは存在しません。JavDBは一度も出荷したことがありません。「javdb api」を検索すると、その名を借りたコミュニティ製スクレイパーの山が出てきます。そのどれもが、明日には壊れかねないHTMLをパースしているのです。

一文で言えば、それが問題のすべてです。とはいえ、実際に何が出回っているのか順に見ていく価値はあります。あなたはそれらすべてにぶつかることになるからです。

「javdb api」が実際に指しているもの

ひと握りのリポジトリ、どれも非公式で、すべて脆いものです。

なぜそれらはいずれ壊れるのか

これらのツールは生きたウェブサイトをスクレイプするので、そのウェブサイトが持つあらゆる防御をそのまま受け継ぎます。JavDBは Cloudflare の裏にあり、これらのプロジェクトの半分は、ページをひとつ取り返すためだけに FlareSolverr を並行して動かす必要があります。一部のコンテンツ(fc2)では、手で貼り付けて期限切れのたびに更新するセッションクッキーが必要です。サイト上のクラス名のリネームがあなたのパーサーを静かに壊し、変更履歴も警告もなく、ある日メタデータが空っぽになります。そしてJavDBのメタデータは英語と中国語のみなので、それを土台に作られたものは日本語のフィールドを取りこぼします。

つまり、あなたが保守するのはひとつの統合ではありません。スクレイパーと、ヘッドレスブラウザのバイパスと、クッキーと、深夜2時にすべてが崩れたときのためのポケベルを保守することになるのです。

ホスト型の代替

javinfo は、JavDBが決してくれなかったAPIです。実際の javdb プロバイダーを備えています。コードを送れば、構造化されたメタデータが返ってきます。スクレイパーが追い求めているダウンロードリンクとマグネットリンクも含めて。毎回同じ形、子守りする必要は何もありません。

Look up a code
curl -X POST "https://api.javinfo.dev/movie" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "CAWD-001", "providers": "javdb" }'
Response (javdb)
{
"q": "CAWD-001",
"source": "javdb",
"result": {
"dvdId": "CAWD-001",
"runtimeMins": 120,
"extra": {
"downloadLinks": [
{ "name": "CAWD-001 1080p", "magnet": "magnet:?xt=urn:btih:...", "size": 5905580032, "hd": true }
],
"score": 4.3,
"voteCount": 512
}
}
}

すべてのプロバイダーは同じ result 形にマッピングされるので、どのソースが応答しても result.* を同じように読めます。スクレイピングも Cloudflare との戦いも私たちが引き受けるので、あなたはやらずに済みます。これは、あらゆるソースをカバーする 単一のJAVメタデータAPI の一部であり、設計からしてプロバイダー非依存 です。壊れやすいスクレイプの山ではなく、メンテナンスされた統合がひとつあるだけ。JavDBがこうしたソースの唯一の例というわけではありません。DMMはもっとひどい

app.javinfo.dev で登録してキーを取得し、x-javinfo-key ヘッダーで渡します(RapidAPI でも利用できます)。javdb プロバイダーとそのダウンロードリンクは、missav と同じく毎リクエストでライブに返り、データは完全でゲーティングはありません。課金は従量制です。/movie は成功した結果ごとに$0.0005、/query は$0.0002で、新規登録には100回以上の無料ルックアップが付き、クレジットカードは不要です(その後はUSDCでチャージし、1:1で反映されます)。1分で動かせます。Dockerも、FlareSolverr も、クッキーも不要です。