ブログ

著者 javinfo team

英語で使えるFANZA / DMM API:メタデータの取得方法

FANZA唯一のAPIは日本語のみのアフィリエイトフィードで、dmm.co.jp は世界中をジオブロックしている。コードから正規化されたDMM/FANZAメタデータを英語で取得する方法を解説する。

FANZA APIやDMM APIを英語で探しても、手ぶらで帰ってくることになります。カタログは世に存在する中で最大級ですが、正面玄関は日本国外から施錠されていて、書類はすべて日本語です。この記事では、実際に何が存在するのか、なぜそのどれもが英語では機能しないのか、そして同じメタデータを正規化されたJSONとして取り戻す方法を順に見ていきます。

FANZAやDMMに英語のAPIはあるのか?

ありません。affiliate.dmm.com/api にアフィリエイトAPIがあり、FANZA(DMMのアダルト部門)も同じものの上で動いています。日本国外にいると、これを使い物にならなくする問題がふたつあります。

つまり「英語のFANZA API」は、設定して使えるようなものではありません。自分で構築し、その後ずっと子守りし続けなければならないスクレイピングと翻訳のプロジェクトなのです。

DMM/FANZAメタデータを英語で取得する

javinfo は、ジオブロックの回避と正規化をサーバー側で一度だけ行い、きれいな結果をひとつ手渡します。DVDコードを POST /movie に送り、fanza プロバイダーに応答させます。

Look up a FANZA/DMM code
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" }'
Response (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"
}
}

titleEntitleJa の両方が返ってくるので、英語は自分で抱える翻訳工程ではなく、ただ読むだけのフィールドです。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分で動かせます。