Get Reviews
curl --request GET \
--url https://scrapebadger.com/v1/amazon/products/{asin}/reviews \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/products/{asin}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/amazon/products/{asin}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/amazon/products/{asin}/reviews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/amazon/products/{asin}/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/amazon/products/{asin}/reviews")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/products/{asin}/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"asin": "B08N5WRWNW",
"domain": "com",
"rating": 4.7,
"ratings_total": 184231,
"rating_breakdown": {
"five_star": 78,
"four_star": 13,
"three_star": 4,
"two_star": 2,
"one_star": 3
},
"reviews": [
{
"id": "R1ABCDEF123456",
"title": "Great little speaker",
"body": "Sound quality is excellent for the size. Setup was quick and Alexa is responsive.",
"rating": 5,
"date_raw": "Reviewed in the United States on May 28, 2026",
"date_utc": 1780012800,
"date_at": "2026-05-28T00:00:00Z",
"review_country": "United States",
"is_global_review": false,
"profile": {
"name": "Jane D.",
"link": "https://www.amazon.com/gp/profile/amzn1.account.ABC",
"id": "amzn1.account.ABC",
"image": "https://m.media-amazon.com/images/S/amazon-avatars/abc.png"
},
"verified_purchase": true,
"vine_program": false,
"helpful_votes": 42,
"variant": "Color: Charcoal",
"images": [
"https://m.media-amazon.com/images/I/71review1.jpg"
]
}
],
"pagination": {
"current_page": 1,
"total_pages": 100,
"total_results": 1000
}
}Products
Get Reviews
Customer reviews for an ASIN (featured + paginated, with filters).
GET
/
v1
/
amazon
/
products
/
{asin}
/
reviews
Get Reviews
curl --request GET \
--url https://scrapebadger.com/v1/amazon/products/{asin}/reviews \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/products/{asin}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/amazon/products/{asin}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/amazon/products/{asin}/reviews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/amazon/products/{asin}/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/amazon/products/{asin}/reviews")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/products/{asin}/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"asin": "B08N5WRWNW",
"domain": "com",
"rating": 4.7,
"ratings_total": 184231,
"rating_breakdown": {
"five_star": 78,
"four_star": 13,
"three_star": 4,
"two_star": 2,
"one_star": 3
},
"reviews": [
{
"id": "R1ABCDEF123456",
"title": "Great little speaker",
"body": "Sound quality is excellent for the size. Setup was quick and Alexa is responsive.",
"rating": 5,
"date_raw": "Reviewed in the United States on May 28, 2026",
"date_utc": 1780012800,
"date_at": "2026-05-28T00:00:00Z",
"review_country": "United States",
"is_global_review": false,
"profile": {
"name": "Jane D.",
"link": "https://www.amazon.com/gp/profile/amzn1.account.ABC",
"id": "amzn1.account.ABC",
"image": "https://m.media-amazon.com/images/S/amazon-avatars/abc.png"
},
"verified_purchase": true,
"vine_program": false,
"helpful_votes": 42,
"variant": "Color: Charcoal",
"images": [
"https://m.media-amazon.com/images/I/71review1.jpg"
]
}
],
"pagination": {
"current_page": 1,
"total_pages": 100,
"total_results": 1000
}
}Path Parameters
string
required
The ASIN of the product to fetch reviews for.
Query Parameters
string
default:"com"
Amazon marketplace TLD or code where the product is listed.Examples:
com, co.uk, deinteger
default:1
Page number for paginated reviews. Starts at
1 and is capped at 20.Amazon exposes roughly 10 reviews per page, so this endpoint returns at most ~200 reviews per product (20 pages). Requesting a page beyond 20 returns no additional reviews.string
default:"helpful"
Sort order for reviews.
| Value | Description |
|---|---|
helpful | Most helpful first (default) |
recent | Most recent first |
string
Filter reviews by star rating or sentiment.
| Value | Description |
|---|---|
one_star … five_star | Reviews with that exact star rating |
positive | Positive reviews (4-5 stars) |
critical | Critical reviews (1-3 stars) |
boolean
default:false
Only return reviews from verified purchases.
boolean
default:false
Only return reviews that include images or video.
Response
string
The ASIN the reviews belong to.
string
Marketplace domain.
number
Overall average product rating.
integer
Total number of ratings for the product.
object
Percentage of ratings per star bucket (
five_star … one_star).array
Array of reviews.
Show Review object
Show Review object
string
Review ID.
string
Review title.
string
Full review text.
integer
Star rating left by the reviewer (1-5).
string
Raw date string as shown on Amazon.
string
ISO 8601 timestamp of the review.
string
Country the review was written in.
object
Reviewer profile:
name, link, id, image.boolean
Whether the review is from a verified purchase.
boolean
Whether the review is part of the Vine program.
integer
Number of helpful votes.
string
Variant the review applies to (nullable).
array
Review image URLs.
object
Pagination metadata with
current_page, total_pages, total_results.Example Response
{
"asin": "B08N5WRWNW",
"domain": "com",
"rating": 4.7,
"ratings_total": 184231,
"rating_breakdown": { "five_star": 78, "four_star": 13, "three_star": 4, "two_star": 2, "one_star": 3 },
"reviews": [
{
"id": "R1ABCDEF123456",
"title": "Great little speaker",
"body": "Sound quality is excellent for the size. Setup was quick and Alexa is responsive.",
"rating": 5,
"date_raw": "Reviewed in the United States on May 28, 2026",
"date_at": "2026-05-28T00:00:00Z",
"review_country": "United States",
"profile": { "name": "Jane D.", "link": "https://www.amazon.com/gp/profile/amzn1.account.ABC", "id": "amzn1.account.ABC", "image": "https://m.media-amazon.com/images/S/amazon-avatars/abc.png" },
"verified_purchase": true,
"vine_program": false,
"helpful_votes": 42,
"variant": "Color: Charcoal",
"images": ["https://m.media-amazon.com/images/I/71review1.jpg"]
}
],
"pagination": { "current_page": 1, "total_pages": 20, "total_results": 200 }
}
Each reviews request costs 10 credits. Amazon exposes a public featured subset of reviews; full review history is login-gated. The
page parameter is capped at 20 (~200 reviews per product) — there is no way to page deeper. Failed requests are not charged.Authorizations
Path Parameters
The ASIN of the product to fetch reviews for.
Query Parameters
Amazon marketplace TLD or code (com, co.uk, de, ...).
Page number for paginated reviews.
Required range:
x >= 1Sort order for reviews.
Available options:
helpful, recent Filter reviews by star rating or sentiment.
Available options:
one_star, two_star, three_star, four_star, five_star, positive, critical Only return reviews from verified purchases.
Only return reviews that include images or video.

