FANZA APIやDMM APIを英語で探しても、手ぶらで帰ってくることになります。カタログは世に存在する中で最大級ですが、正面玄関は日本国外から施錠されていて、書類はすべて日本語です。この記事では、実際に何が存在するのか、なぜそのどれもが英語では機能しないのか、そして同じメタデータを正規化されたJSONとして取り戻す方法を順に見ていきます。
FANZAやDMMに英語のAPIはあるのか?
ありません。affiliate.dmm.com/api にアフィリエイトAPIがあり、FANZA(DMMのアダルト部門)も同じものの上で動いています。日本国外にいると、これを使い物にならなくする問題がふたつあります。
- ジオブロックされている。 dmm.co.jp は地球のほとんどをジオブロックしており、アフィリエイトAPIも同じ壁の裏側にあります。あなたにトラフィックを運んでくるはずのAPIのドキュメントを読むだけのために、日本のIPが必要なのです。
- ドキュメントは日本語のみ。 英語のリファレンスは存在しません。そしてレスポンススキーマは2014年のDMMバックエンドの姿そのまま。何十ものフィールド、変更履歴なし、どれかが消えても一切通知なし。
つまり「英語のFANZA API」は、設定して使えるようなものではありません。自分で構築し、その後ずっと子守りし続けなければならないスクレイピングと翻訳のプロジェクトなのです。
DMM/FANZAメタデータを英語で取得する
javinfo は、ジオブロックの回避と正規化をサーバー側で一度だけ行い、きれいな結果をひとつ手渡します。DVDコードを POST /movie に送り、fanza プロバイダーに応答させます。
curl -X POST "https://api.javinfo.dev/movie" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "SSIS-001", "providers": "fanza" }'{ "q": "SSIS-001", "source": "fanza", "result": { "dvdId": "SSIS-001", "titleEn": "Newcomer NO.1 STYLE ...", "titleJa": "新人 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" }}titleEn と titleJa の両方が返ってくるので、英語は自分で抱える翻訳工程ではなく、ただ読むだけのフィールドです。dmm/fanza プロバイダーはバイリンガルのメタデータを返します。タイトル、出演者、メーカー、レーベル、シリーズ、カバーアート、さらに多くのスクレイパーが取りこぼす女優のプロフィール画像とサンプルギャラリーのURLまで。カバー率は dmm.co.jp のライブラリのおよそ99%に達し、ほとんどのコードは最初の試行で解決します。
単一の一致ではなくリストが欲しいですか?POST /query は幅広い検索を受け取り、候補となる結果を同じ形で返します。
ひとつの形で、あらゆるソース
result オブジェクトはどのプロバイダーが応答しても同じなので、FANZA向けに書いたパーサーはそのまま JavDB、MissAV、javdatabase も読めます。それが、この全体が乗っている プロバイダー非依存の設計 です。ソースごとに別々の統合を用意するのではなく、正規化された JAVメタデータAPI がひとつあるだけ。
app.javinfo.dev で登録してキーを取得し、x-javinfo-key ヘッダーで渡します(RapidAPI でも利用できます)。課金は従量制です。/movie は成功した結果ごとに$0.0005、/query は$0.0002で、失敗したルックアップには課金されません。新規登録には1,000回以上の無料ルックアップが付き、クレジットカードは不要です。その後はUSDCでチャージし、1:1で反映されます。日本のVPNも、日本語のドキュメントも、保守するスクレイパーも不要です。1分で動かせます。