Skip to content

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

NameTypeRequiredDescriptionExample
urlstringnoThe 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_idstringnoThe ID of the product (required if url is not provided)1731578642912612516
regionstringnoThe region of the product. This is very important.US
pagenumbernoThe page number of the reviews1

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 --help

Example 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

StatusMeaningAction
200Success.Use the JSON payload.
400Invalid or missing parameter.Verify required parameters and value format.
401Missing or invalid x-api-key.Pass a valid API key in the header.
402Out of credits.Top up at scrapecreators.com or wait for plan reset.
404Resource not found or private.Confirm the handle, URL, or id and that the resource is public.
429Rate limited.Backoff and retry with exponential delay.
500Server error or upstream platform failure.Retry with backoff; report persistent errors to support.