Amazonのアフィリエイト商品情報をASINから取得するプログラムをNode.js(javascript)で書いてみました。今回は、Node.jsからアマゾンのURLを取得していく方法を解説します。ASINとは、アマゾンが扱う商品識別用の10桁のコードのことで、Amazonで商品ページURLから確認する事ができます。
URLコードを取得するには、APIをNode.jsやPHP、JAVAなどのプログラム言語から実行します。APIは、PA-API v5.0(Product Advertising API)と呼ばれており、従来使われていたPA-API v4からv5へ移行することになっています。移行期日は2020年3月となっており、それ以降はPA-API v4.0の使用ができません。
今回はその様な背景から、こちらのサイトでも新しいAPIへ切り替えを行ってみました。
目次
PA-API v5.0とNode.jsでAmazonの商品コードを取得する
Node.jsでAmazonのASINをもとに商品情報を取得するには、下記のコードで可能になります。
1 | const ProductAdvertisingAPIv1 = require('paapi5-nodejs-sdk') |
PA-API 5向けのnode.jsパッケージを使用する
今回はProduct Advertising APIのNode.jsクライアントであるpaapi5-nodejs-sdkをnpmパッケージとしてインストールしておきます。
1 | $ npm install --save paapi5-nodejs-sdk |
paapi5-nodejs-sdk
をインストールすると分かるのですが、幾つかの利用シーンを想定したサンプルコードが入っています。そちらのコードを参考にするのもおすすめです。
ポイントとしては、ホストとリージョンをサンプルコードのようにwebservices.amazon.co.jp
とus-west-2
に指定しておく事。npmパッケージに入っている、サンプルコードのように海外のホストを指定すると次のようなTooManyRequests
エラーとなります。
1 | TooManyRequests |
また、PA-API v4.0の解説時に紹介していたnpmパッケージapac
は、新しいPA-API v5では非対応になっています。新しいものを使用しましょう。
Amazonアソシエイトでアクセスキーとシークレットキーを取得する
また、上記で解説したコードではアクセスキーとシークレットキーが必要です。予めAmazonアフィリエイトプログラムのツール
メニューにあるProduct Advertising APIからクレデンシャル(アクセスキーとシークレットキー)を取得しておいてください。

細かい規約はこちらの通りです。
Amazonアフィリエイトプログラム
Amazon.co.jp Product Advertising API ライセンス契約
PA-API5とNode.jsでAmazonの商品情報を取得した結果例
先程のコードを実行すると次のような結果になります。
1 | $ node amazon-resolve.js |
試しにこちらの商品の情報を取得してみました。
結果はこちらです。

アマゾンで取得した商品情報やURLを整形する
APIから返ってくる値を見てみると、以下の要素が使えそうです。
item.ItemInfo.Title.DisplayValue
商品名
item.ItemInfo.Features.DisplayValues
商品の説明文
item.DetailPageURL
Amazonのアフィリエイト商品リンクURL
item.Images.Primary.Large.URL
Amazonの商品画像URL(
<img src="">
)に利用できるitem.Images.Primary.Large.Width
Amazonの商品画像の高さ(Pixcel)
item.Images.Primary.Large.Height
Amazonの商品画像の幅(Pixcel)
あとは、こちらをお好みでHTML整形したり、返ってくるJSONを保存すれば、BabyLinkやRinkerのような埋め込みHTMLコードが作れます。
1 | // 前コードの、取得成功時の処理の続き |
ということで、今回はNode.jsでアマゾンの商品情報を取得する方法を備忘録として解説しました。