Get Amazon product reviews
TL;DR
About
Amazon's affiliate API will not give you what reviewers wrote. The Creators API, which is replacing the Product Advertising API, covers titles, images, offers and browse nodes, and no reviews. Give this an ASIN and you get the reviews, about 10 at a time, with the variation each buyer reviewed and a verified or Vine flag. Say you sell insulated bottles and a rival's 32 oz model has slid from 4.5 to 4.1 stars in a month. Run it with filterByStar=critical, filterByKeyword=leak and sortBy=recent, page through, and the complaints pile up on one lid variation: the point your own listing should answer first. The catch is the session. With one you read the full US reviews page, every filter, 10 pages deep. Without one you get only the product page's top reviews, a few from other countries mixed in, no filters, and in tests on 2 October about half of fresh cloud browsers got a sign-in prompt instead.
Input
asin required10-char Amazon ASIN.
page optionalReview page to fetch (10 reviews/page; Amazon hard-caps reviews pagination at 10). One page per call; the caller loops for more. Ordering is server-controlled; with sortBy=recent the set can shift between calls as new reviews arrive, so page N is not guaranteed stable under replay (sortBy=helpful is far more stable). Pagination needs a session: an anonymous run can only read the top reviews shown on the product page, which is page 1 only, and page>1 throws there.
Default: 1sortBy optionalrecent = Most recent; helpful = Top reviews. Honoured only when the run has a session; an anonymous run returns the product page's top reviews in Amazon's own order regardless (check `source` in the result).
Default: "recent"zipCode optionalUS ZIP used to pin the store to the US.
Default: "10001"mediaType optionalmedia_reviews_only restricts to reviews with an image or video. Needs a session, and throws on an anonymous run.
Default: "all_contents"filterByStar optionalStar filter. positive/critical group multiple ratings. Needs a session, and throws on an anonymous run.
Default: "all_stars"reviewerType optionalverified_reviews restricts to verified purchases. Needs a session, and throws on an anonymous run.
Default: "all_reviews"filterByKeyword optionalOnly reviews containing this keyword. This filter returns only ratings that include a written review. Needs a session, and throws on an anonymous run.
Output
page requiredReview page this result covers. Always 1 when source=product_page_medley.
source requiredWhich Amazon surface produced this result. reviews_page = the full /product-reviews/ list (needs a session; supports sort, filters and pagination; US store only). product_page_medley = the top-reviews block on the product page, all an anonymous browser can read: page 1 only, no filters, Amazon's own ordering, and it mixes in reviews from other Amazon stores (read `country` per review) where reviews_page returns US only. Sort/filter/pagination arguments throw on this surface rather than being silently dropped. Amazon sometimes serves an anonymous browser the product page without its reviews (rating and star histogram shown, a sign-in prompt in place of the review list); the run then fails with an error saying so instead of returning an empty list, so reviews: [] on this surface means the product really has no written reviews.
product requiredreviews requiredauthenticated requiredWhether the run had a usable Amazon session. False means the result came from the anonymous medley and is thinner BY DESIGN, not by failure: page 1 of top reviews only.
Example output
Shape only: placeholder values generated from the output schema, not a real run.
{
"page": 1,
"source": "reviews_page",
"product": {
"asin": "…",
"title": "Example",
"reviewCount": 3,
"totalRatings": 3,
"overallRating": 3.5,
"starBreakdown": {
"one_star": 3,
"two_star": 3,
"five_star": 3,
"four_star": 3,
"three_star": 3
}
},
"reviews": [
{
"id": "abc123",
"date": "2026-01-15T09:30:00Z",
"text": "…",
"vine": true,
"title": "Example",
"images": [
"…"
],
"rating": 3.5,
"videos": [
"…"
],
"country": 3,
"dateText": "…",
"reviewer": "…",
"variation": "…",
"helpfulVotes": 3,
"verifiedPurchase": true
}
],
"authenticated": true
}