「ASIN 検索」には三つの異なる作業が含まれます。商品の ASIN を見つけること、別の識別子を ASIN に変換すること、そして ASIN が分かったあとに商品データを取得することです。
どれを行うかは、手元にあるもので決まります。 出発点の識別子が道筋を決め、そのうち一つには道筋がありません。
手元にあるものから始める
| 手元にあるもの | すること | 可能か |
|---|---|---|
| ASIN | 商品データを直接取得する | 可能 |
| 商品ページの URL | URL から ASIN を読み取り、取得する | 可能 |
| UPC または EAN のバーコード | Amazon でバーコードを検索し、結果から ASIN を読み取り、取得する | 可能。2 段階 |
| 商品名またはキーワード | 検索して商品を選び、その ASIN を使う | 可能 |
| 自分の SKU | 自分の出品者アカウントで調べる | 可能。自分のアカウント内のみ |
| 競合の SKU | 方法なし | 不可 |
最後の行は意外に思われます。SKU は出品者が自分の在庫に付けるラベルで、そのアカウントの中だけのものです。そのため、他者の商品を調べる公開の「SKU 検索」は存在しません。調べられるのは公開されている ASIN です。各識別子を誰が割り当てるかは ASIN とはで説明しています。
ASIN を見つける
どの商品ページでも、ASIN は /dp/ の後ろにある 10 文字の部分です。
https://www.amazon.com/dp/B08CK5Z5Q1
^^^^^^^^^^ページの商品情報の欄にも記載されています。ASIN は常に 10 文字で、大文字のアルファベットと数字からなります。
1 件の ASIN を調べる
商品詳細エンドポイントは ASIN を 1 つ受け取り、商品ページの内容を 1 つの JSON オブジェクトとして返します。
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/asin/detail \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "US",
"asin": "B08CK5Z5Q1"
}'| フィールド | 分かること |
|---|---|
title、brand、parent | どの商品か、その親はどれか |
price、coupon | 現在の価格とクーポンの文言 |
bsrRank、bsrLabel、subcategories | 売れ筋ランキング、そのカテゴリー、サブカテゴリーの順位 |
rating、ratings | 星の評価と評価数 |
sellerName、sellers、fulfillment | 誰が販売し、出品者が何人いて、どう配送されるか |
variations、variationList | バリエーションの一覧と各バリエーションの ASIN |
features、dimensions、weight | 箇条書きの説明とサイズ・重量 |
このエンドポイントが受け付けるのは ASIN だけです。UPC、EAN、GTIN のパラメーターはないので、バーコードは呼び出す前に ASIN に変換する必要があります。フィールドの一覧は Amazon 商品データ API のページにあります。
多数の ASIN を調べる
商品ごとに詳細エンドポイントを 1 回ずつ呼ぶこともできますが、比較表を作るなら遠回りです。商品検索エンドポイントは asins 配列を受け取り、1 回のリクエストですべての商品について同じ比較用フィールドを返します。
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/product/competitor-lookup \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "US",
"asins": ["B08CK5Z5Q1", "B07Z82895W"]
}'各要素には price、bsr、units と revenue(月間販売数と売上の推定)、rating、ratings、出品者のデータが含まれます。asins と keyword はどちらか一方だけを送ります。
商品ページそのものが必要なら詳細を使います。 タイトル、箇条書き、バリエーション、属性です。表が必要なら検索を使います。 価格、順位、推定販売数で商品を比べるためです。
うまくいかない四つの場面
1. マーケットプレイスの指定違い。 ASIN は通常、複数のマーケットプレイスに存在しますが、価格、順位、レビューはそれぞれ別です。米国の結果から日本のことは分かりません。
2. 欠損値。 商品に存在しないフィールドは null または -1 で返ります。例えば primePrice: -1 です。計算する前に確認してください。
3. 親と子の比較。 親 ASIN の数字はバリエーション全体を、子の数字は 1 つのバリエーションを表します。ある商品の親と別の商品の子を比べると、数倍ずれることがあります。どの数字がまとめられるかは親 ASIN と子 ASINで扱っています。
4. 取得できなくなる ASIN。 商品ページは統合、分割、削除されます。長く動かす処理では、ASIN が恒久的だと仮定せず、「見つからない」場合を処理してください。
よくある質問
UPC で商品を調べられますか。 ここでは 1 回の呼び出しではできません。Amazon で UPC を検索し、結果から ASIN を読み取り、その ASIN を調べてください。
Amazon の SKU 検索はありますか。 自分の SKU は出品者アカウントで調べられます。他者の SKU は調べられません。SKU は非公開です。代わりに ASIN を調べてください。
商品ごとに 1 回の呼び出しが必要ですか。
商品ページの全データが必要なら、はい。価格、順位、推定販売数、評価だけなら、asins にリストを渡せば 1 回で取得できます。
AI アシスタントから ASIN を調べられますか。 できます。どちらのエンドポイントもリモート MCP サーバーのツールなので、自然な言葉で質問できます。設定方法は Claude Code で Amazon データを調べるにあります。