apiwren
Amazon Data API · GET /seller-reviews

Amazon seller feedback API

GET /seller-reviews returns the buyer feedback on a third-party seller’s Amazon profile, newest first: star rating, comment, rater name, date as YYYY-MM-DD plus Amazon’s original wording, and whether Amazon struck the feedback through, with its reason. Each call returns about 5 entries; pass next_cursor back as cursor to read further back.

Part of Amazon Data API, sold on RapidAPI with a free plan of 100 requests a month. Endpoint details checked 2026-11-03.

Get a free key on RapidAPIAll 17 endpoints

What GET /seller-reviews returns

Buyer feedback for one third-party seller, newest first: star rating, comment, rater name, date (YYYY-MM-DD plus Amazon's original text), and whether Amazon struck the feedback through with its reason. The first call returns the newest feedback (usually 5 entries); pass `next_cursor` back as `cursor` for the next page. `next_cursor` is null on the last page. Every response is checked to come from the requested marketplace. Marketplaces where the seller page cannot be read return 400 country_unavailable.

Parameters

NameRequiredValuesNotes
seller_idyesmatches ^[A-Za-z0-9]{10,16}$Amazon seller ID, 10 to 16 letters and digits.
cursornostringThe `next_cursor` value from the previous response. Omit it for the first page.
countrynoUS, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZAAmazon marketplace, as an ISO country code. GB is amazon.co.uk. Default US (amazon.com). Not available on BE, IE, SG, ZA (returns 400 country_unavailable).

Example request

Every parameter that has an example, with country set explicitly. Send your key in X-RapidAPI-Key.

curl --request GET \
  --url 'https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/seller-reviews?seller_id=A294P4X9EWVXLJ&country=US' \
  --header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  --header 'X-RapidAPI-Host: amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com'
import requests

resp = requests.get(
    "https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/seller-reviews",
    params={"seller_id": "A294P4X9EWVXLJ", "country": "US"},
    headers={
        "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
        "X-RapidAPI-Host": "amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com",
    },
    timeout=30,
)
resp.raise_for_status()
body = resp.json()
if "error" in body:  # bad input or not found: HTTP 200 with an error body
    raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
print(body["data"])
const url = new URL('https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/seller-reviews');
url.search = new URLSearchParams({ seller_id: 'A294P4X9EWVXLJ', country: 'US' });

const res = await fetch(url, {
  headers: {
    'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
    'X-RapidAPI-Host': 'amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com',
  },
});
const { data, meta } = await res.json();
console.log(data, meta.fetched_at);

Example response

A recorded response, shortened to 3 items per list.

200 OK
{
  "data": {
    "seller_id": "A294P4X9EWVXLJ",
    "reviews": [
      {
        "rating": 5,
        "text": "Great product, at a great price",
        "rater": "Timothy Magnuson",
        "date": "2026-10-26",
        "date_text": "October 26, 2026",
        "is_suppressed": false,
        "suppress_reason": null
      },
      {
        "rating": 5,
        "text": "Nice charger. Speedy delivery",
        "rater": "Pat E",
        "date": "2026-10-26",
        "date_text": "October 26, 2026",
        "is_suppressed": false,
        "suppress_reason": null
      }
    ],
    "next_cursor": "eyJlbmNyeXB0ZWRSYXRlZUlkIjp7IlMiOiJBMjk0UDRYOUVXVlhMSiJ9LCJmZWVkYmFja0lkIjp7Ik4iOiIyMTEwNTUxMjEzMCJ9LCJmZWVkYmFja0RhdGVVdGNFcG9jaCI6eyJOIjoiMTc5Mjk5OTk2Mzc0MyJ9fQ=="
  },
  "meta": {
    "country": "US",
    "cached": false,
    "fetched_at": "2026-10-26T09:00:00.000Z"
  }
}

What people use it for

FAQ

How do I get more than one page of seller feedback?
Each response has next_cursor. Call again with cursor set to that value for older feedback. next_cursor is null on the last page. A cursor only works with the seller_id it came from.
What does is_suppressed mean?
Amazon strikes through feedback it takes responsibility for, usually because Amazon fulfilled the order. is_suppressed is true for those entries and suppress_reason has Amazon’s message.
Which marketplaces are supported?
All except Belgium (BE), Ireland (IE), Singapore (SG) and South Africa (ZA), which return 400 country_unavailable.

Related endpoints

See all 17 endpoints and 23 marketplaces on the Amazon product API page.

Try GET /seller-reviews. The free plan covers 100 requests a month.

Get Amazon Data API on RapidAPI