Get listing reviews
curl --request GET \
--url https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/etsy/listings/{listing_id}/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/etsy/listings/{listing_id}/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: <x-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/etsy/listings/{listing_id}/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-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/etsy/listings/{listing_id}/reviews")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodyEtsy endpoints
Get listing reviews
Get listing reviews.
GET
/
v1
/
etsy
/
listings
/
{listing_id}
/
reviews
Get listing reviews
curl --request GET \
--url https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/etsy/listings/{listing_id}/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/etsy/listings/{listing_id}/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: <x-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/etsy/listings/{listing_id}/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-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/etsy/listings/{listing_id}/reviews")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/etsy/listings/{listing_id}/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodyGet listing reviews.
Credits: 20 per successful request. Failed requests and empty result sets are not charged.
Browse all Etsy endpoints.
Authentication
string
required
Your ScrapeBadger API key.
Parameters
string
required
Listing id.
integer
default:"1"
Page. Minimum: 1. Maximum: 10000.
string
default:"Relevancy"
Sort. Allowed values:
Relevancy, Recency, Highest, Lowest.string
default:"US"
Country.
string
default:"USD"
Currency.
string
default:"en-US"
Language.
Response
{
"listing_id": "4569788202",
"reviews": [
{
"review_id": "5219052744",
"rating": 5.0,
"text": "Fast and secure shipping for a fragile item. The mug is fantastic quality and my partner loves it. Thank You so much!",
"author": "Mike",
"author_url": "https://www.etsy.com/people/h3i71ex2uwlhlmtj?ref=l_review",
"created_utc": 1790380800.0,
"created_at": "2026-09-26T00:00:00Z",
"listing_id": "4569788202",
"listing_title": "Handmade Mushroom meadow mug ceramic",
"listing_url": "https://www.etsy.com/listing/4569788202/handmade-mushroom-meadow-mug-ceramic?ref=reviews",
"seller_response": null,
"images": [
"https://i.etsystatic.com/iap/277b5a/8580993596/iap_300x300.8580993596_6q2sakpp.jpg?version=0"
],
"author_avatar": null,
"translated_text": null,
"translation_context": {
"canTranslateReview": false,
"canTranslateResponse": false,
"targetLanguageCode": "en",
"targetLanguageName": "English"
},
"original": {
"transactionId": 5219052744,
"reviewInfo": {
"isRecommended": null,
"rating": 5,
"reviewDate": "Sep 26, 2026",
"shouldShowVariations": false,
"shouldShowTransactionData": false,
"transactionData": {
"listingTitle": "Handmade Mushroom meadow mug ceramic",
"listingUrl": "/listing/4569788202/handmade-mushroom-meadow-mug-ceramic?ref=reviews"
}
},
"buyerInfo": {
"name": "Mike",
"isAnonymous": false,
"isInactive": false,
"profileUrl": "https://www.etsy.com/people/h3i71ex2uwlhlmtj?ref=l_review",
"avatarUrl": null
},
"reviewContent": {
"appreciationPhotoUrl": "https://i.etsystatic.com/iap/277b5a/8580993596/iap_300x300.8580993596_6q2sakpp.jpg?version=0",
"reviewText": "Fast and secure shipping for a fragile item. The mug is fantastic quality and my partner loves it. Thank You so much!",
"emphasizedText": [],
"reviewTextTranslated": null,
"translationAttributionMessage": null
},
"sellerResponse": null,
"translationContext": {
"canTranslateReview": false,
"canTranslateResponse": false,
"targetLanguageCode": "en",
"targetLanguageName": "English"
}
}
}
],
"page": 1,
"total_results": 1,
"total_pages": 1,
"average_rating": 5,
"rating_counts": {
"5": 1,
"4": 0,
"3": 0,
"2": 0,
"1": 0,
"All": 1
},
"tag_filters": []
}
Example
curl --get 'https://scrapebadger.com/v1/etsy/listings/4569788202/reviews' \
--header 'X-API-Key: YOUR_API_KEY'

