手作業のリサーチの上限は、何ページまでスクロールする気があるかで決まります。API を使う意味は精度ではなく、同じ絞り込みを翌週もう一度回せることです。結果が比較でき、条件が後から検証できます。
以下は 3 ステップの流れです。キーと認証は認証を参照し、シークレットはサーバー側に保管してください。
export ECOMMERCE_DATA_API_KEY="your_api_key"ステップ 1:参入する価値があるカテゴリーを決める
商品からではなくカテゴリー規模から始めます。Market Research はカテゴリーノードパスと月平均販売数でニッチを絞ります。
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/market/research \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "JP",
"month": "202507",
"nodeIdPath": "172282:281407",
"minAvgUnits": 100,
"maxAvgUnits": 10000,
"page": 1
}'この手順の要は minAvgUnits と maxAvgUnits です。下限は需要のないニッチを落とし、上限は大手ブランドで埋まった大きな市場を落とします。残った帯が参入可能な範囲で、実際の数値は自社の資金と物流条件で決まります。
候補カテゴリーが出たら、ブランド集中度と出品者集中度で一度ふるいにかけます。上位ブランドのシェアが高すぎるカテゴリーは、リサーチ段階で見送れます。
ステップ 2:カテゴリー内で商品を絞る
Product Research はこの流れで最も重く、条件が最も多い手順です。
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/product/research \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "JP",
"month": "nearly",
"keyword": "バスマット",
"matchType": 2,
"minPrice": 20,
"maxPrice": 80
}'3 つの条件群は役割が違います。
- 価格帯 — 自社の原価構成で戦えるかを決めます。最も厳しい制約です。
- 評価とレビュー数 — レビューが少なく評価が悪くないなら、その位置はまだ評判で固められていない可能性があります。
- 出品者数 — 1 つの ASIN に出品者が多いのは相乗りが過密なサインです。配送形態と併せて見てください。
パラメーターの全一覧はエンドポイントのドキュメントにあります。month は nearly で直近期間を取れるので、定期実行のたびに月を書き換える必要がなくなります。
ステップ 3:候補を桁で並べ替える
候補が出たら順序が必要です。BSR Sales Estimate は BSR とカテゴリー ID だけで済むため、数十〜数百の ASIN に対して回すのに向きます。
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/sales/prediction/bsr \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "JP",
"bsr": 1,
"categoryId": "Category ID"
}'重点 ASIN を細かく見たい場合は Product Sales Estimate を使います。どちらも推定値です。
定期実行にする際の 3 点
1. 制限はアカウント単位。 RPM と同時実行数はアカウント単位で適用されるため、キーを増やしても上限は上がりません。ステップ 3 の一括実行では自分で同時実行数を抑え、429 では Retry-After に従って待ってください(エラーとレート制限)。
2. 課金は成功した課金対象リクエストのみ。 課金対象の結果を返す前に失敗したリクエストは課金されないので再試行は安全ですが、ループの書き間違いはコールを一気に消費します。まず "size": 1 で流れを通してからページングを開いてください。
3. 定義を固定する。 marketplace と month はコード内に散らさず、ジョブ設定に置きます。定義の不一致は期間比較を誤らせる最大の原因です。
フィールドの読み方
| 種類 | 例 | 使い方 |
|---|---|---|
| プラットフォームで見える値 | 価格、評価、レビュー数、出品者数 | 現時点のスナップショット。検証可能でそのまま使える |
| 第三者の推定値 | 月販売数、売上、需要規模 | 順位づけと桁の判断のみ。財務予測には使わない |
| 構造指標 | ブランド集中度、価格帯分布 | 「参入できるか」に答える。「いくら稼げるか」には答えない |
制約
- 販売数と売上は推定値で修正されます。同じ ASIN を 1 週間後に見ると数値が違うことがあります。
- カテゴリーノードパスはマーケットプレイスごとに異なります。同じ
nodeIdPathを横断して使い回すと誤った結果になります。 - この流れは原価、輸送費、認証には触れません。市場として参入する価値があるかにだけ答えます。
コードを書かずに同じ流れを回すなら、エージェントに任せてください(商品リサーチを AI エージェントに任せる)。次の手順は残った候補のキーワード整備です(自分のキーワード資産をつくる)。