Amazon Creators APIで先行セールの商品データが取得できない問題
Amazonプライム感謝祭の先行セール期間中、Amazon Creators APIを利用した商品データの取得で、一部の商品が取得できなくなる問題が発生しました。Amazonのサイトでは商品が販売されているにもかかわらず、APIからは商品データが返されません。調べたところ、プライム会員限定セールの情報を取得する際の挙動が関係しているようでした。
今回は、発生した問題と対処方法を備忘録として残します。

目次
商品が存在するのにAPIからデータが返されない
私のWordPressでは、Amazon Creators APIにASINを指定して商品情報を取得し、商品紹介リンクを生成しています。データを取得できなかった場合は、WordPressの管理画面に対象商品を一覧表示する仕組みです。
ところが、プライム感謝祭の先行セール期間中に、一部の商品でデータを取得できなくなりました。エラーが発生したASINをAmazonのサイトで検索すると、商品自体は存在しています。さらに、取得できなかった商品には「プライム感謝祭先行セール」の表示がありました。このことから、商品の販売状況ではなく、セール情報の取得処理に原因があるのではないかと考えました。
OFFERS_V2_LISTINGS_DEAL_DETAILSが原因?
調査の過程で気になったのが、Creators APIでタイムセールのバッジや終了日時などを取得するために指定している、OFFERS_V2_LISTINGS_DEAL_DETAILS というリソースです。プライム会員限定セールなどの対象商品では、このリソースに関連する情報として、accessType: PRIME_EXCLUSIVE が確認できました。そして、該当する商品のデータ取得時に OFFERS_V2_LISTINGS_DEAL_DETAILS を要求すると、APIからエラーが返されるのではなく、items: [] という空の結果が返される現象を確認しました。
この状態では商品情報全体が取得できないため、商品が存在しない場合と区別できません。ただし、これがAmazon Creators APIの正式な仕様なのか、それとも一時的な不具合なのかは判断できません。先行セールでは終了日時などの情報が通常のセールと異なる扱いになっている可能性もありますが、現時点では推測の域を出ません。
2026年7月の先行セールとの違い
以前の先行セールでは、商品紹介リンクに「プライム先行セール」のバッジが出力され、通常の商品と同じように商品情報を取得できていたと記憶しています。しかし、今回の先行セールでは、特定のリソースを要求した場合に商品データそのものが返されなくなる現象が発生しました。
過去と今回の挙動が異なるように見えるため、仕様変更なのか不具合なのか、現時点では断定できません。
空の結果が返された場合のフォールバック処理
今回の問題に対処するため、商品データの取得処理に自動フォールバックを追加しました。
具体的には、次のように処理します。
- 通常どおり、
OFFERS_V2_LISTINGS_DEAL_DETAILSを含めて商品データを取得します。 - 結果が空で、要求したリソースに
OFFERS_V2_LISTINGS_DEAL_DETAILSが含まれている場合は、そのリソースを除外して再取得します。 - 再取得で商品情報が得られれば、そのデータを利用して商品紹介リンクを生成します。
- 再取得してもデータが空の場合は、商品なしとして処理します。
この変更により、通常のセール商品は従来どおり1回の取得で処理し、問題が発生した商品だけ追加取得を行うようにしました。なお、再取得で空の結果にって初めて商品なしとして扱います。
次回の先行セールでも挙動を確認する
今回の調査では、OFFERS_V2_LISTINGS_DEAL_DETAILS を要求した際に、プライム会員限定セールの対象商品で items: [] が返される現象を確認しました。ただし、これが仕様なのか不具合なのかは、まだ判断できません。
次回の先行セールでは、最初の商品データを取得する段階で同じ現象が発生するか、また、セール情報の取得方法やAPIの挙動に変更がないかを確認する予定です。今回の対処方法が今後も有効とは限らないため、Amazon Creators APIの挙動を継続して確認する必要があります。
最後までお読みいただき、誠にありがとうございます。
