認証・リクエスト

affiliate_id に通常のアフィリエイトIDを指定したらエラーになった

APIリクエスト時の affiliate_id には末尾が990〜999のIDを指定する必要があります。 通常のID(例: affiliate-001)を指定するとエラーになります。

# NG
affiliate_id=affiliate-001

# OK
affiliate_id=affiliate-990

ブログにリンクを掲載する際は、レスポンス内の affiliateURL に含まれるIDを通常のアフィリエイトIDに差し替えてください。

レスポンスが空(items が返らない)

以下を確認してください。

  1. site パラメータDMM.com(一般)と FANZA(アダルト)は別サイト。指定が逆だと結果が0件になります
  2. service / floor の組み合わせ — 存在しない組み合わせを指定した場合も0件。フロアAPIで正しいコードを確認してください
  3. keyword のエンコーディング — UTF-8でURLエンコードする必要があります
  4. gte_date の書式2024-01-01T00:00:00 のISO8601形式。タイムゾーンは指定不可
1回のリクエストで何件まで取得できる?

最大100件です。hits パラメータで指定します(初期値は20)。 100件を超える商品を取得するには、offset を繰り返しずらしてリクエストしてください。 ただし offset の上限は 50000 です。

// 101〜200件目を取得
const params = { hits: 100, offset: 101 };
レートリミットはある?

公式にはレートリミットの仕様は明記されていません。 ただし短時間に大量のリクエストを送るとアカウント停止のリスクがあります。リクエスト間に1秒以上の間隔を空けることを推奨します。

レスポンス

affiliateURL をそのままブログに貼ってもいい?

そのまま使えますが、アフィリエイトIDに注意してください。 レスポンスに含まれる affiliateURL はAPIリクエスト時に指定した末尾990〜999のIDで生成されています。 報酬を得るには、通常のアフィリエイトIDに差し替える必要があります。

const blogURL = item.affiliateURL.replace("affiliate-990", "affiliate-001");
画像URLはどれを使えばいい?

imageURL には3種類あります。

フィールド用途推奨場面
listリストページ用サムネイル一覧表示
small小サイズモバイル、カード
large大サイズ記事本文、詳細ページ

ブログ記事では large を使い、一覧では small を使うのが一般的です。 画像への直リンクは利用規約上有効ですが、自サーバーへのキャッシュは禁止されている場合があります。

レビュー情報がない商品がある

review フィールドはレビューが投稿されている商品のみ返されます。 新作や投稿数が少ない商品にはこのフィールド自体が存在しません。 コード上では存在チェックを入れてください。

const rating = item.review?.average ?? "レビューなし";

絞り込み・検索

複数のジャンルで絞り込みたい

articlearticle_id を配列化して指定します。

article[0]=genre&article_id[0]=6003&article[1]=actress&article_id[1]=15187

articlearticle_id は同じインデックスで対応させてください。

女優ID・ジャンルIDはどうやって調べる?

各検索APIで取得できます。

調べたい情報使うAPI
女優ID女優検索API
ジャンルIDジャンル検索API
メーカーIDメーカー検索API
シリーズIDシリーズ検索API
作者ID作者検索API

女優検索APIでは keyword で名前の部分一致検索も可能です。

service / floor のコードを忘れた

フロアAPI を叩けば全サイト・サービス・フロアのコード一覧を取得できます。 よく使うコードは以下のとおりです。

siteservicefloor説明
FANZAdigitalvideoaアダルト動画(配信)
FANZAdigitalvideoc素人動画(配信)
FANZAmonodvdDVD通販
FANZAdigitalcomic同人コミック
DMM.comdigitalvideo一般動画(配信)
DMM.commonobook本・コミック通販

運用

出力形式はJSONとXMLどちらがいい?

JSON一択です。軽量で、JavaScriptやPythonなど主要言語で扱いやすいです。 XMLを選ぶメリットは現在ほぼありません。

クレジット表示は必要?

はい。APIを利用して公開するサービスにはDMMのクレジット表示が必要です。 詳しくは ご利用ガイド を参照してください。

テスト環境(サンドボックス)はある?

ありません。本番環境のAPIを直接利用します。 開発中は hits=1 にして最小限のリクエストに留めてください。