Ecommerce Data API

亚马逊评论 API:按 ASIN 获取商品评论

亚马逊评论 API,按 ASIN 获取任意商品的评论 JSON,支持按星级筛选,返回评论日期、变体 SKU、图片视频标识,以及实际购买和 Vine 标记。
2026/09/14

亚马逊评论 API 能拿到什么

商品评论接口按页返回一个 ASIN 下的买家评论,除了正文,还带着区分不同类型评论所需的元数据。

items[] 里每一项是一条评论:

字段含义
star、title、content星级、标题和评论正文
date评论日期,毫秒时间戳(文档示例 1772380800000)
skus评论人买的是哪个变体,例如尺寸或颜色
likes点赞(「有帮助」)数
image、video、images、videos是否带图 / 视频,以及链接
verified是否实际购买评论
vine是否 Vine 特邀评论
free、experience是否免费获得、是否抢先体验评论
author、authorLabels评论人和评论人标签

完整字段见查评论接口文档。

先看看真实返回

以下是 2026-10-15 从线上接口真实采集的返回,不是实时查询。创建密钥后可以查询任意 ASIN 或关键词。

用你自己的 ASIN 或关键词查一次

POST/v1/amazon/review200 OK
请求参数
{
  "marketplace": "US",
  "asin": "B08CK5Z5Q1",
  "page": 1,
  "size": 2,
  "stars": [
    1,
    2
  ]
}
响应数据
{
  "request_id": "3abbd602-e5d3-4372-900a-d7cc927f9a31",
  "data": {
    "total": 345,
    "pages": 173,
    "page": 1,
    "size": 2,
    "items": [
      {
        "author": "D…",
        "title": "Do not buy this piece of crap collar",
        "content": "I bought this collar 2 months ago  It is falling apart. The stitches are coming apart. Do not buy this piece of crap collar. I wish I could give this collar a 50 below zero rating<br>",
        "date": 1788710400000,
        "star": 1,
        "authorLabels": null,
        "skus": [
          "Size: Large (Pack of 1)",
          "Color: Teal"
        ],
        "likes": 0,
        "verified": false,
        "vine": false
      },
      {
        "author": "A…",
        "title": "D rings are now plastic - not metal! Very unhappy with this change.",
        "content": "I have purchased this collar in the past and was satisfied, but am returning the two collars I just purchased because the product is not the same now. The Amazon description still says the D ring is made of metal, but the collars I received have plastic D rings which are not acceptable as I believe they are a safety hazard for my large dogs.<br>",
        "date": 1787673600000,
        "star": 1,
        "authorLabels": [
          "Verified Purchase"
        ],
        "skus": [
          "Size: Large (Pack of 1)",
          "Color: Hotpink"
        ],
        "likes": 0,
        "verified": true,
        "vine": false
      }
    ]
  }
}

请求示例

curl --request POST \
  --url https://ecommercedataapi.com/v1/amazon/review \
  --header "Content-Type: application/json" \
  --header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
  --data '{
    "marketplace": "US",
    "asin": "B08CK5Z5Q1",
    "page": 1,
    "size": 20,
    "stars": [1, 2, 3]
  }'
  • asin 必填;marketplace 可选 US、JP、UK、DE、FR、IT、ES、CA、IN、MX、BR、AU、AE。
  • stars 只返回指定星级。[1, 2, 3] 只取差评和中评,分析通常从这里开始。
  • 用 page、size 翻页,返回里带 total 和 pages。

一次真实返回

下面是上面那个请求改成 "stars": [1, 2]、"size": 2 后的真实返回(已精简)。评论人姓名这里做了缩写,接口返回的是 Amazon 上显示的原样。

{
  "request_id": "3abbd602-e5d3-4372-900a-d7cc927f9a31",
  "data": {
    "total": 345,
    "pages": 173,
    "page": 1,
    "size": 2,
    "items": [
      {
        "author": "A…",
        "title": "D rings are now plastic - not metal! Very unhappy with this change.",
        "content": "I have purchased this collar in the past and was satisfied, but am returning the two collars I just purchased because the product is not the same now. …<br>",
        "date": 1787673600000,
        "star": 1,
        "authorLabels": ["Verified Purchase"],
        "skus": ["Size: Large (Pack of 1)", "Color: Hotpink"],
        "images": null,
        "videos": null,
        "likes": 0,
        "image": false,
        "video": false,
        "verified": true,
        "vine": false,
        "free": false,
        "experience": false
      }
    ]
  }
}

有两点值得注意。第一,total 只统计符合 stars 条件的评论,所以这一次调用就告诉你:这个商品有 345 条一星和二星评论。第二,这条评论本身报告了一个产品变化(金属 D 环换成了塑料),任何评分或销量指标都看不出来。评论 API 要挖的就是这种信号。

把一个 ASIN 的差评全部拉下来

一页最多 20 条,page 最大到 100,所以单个星级筛选最多能拿到 2,000 条。要全部拉取,先从第一次返回里读 pages,然后循环:

import os
import requests

URL = "https://ecommercedataapi.com/v1/amazon/review"
HEADERS = {"X-API-Key": os.environ["ECOMMERCE_DATA_API_KEY"]}


def critical_reviews(asin, marketplace="US"):
    page, pages = 1, 1
    while page <= min(pages, 100):
        body = {
            "marketplace": marketplace,
            "asin": asin,
            "stars": [1, 2, 3],
            "page": page,
            "size": 20,
        }
        res = requests.post(URL, json=body, headers=HEADERS, timeout=30)
        res.raise_for_status()
        data = res.json()["data"]
        yield from data["items"]
        pages = data["pages"]
        page += 1

跑之前先算好调用量:每页一次调用,上面那 345 条评论要调 18 次。某个筛选条件下超过 2,000 条时,按星级拆开分别拉(先 [1],再 [2],再 [3])。

常见用法

  1. 找出该改什么。 拉取自己和主要竞品(谁在你的关键词下排名,可以用亚马逊搜索 API 查)的 1–3 星评论,把抱怨分成产品问题、Listing 问题和偶发问题。方法见亚马逊评论怎么分析。
  2. 按变体拆开看。 按 skus 分组。差评集中在某个尺寸或颜色时,多半是那个 SKU 的问题,而不是整条产品线。
  3. 追踪评论历史。 每条评论连同 date 一起存下来,按时间段比较,例如改款前后、换新版 Listing 前后。
  4. 按来源分开统计。 统计好评差评之前,把 verified、vine、free、experience 分开。为什么不能混在一起算见亚马逊评论的四种来源,表格处理见导出评论做分析。

需要知道的边界

  • 一个 ASIN 的评论只是「愿意写评论的买家」这个样本。样本小或有偏时,会放大少见的抱怨,所以数量要和 likes、日期一起看。
  • 父体下的变体共享评论。把某条评论归到具体版本之前,先用商品详情接口核对。
  • 评论是买家的看法,能指出问题,但不能证明原因,也不能作为产品宣称的依据。
  • content 是 Amazon 页面上渲染的原文,可能带 <br> 这类 HTML 换行。统计字数或交给模型之前先去掉。
  • 空字段返回的是 null,不是空数组:评论没有图片、视频或标签时,images、videos、authorLabels 都是 null。
  • 每次成功调用消耗 1 个计费单位。遇到 429 按错误与限流处理。

获取亚马逊评论的其他途径

途径能查任意 ASIN有评论原文说明
Selling Partner API(Customer Feedback)否否向获批开发者提供归纳后的评论话题,不是单条评论
联盟 API(Product Advertising API)否否提供用于生成商品链接的评分信息
自己抓取评论页是是要自己维护解析、代理和验证码处理,页面一改版就失效
本站评论 API是是13 个站点统一的 JSON 格式,可按星级筛选

各个官方 API 在评论方面能返回什么,见通过 API 获取亚马逊评论;自建爬虫和购买数据的对比,见抓取亚马逊的隐性成本。

常见问题

Amazon 有官方的评论 API 吗? Amazon 的卖家 API 和广告 API 都不返回任意商品的评论正文。这个接口可以查询你传入的任何 ASIN 的评论,覆盖上面列出的站点。

能只拿差评吗? 可以,传 "stars": [1, 2] 或 [1, 2, 3]。

一次调用返回多少条? 最多 20 条。用 page 继续往后翻,最多到第 100 页。

会返回商品的平均星级和评论总数吗? 不会。这个接口返回的是单条评论。商品的平均星级和评分总数从商品详情获取。

能让 AI Agent 帮我分析评论吗? 可以。这个接口已通过远程 MCP 服务作为工具提供,Claude Code 或 Cursor 里的 Agent 可以在同一段对话里取评论并做总结。