Product Advertising API (PA-API) は、Amazonの商品情報が検索できる、Amazon公式のAPIです。そのPA-APIのバージョン4について、2019年11月末で使えなくなるとの案内が9月9日にありました。

ぼくが運営しているリリースチェッカーでも、PA-APIを利用しています。本日、バージョン5への移行対応が完了し、本番投入しました。今のところ大きな問題はなさそうです。不具合に気づかれた方は、@iwamotまでお知らせいただけると助かります。

これから移行対応される方へのアドバイスとして、APIのレート制限を超えて「429 TooManyRequests」エラーが返ってくることを前提に、がんがんリクエストを投げて、がんがんリトライするのがよさそう、という点を挙げておきます。アプリの性質にもよるでしょうが、リリースチェッカーの場合、不特定多数のユーザ(おもにフィードクローラ)からのリクエストによって、ひっきりなしにPA-APIを叩くアーキテクチャなので、律儀にウェイトを入れるとWebサーバが詰まってしまうのです。

他に苦労した点として、下記がありました。

  • 移行案内に気づいたのが10月10日で、初動が遅れてしまった
  • PA-APIのレスポンスがJSONに変わった。以前はXMLで、XSLTでゴリゴリ処理していた
  • 1回のリクエストで複数の結果が取得できるバッチリクエストが廃止された。PA-APIへのリクエスト数が増え、レート制限を超えやすくなった

移行期限が2020年1月14日に伸びそうとの噂もありますが、早めの対応をおすすめします。