关于 amazon-data
Amazon Data Skill 通过 Canopy API REST 端点使用 Python 获取 Amazon 商品及市场数据,适用于需要商品、评论、卖家、优惠和分类信息的开发与数据流程。
主要功能
- 01商品详情、变体和标识符查询
- 02销量与库存估算
- 03评论和卖家报价查询
- 04带筛选条件的关键词搜索
- 05优惠、畅销榜和分类查询
适用场景
- 01研究不同 Amazon 站点的商品
- 02比较评论、报价和价格
- 03跟踪商品销量与库存估算
- 04查找优惠和分类畅销商品
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ canopy-api/ skills --skill amazon-data安装后在 Claude Code 中输入/amazon-data确认已加载。
详细介绍
Amazon 数据技能
使用此技能通过 Python 调用 Canopy API REST 端点来获取 Amazon 商品数据。
Canopy API 可实时访问 25K+ 个类别中的 350M+ 件 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
})
返回顶级畅销商品类别 ID(例如 bestsellers_amazon_devices),以传入 /api/amazon/bestsellers。
商品查询选项
商品端点接受以下标识符之一:
| 参数 | 描述 | 示例 |
|---|---|---|
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