JAVメタデータをアプリに入れたいなら、誰もが歩む道はこうです。ソースを見つけ、スクレイパーを書き、スクレイパーが壊れ、抜けを埋めるために2つ目のソース用にもうひとつ書き、半年後にはタイトルと発売日とカバー画像を手に入れるためだけに、5つの脆い統合を保守しているのです。
公開された安定したJAVメタデータAPIは、世の中に存在しません。最初からありませんでした。javinfo はそのひとつです。それが、これが存在する理由のすべてです。
なぜ「JAVメタデータAPI」はこれほど見つけにくいのか
データは本物で、よく構造化されています。問題はアクセスです。あなたが手を伸ばすであろうあらゆるソースは、契約を備えたAPIではなく、防御を備えたウェブサイトなのです。
- DMM / FANZA はカタログの大半を握っており、地球のほとんどをジオブロックしています。アフィリエイトAPIはありますが、ドキュメントは日本語のみで、同じブロックの裏側にあります。
- JavDB には 公式APIがまったくなく、その名を借りたコミュニティ製スクレイパーがあるだけで、そのほとんどは Cloudflare を突破するために FlareSolverr を必要とします。
- JavBus、JavLibrary、R18 も同じ話です。セルフホスト型スクレイパーとDockerコンテナ、予告なく変わるHTMLに縛られたパーサー。
つまり、GitHubで見つかる「API」は常にスクレイパーであり、スクレイパーはソースサイトが抱えるあらゆる問題を受け継ぎます。クラス名のリネームが、変更履歴も警告もなくパーサーを壊します。Cloudflare のチャレンジとリージョンブロックのせいで、ヘッドレスブラウザのバイパスとプロキシも運用することになります。そして各ソースが異なる形を返すので、抜けを埋めるには3つや4つのスキーマを自分で正規化する必要があります。
あなたが保守するのはひとつの統合ではありません。スクレイパーと、バイパスと、プロキシと、深夜2時のためのポケベルを保守することになるのです。
javinfo が代わりにすること
エンドポイントはひとつ。コードを送れば、正規化された結果がひとつ返り、どのソースが応答しても同じフィールドの形になります。
curl -X POST "https://api.javinfo.dev/movie" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "SSIS-001" }'{ "q": "SSIS-001", "source": "fanza", "result": { "dvdId": "SSIS-001", "titleEn": "Newcomer NO.1 STYLE ...", "releaseDate": "2020-07-07", "runtimeMins": 120, "makers": ["S1 NO.1 STYLE"], "actresses": ["Example Actress"], "jacketFullUrl": "https://pics.dmm.co.jp/digital/video/ssis00001/ssis00001pl.jpg" }}すべてのプロバイダーは同じ result 形にマッピングされます。dvdId、titleEn/titleJa、releaseDate、runtimeMins、makers、label、series、actresses、jacketFullUrl などです。ソースをまたいで result.* を同じように読めます。スクレイピングも、Cloudflare との戦いも、ジオブロックの回避策も私たちが引き受けるので、あなたはやらずに済みます。これが、全体が築かれている プロバイダー非依存の設計 です。
プロバイダー
javinfo に最初のマッチを選ばせるか、providers でソースを固定してください。
dmm/fanzaはバイリンガルのメタデータ(タイトル、出演者、メーカー、レーベル、シリーズ、カバー)に加えて、女優のプロフィール画像とサンプル/ギャラリーのURLを返します。毎リクエストでライブに返ります。javdbは、マグネットリンクとダウンロードリンクからなるextra.downloadLinks配列を追加します。スクレイパーが奪い合っているもの です。missavは、HLSプレイリストのURL(.m3u8)と解像度別のバリアントからなるextra.streamsオブジェクトとextra.pageUrlを追加します。javdatabaseは説明文、サンプル画像、予告編を追加します。javlibraryは深いカタログのフォールバック:/movieでタイトル・出演・カバー・サンプル、素のキーワード/queryはnumのみ(filter なし)。ウォーターフォール末尾。
ミスした場合は 404 が返ります。これはたいてい、そのコードがインデックスされていないというだけの意味です。レスポンスはサーバー側でキャッシュされ(X-Cache ヘッダーで分かります)、繰り返しの照会は高速です。
はじめる
app.javinfo.dev で登録してキーを取得し、x-javinfo-key ヘッダーで渡します(RapidAPI でも利用できます)。プロバイダーはすべてライブです。dmm/fanza、javdb、missav はどれも毎リクエストで完全なデータを返し、ゲーティングはありません。課金は従量制です。/movie は成功した結果ごとに$0.0005、/query は$0.0002で、失敗したルックアップは課金されません。レート上限は毎分60リクエストです。チャージはUSDCで1:1で反映され、$50以上のチャージには5–50%のランダムなボーナスが付きます。ただし新規登録には100回以上の無料ルックアップが付き、クレジットカードは不要です。広く検索したいときは、/query が最良の1件ではなくマッチの一覧を返します。Dockerも、FlareSolverr も、日本のVPNも、更新するクッキーも不要です。1分で動かせます。