TikTok Shop Reviews Scraper — full archive avatar

TikTok Shop Reviews Scraper — full archive

Pricing

from $1.58 / 1,000 reviews

Go to Apify Store
TikTok Shop Reviews Scraper — full archive

TikTok Shop Reviews Scraper — full archive

Every review on a US TikTok Shop product, paginated to the full archive: star rating, text, images, reviewer, SKU, country, verified-purchase and incentivised flags. The run tells you how big the archive is before it walks it. No login, no browser.

Pricing

from $1.58 / 1,000 reviews

Rating

0.0

(0)

Developer

Mu0i

Mu0i

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

2 days ago

Last modified

Share

TikTok Shop Reviews Scraper — full archive

Every review on a US TikTok Shop product, paginated to the full archive, as flat dataset rows. No login, no cookies, no browser.

How to use

  1. Click Try for free at the top of this page. Apify creates a free account if you do not have one — no card is needed to run this.
  2. Put what you want scraped into Product URLs or IDs — one per line.
  3. Set Max reviews per product to bound the run, then press Start. You are billed per row, so this field is also your budget.
  4. Rows show up in the Dataset tab while the run is still going. Export to JSON, CSV, Excel or XML from there, or read them over the API.

The run logs the product's real archive size against your cap before it starts walking, so you can stop a run whose bill would surprise you.

Input

FieldDescription
productUrlsUS product-detail URLs (https://shop.tiktok.com/us/pdp/x/173… or https://www.tiktok.com/view/product/173…) or bare numeric product IDs, one per line.
maxReviewsPerProductStops each product's walk at this many reviews. This is what bounds the run's cost. Default 200.
proxyConfigurationThe proxy reviews are fetched through — must be a US IP. Apify Residential (country US) recommended.

Every field, with its default — paste the whole block and delete what you do not need:

{
"productUrls": [
"https://shop.tiktok.com/us/pdp/x/1732380240216887840"
],
"maxReviewsPerProduct": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
}
}

Output

One row per review:

field
productId, reviewId
rating1–5
textthe review body
createdAtwhen it was posted, ISO-8601 — the same field name and format every other Actor here dates rows with, so datasets join without a conversion step
verifiedPurchase, incentivized
reviewer, country
skuthe variant the reviewer bought
images[]review photos, when the reviewer posted any

One row, exactly as it lands in your dataset (long signed CDN links shortened here for readability):

{
"productId": "1732094657651118278",
"reviewId": "7653959114060187405",
"rating": 4,
"text": "Braw fits perfect. Holds girls in place, great quality. For someone with big hearts, finding the right braw has always been an issue. First braw I bought a few months ago and I just got this pack of 4 …",
"createdAt": "2026-06-21T21:11:06.375Z",
"verifiedPurchase": true,
"incentivized": false,
"reviewer": "N**y",
"country": "US",
"sku": "Black+Dusty Peach+Light Coral+Dark Gray, 36DD",
"images": [
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-…?…",
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-…?…",
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-…?…"
]
}

Run it from your own code

Every Actor is an API endpoint. This starts a run, waits for it, and returns the rows in one call — swap in your token from Settings → Integrations:

curl -X POST 'https://api.apify.com/v2/acts/mu0i~tiktok-shop-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"productUrls": [
"https://shop.tiktok.com/us/pdp/x/1732380240216887840"
],
"maxReviewsPerProduct": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
}
}'

Pricing

EventPer 1,000What one unit is
review$3.50one review in the dataset

Paid Apify plans pay less than this. The table above is the free-plan rate. Starter, Scale and Business each get a lower per-unit price — up to 55% off on Business — and the Actor's Pricing tab shows every tier before you run anything.

Starting a run costs $0.00001 — a cent per thousand runs — and there is no run minimum. You are never billed for a run that found nothing. If an input has nothing to collect the run says so in a row of the dataset — never a silently empty result, and never a charge. A run that fails because the data could not be reached fails loudly, because that one is worth retrying.

Billed per review — so the size of the archive is the size of the bill, and archives vary far more than people expect. Measured across 130 products: the median has 134 reviews, but one in ten has more than 8,800, and the largest seen had 55,021.

A product withYou are charged forAt $3.50 / 1,000
134 reviews (typical)134~$0.47
1,000 reviews1,000$3.50
8,800 reviews (top 10%)8,800~$31
55,000 reviews (largest seen)55,000~$193

maxReviewsPerProduct is what bounds this, and it defaults to 200 for that reason. Raise it when you want the full archive — the run logs each product's real archive size on its first page, so you can see what a larger cap would cost before you set one. Your run budget (maxTotalChargeUsd) is the hard stop either way.

Notes

  • Review images are included — many review scrapers return text only.
  • How many reviews a product has is set by TikTok, and it varies a lot by product. One product measured ~400, another ~3,800. The Actor returns everything the public feed exposes, up to maxReviewsPerProduct.
  • A product with no public reviews returns no rows for that product and logs why; other products in the same run are unaffected.
  • Reviews are fetched through a US proxy because TikTok serves the US storefront by the visitor's country.
  • Only public data. There is no login, so anything TikTok hides from a logged-out visitor is not available here.

Fourteen Actors covering the whole public TikTok surface. Same billing rules and the same guarantees throughout: billed once for each row you receive, never billed for a run that found nothing, and told in the dataset why it found nothing.

ActorWhat it does
TikTok Search Scraper — videos, users, hashtagsKeyword search across every tab, deduplicated.
TikTok Hashtag Scraper — videos by hashtagEvery video under a hashtag, walked deep.
TikTok Trending Scraper — the real Explore feedThe app's real Explore feed, not Creative Center.
TikTok Profile Scraper — followers, likes, bioFollowers, likes, bio for any public account.
TikTok User Posts Scraper — every video + statsEvery video an account posted, with stats.
TikTok Comments Scraper — replies, no duplicatesEvery comment and reply, no duplicate pages.
TikTok Video Downloader — no watermark MP4/MP3No-watermark MP4, MP3, covers and subtitles.
TikTok Transcript Scraper — no AI, no waitingSubtitles from TikTok's own caption track.
TikTok Sound Scraper — videos using a soundVideos that actually use a sound, filtered.
TikTok Live Scraper — rooms, viewers, streamsLive rooms with playable stream links.
TikTok Places Scraper — locations and reviewsLocations with addresses, coordinates and reviews.
TikTok Shop Scraper — Products, Sellers & ReviewsShop search, product detail, seller catalogue.
TikTok Shop Category Scraper — every productEvery product in a Shop category and its subcategories.