amazon-data について
Amazon Data Skillは、Canopy APIのRESTエンドポイントをPythonで呼び出し、Amazonの商品・マーケットプレイスデータを取得します。商品、レビュー、出品者、セール、カテゴリ情報を扱う開発やデータ処理向けです。
主な機能
- 01商品詳細、バリエーション、識別子の取得
- 02売上と在庫の推定値
- 03レビューと出品者のオファー
- 04条件指定付きキーワード検索
- 05セール、ベストセラー、カテゴリの取得
活用シーン
- 01Amazon各ドメインの商品調査
- 02レビュー、オファー、価格の比較
- 03商品の売上と在庫推定値の追跡
- 04セールやカテゴリ別ベストセラーの検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ canopy-api/ skills --skill amazon-dataインストール後、Claude Code で/amazon-dataを入力して読み込まれたか確認します。
詳細
Amazon Data Skill
Python を使用して Canopy API の REST エンドポイント経由で Amazon の商品データを取得するには、このスキルを使用します。
Canopy API を使うと、25K 以上のカテゴリーにわたる 3 億 5,000 万点以上の Amazon 商品にリアルタイムでアクセスできます。このスキルでは、次の情報を取得できます。
- 商品詳細 — 商品名、説明、価格、画像、特徴の箇条書き、ブランド情報
- 販売数と在庫の推定値 — 現在の在庫数とあわせて、週次、月次、年次の販売数量
- レビュー — 評価、レビュー本文、購入確認済みステータス、参考になった票数
- 検索 — 価格、コンディション、カテゴリー、並べ替え順のフィルターを使って、キーワードで商品を検索
- 出品情報 — 複数の出品者間で価格と配送情報を比較
- セール — 12 の海外ドメインで、現在の Amazon のセールと割引を閲覧
- カテゴリー — Amazon の全カテゴリー体系を参照
- 出品者と著者 — 出品者のプロフィールや評価、著者の著作一覧を検索
- ベストセラー — Amazon のカテゴリー体系全体における上位商品
- 識別子の変換 — ASIN と GTIN(ISBN/UPC/EAN)を相互に変換
セットアップ
- canopyapi.co で登録してアカウントを作成します
- ダッシュボードから API キーを取得します
- 環境に API キーを設定します。
export API_KEY="your_api_key_here"
ベース URL
https://rest.canopyapi.co
認証
すべてのリクエストで API-KEY ヘッダーが必要です。
import os
import requests
API_KEY = os.environ["API_KEY"]
BASE_URL = "https://rest.canopyapi.co"
HEADERS = {"API-KEY": API_KEY}
エンドポイント
商品情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/product", headers=HEADERS, params={
"asin": "B01HY0JA3G", # or use "url" or "gtin"
"domain": "US", # optional, defaults to "US"
})
商品名、ブランド、価格、評価、画像、特徴の箇条書き、カテゴリー、出品者情報を返します。
ASIN を GTIN に変換
response = requests.get(f"{BASE_URL}/api/amazon/product/gtin-from-asin", headers=HEADERS, params={
"asin": "B01HY0JA3G",
"domain": "US", # optional
})
GTIN を ASIN に変換
response = requests.get(f"{BASE_URL}/api/amazon/product/asin-from-gtin", headers=HEADERS, params={
"gtin": "9780141036144",
"domain": "US", # optional
})
商品のバリエーションを取得
response = requests.get(f"{BASE_URL}/api/amazon/product/variants", headers=HEADERS, params={
"asin": "B01HY0JA3G",
})
在庫数の推定値を取得
response = requests.get(f"{BASE_URL}/api/amazon/product/stock", headers=HEADERS, params={
"asin": "B01HY0JA3G",
})
販売数の推定値を取得
response = requests.get(f"{BASE_URL}/api/amazon/product/sales", headers=HEADERS, params={
"asin": "B01HY0JA3G",
})
週次、月次、年次の販売数量の推定値を返します。
商品レビューを取得
response = requests.get(f"{BASE_URL}/api/amazon/product/reviews", headers=HEADERS, params={
"asin": "B01HY0JA3G",
"page": 1, # optional
"onlyVerifiedReviews": True, # optional
"rating": "5", # optional, filter by star rating
"search": "battery life", # optional, filter by search term
})
商品の出品情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/product/offers", headers=HEADERS, params={
"asin": "B01HY0JA3G",
"page": 1, # optional
})
商品を検索
response = requests.get(f"{BASE_URL}/api/amazon/search", headers=HEADERS, params={
"searchTerm": "wireless headphones",
"domain": "US", # optional
"categoryId": "172282", # optional, filter to a category
"page": 1, # optional
"limit": 20, # optional, 20-40
"minPrice": 10, # optional
"maxPrice": 100, # optional
"conditions": "NEW", # optional: NEW, USED, RENEWED (comma-separated)
"sort": "FEATURED", # optional: FEATURED, MOST_RECENT, PRICE_ASCENDING, PRICE_DESCENDING, AVERAGE_CUSTOMER_REVIEW
})
オートコンプリート候補を取得
response = requests.get(f"{BASE_URL}/api/amazon/autocomplete", headers=HEADERS, params={
"searchTerm": "wireless",
"domain": "US", # optional
"category": "aps", # optional, Amazon autocomplete_alias (e.g. "electronics")
})
カテゴリー体系を取得
response = requests.get(f"{BASE_URL}/api/amazon/categories", headers=HEADERS, params={
"domain": "US", # optional
})
カテゴリー情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/category", headers=HEADERS, params={
"categoryId": "1234567890",
"domain": "US", # optional
"page": 1, # optional
"sort": "FEATURED", # optional
})
出品者情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/seller", headers=HEADERS, params={
"sellerId": "A2R2RITDJNW1Q6",
"domain": "US", # optional
"page": 1, # optional
})
著者情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/author", headers=HEADERS, params={
"asin": "B000AQ5RM0",
"domain": "US", # optional
"page": 1, # optional
})
セール情報を取得
response = requests.get(f"{BASE_URL}/api/amazon/deals", headers=HEADERS, params={
"domain": "US", # optional
"page": 1, # optional
"limit": 20, # optional
"categoryIds": "3760911,172282", # optional, comma-separated category IDs
})
ベストセラーを取得
response = requests.get(f"{BASE_URL}/api/amazon/bestsellers", headers=HEADERS, params={
"categoryId": "bestsellers_amazon_devices", # required if url not provided
# "url": "https://www.amazon.com/Best-Sellers/zgbs", # required if categoryId not provided
"domain": "US", # optional
"page": 1, # optional
"limit": 50, # optional, typically 20-50 per page
})
ランキング順位、評価、カテゴリーのナビゲーション情報とともに、ランキング上位の商品を返します。
ベストセラーカテゴリーを取得
response = requests.get(f"{BASE_URL}/api/amazon/bestseller-categories", headers=HEADERS, params={
"domain": "US", # optional
})
/api/amazon/bestsellers に渡す、最上位のベストセラーカテゴリー ID(例:bestsellers_amazon_devices)を返します。
商品検索のオプション
商品エンドポイントでは、次のいずれかの識別子を使用できます。
| パラメーター | 説明 | 例 |
|---|---|---|
asin | Amazon 商品の ASIN | B01HY0JA3G |
url | Amazon 商品の完全な URL | https://amazon.com/dp/B01HY0JA3G |
gtin | ISBN、UPC、または EAN コード | 9780141036144 |
対応ドメイン
US(デフォルト)、UK、CA、DE、FR、IT、ES、AU、IN、MX、BR、JP、PL
エラー処理
| ステータス | 意味 |
|---|---|
| 400 | 無効なパラメーター |
| 401 | API キーが無効または指定されていません |
| 402 | 支払いが必要です |
| 500 | サーバーエラー |
response = requests.get(f"{BASE_URL}/api/amazon/product", headers=HEADERS, params={"asin": "B01HY0JA3G"})
if response.ok:
data = response.json()
else:
print(f"Error {response.status_code}: {response.text}")
コメント
Markdown 対応