Appearance
Product Reviews
GET /v1/tiktok/shop/product/reviews
Fetches customer reviews for a TikTok Shop product by URL or product_id. Returns product_reviews, an array of review objects each with rating, display_text, review_timestamp_fmt, review_user (name, avatar), and sku_specification (variant purchased); also returns total_reviews count and rating_distribution. Paginate with page.
Authentication
All requests require the x-api-key header. Get your key at scrapecreators.com.
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
url | string | no | The URL of the product (required if product_id is not provided) | https://www.tiktok.com/shop/pdp/cat-nail-clipper-by-potaroma-adjustable-sizes-built-in-file-safe-for-kittens-cats/1731578642912612516 |
product_id | string | no | The ID of the product (required if url is not provided) | 1731578642912612516 |
region | string | no | The region of the product. This is very important. | US |
page | number | no | The page number of the reviews | 1 |
Example Request
curl
bash
curl 'https://api.scrapecreators.com/v1/tiktok/shop/product/reviews' \
-H 'x-api-key: $SCRAPECREATORS_API_KEY'Node / TypeScript
js
const params = new URLSearchParams({ });
const res = await fetch(`https://api.scrapecreators.com/v1/tiktok/shop/product/reviews?${params}`, {
headers: { 'x-api-key': process.env.SCRAPECREATORS_API_KEY }
});
const data = await res.json();
console.log(data);Python
python
import os, requests
r = requests.get(
'https://api.scrapecreators.com/v1/tiktok/shop/product/reviews',
headers={'x-api-key': os.environ['SCRAPECREATORS_API_KEY']},
params={},
)
r.raise_for_status()
print(r.json())CLI
bash
scrapecreators tiktok-shop shop-product-reviews --helpExample Response
json
{
"success": true,
"credits_remaining": 33701168,
"has_more": true,
"total_reviews": "5967",
"product_reviews": [
{
"review_id": "7449648277383333678",
"product_id": "1729412793274503379",
"sku_id": "1729480195115684051",
"reviewer_id": "7118466497416561707",
"review_rating": 4,
"review_time": "1734506431877",
"is_verified_purchase": true,
"is_incentivized_review": false,
"product_name": "OLOV Beard/Hair Shaver for Men - All-in-One Mens Grooming Kit with Trimmer for Beard, Nose, face, Cordless Hair Clippers Electric Razor, Black Comfort",
"reviewer_name": "W**n",
"reviewer_avatar_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/8a5ef54ee47fd27614d4d576879cd630~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=6e5d3b6e&x-expires=1771009200&x-signature=1HE0d6u3ZL2NY%2FWG88r8zUltKS4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5",
"review_text": "Product arrived intact no issues. Love all the attachments. Cuts very very well. Charges quick and efficiently. The only reason I gave a 4 was listening to the reels it’s supposed to be nip free. That was a lie, I nipped my balls and that’s not fun. I took pics other than that great product.",
"display_image_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/c9460bee85df472a8455f33df693cb8d~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=555f072d&ps=933b5bde&shp=8dbd94bf&shcp=607f11de&idc=useast5&from=2378011839",
"review_images": [
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/c9460bee85df472a8455f33df693cb8d~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=555f072d&ps=933b5bde&shp=8dbd94bf&shcp=607f11de&idc=useast5&from=2378011839"
],
"sku_specification": "Black",
"review_country": "US"
}
],
"review_ratings": {
"review_count": "5967",
"overall_score": 4.4,
"rating_result": {
"1": "475",
"2": "161",
"3": "289",
"4": "740",
"5": "4302"
}
}
}Credits
Most ScrapeCreators endpoints consume 1 credit per successful response. Some heavier endpoints (transcripts, AI-driven enrichment, ad detail lookups) may cost more. Check GET /v1/credit-balance for your remaining balance.
Errors
| Status | Meaning | Action |
|---|---|---|
| 200 | Success. | Use the JSON payload. |
| 400 | Invalid or missing parameter. | Verify required parameters and value format. |
| 401 | Missing or invalid x-api-key. | Pass a valid API key in the header. |
| 402 | Out of credits. | Top up at scrapecreators.com or wait for plan reset. |
| 404 | Resource not found or private. | Confirm the handle, URL, or id and that the resource is public. |
| 429 | Rate limited. | Backoff and retry with exponential delay. |
| 500 | Server error or upstream platform failure. | Retry with backoff; report persistent errors to support. |