TikTok Shop Reviews Scraper avatar

TikTok Shop Reviews Scraper

Pricing

from $1.40 / 1,000 review collecteds

Go to Apify Store
TikTok Shop Reviews Scraper

TikTok Shop Reviews Scraper

Collect public TikTok Shop reviews by product link, product ID, search keyword, or seller page. Filter by star rating, photos, or verified purchase. Save rows in an Apify dataset with the rating, product, and any text, date, reviewer, purchase, or variant details that TikTok Shop shows.

Pricing

from $1.40 / 1,000 review collecteds

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

1

Bookmarked

43

Total users

24

Monthly active users

2 days ago

Last modified

Share

🛍️ TikTok Shop review research for product teams

For ecommerce sellers, product researchers, and developers, this Actor collects public TikTok Shop review rows from product page links, bare product IDs, a search keyword, or a seller or shop page. No TikTok account or login is needed. Each row gives the rating, review text when present, publication time, product context, media links, and public reviewer, purchase, and variant details. Use the rows to compare customer feedback, check product issues, and study reviews before a product decision.

Use cases

🧾 TikTok Shop review rows with product context

Each saved row is one public review tied to its product. It can include the review ID, product name and link, overall rating, star distribution, matching review count, review rating, text, publication time, photo links, public reviewer details, purchase signals, and purchased variant details. Price, sold count, shipping fee, and shop details appear for the US storefront when TikTok Shop provides them. Other optional values are included when TikTok Shop exposes them. A rating-only review can omit text and still has its rating.

The media array is empty when no photo was shown for the review. The Actor collects public review data only. It does not promise private or login-only reviews.

▶️ Run focused TikTok Shop review collections

Choose how the Actor finds reviews with discoveryMethod. Use productTargets for product page links or bare numeric product IDs, searchKeyword for one search keyword, or shopUrl for one seller or shop page. Choose the storefront that matches your product links or IDs, then choose the review order and any rating, photo, or verified-purchase filters. You can submit up to 500 target values in one run.

Set a review limit when you need fewer reviews for each product. Leave it empty to return all available reviews until the source is exhausted. Filters and a limit can reduce the number of reviews saved when you need a smaller collection.

Rows are saved as they are collected. If TikTok Shop is temporarily unavailable, the run keeps the rows it already saved, so you can use them or retry later.

Run steps

  1. Choose how to find reviews, then add TikTok Shop product page links, bare numeric product IDs, one search keyword, or one seller or shop page.
  2. For product links or IDs, choose a supported storefront.
  3. Set any review filters, order, or per-product limit.
  4. Start the run and open the default dataset from the output.

⚙️ Input

Choose one way to find reviews with discoveryMethod. The default is products, which uses productTargets. Fill only the field for the way you choose, and leave the other method fields empty. The other fields are optional and use the defaults shown in the form.

Input fields

FieldTypeWhat it does
discoveryMethodstringChooses how to find reviews: products for product page links or IDs, keyword for one TikTok Shop search keyword, or shop for one TikTok Shop seller or shop URL. The default is products.
productTargetsarray of stringsUsed with products. Accepts TikTok Shop product page links or bare numeric product IDs. Add 1 to 500 target values in one run.
searchKeywordstringUsed with keyword. Enter one TikTok Shop search keyword. The Actor finds products for it on the US storefront and collects their reviews.
shopUrlstringUsed with shop. Enter one seller's store page link on the US storefront, such as https://shop.tiktok.com/us/store/<store-name>/<seller-id>. The Actor reads that page, finds the seller's products, and collects their reviews.
storefrontstringChooses the TikTok Shop region for product links or IDs: US, SG, PH, TH, VN, or ID. The default is US. Keyword searches and seller or shop URLs always use the US storefront.
starRatingFilterstringUses any, one exact rating from exact-1 through exact-5, or one minimum rating from minimum-1 through minimum-5. The default is any.
mediaOnlybooleanWhen true, returns only reviews with attached photos.
verifiedPurchaseOnlybooleanWhen true, returns only reviews that TikTok marks as verified purchases.
reviewLimitintegerSets the maximum number of reviews for each product. Leave it empty to return all available reviews until the source is exhausted. If set, it must be at least 1.
reviewOrderstringUses recommended for source-recommended order (default), newest for newest first, highest-rated for 5-star reviews first, or lowest-rated for 1-star reviews first.

Default input

This is the public input from the successful default-input run. It uses a 100-review limit for the product.

{
"discoveryMethod": "products",
"productTargets": [
"https://shop.tiktok.com/us/pdp/riffmaster-wireless-guitar-controller-by-pdp-lightweight-design-easy-connectivity/1731043373753405773"
],
"storefront": "US",
"starRatingFilter": "any",
"reviewOrder": "recommended",
"reviewLimit": 100
}

🧾 Output

The run output contains a link to the collected review rows in the default Apify dataset.

Run output

FieldTypeWhat it does
datasetstringOpens the collected TikTok Shop review rows.

Each dataset row uses one review shape. reviewId, product, rating, and media are required. text, publishedAt, some product details, reviewer details, purchase signals, and variant details can be missing when the public source does not expose them.

Review row fields

FieldTypeWhat it does
reviewIdstringTikTok Shop identifier for the review.
productobjectProduct context attached to the review.
product.idstringTikTok Shop product identifier.
product.namestringProduct name shown by TikTok Shop.
product.urlURL stringTikTok Shop page for the product.
product.pricenumberLowest variant price in US dollars. Shown only for the US storefront when TikTok Shop provides it.
product.soldCountintegerUnits sold that TikTok Shop shows for the product. Shown only for the US storefront when TikTok Shop provides it.
product.shippingFeenumberShipping fee in US dollars that TikTok Shop shows for the product. Shown only for the US storefront when TikTok Shop provides it.
product.overallRatingnumberOverall product rating on a 0 to 5 scale, when provided.
product.ratingDistributionobjectReview counts for each star rating for the product.
product.ratingDistribution.oneStarintegerNumber of one-star reviews.
product.ratingDistribution.twoStarintegerNumber of two-star reviews.
product.ratingDistribution.threeStarintegerNumber of three-star reviews.
product.ratingDistribution.fourStarintegerNumber of four-star reviews.
product.ratingDistribution.fiveStarintegerNumber of five-star reviews.
product.matchingReviewCountintegerNumber of product reviews that match the active filters, when TikTok Shop provides it.
product.shopobjectShop that sells the product. Shown only for the US storefront when TikTok Shop provides it.
product.shop.idstringShop identifier shown by TikTok Shop.
product.shop.namestringShop name shown by TikTok Shop.
product.shop.urlURL stringTikTok Shop page for the shop.
product.shop.ratingnumberOverall shop rating shown by TikTok Shop.
product.shop.followerCountintegerNumber of shop followers shown by TikTok Shop.
ratingintegerReview star rating from 1 to 5.
textstringWritten review text when the reviewer added text. It can be omitted for a rating-only review.
publishedAtISO 8601 date-time stringTime when the review was published, with a time zone.
mediaarray of objectsPhotos attached to the review. An empty array means no photo was shown.
media[].urlURL stringDirect source link for an attached photo.
media[].typestringMedia kind. The value is image.
reviewerobjectPublic reviewer details when available.
reviewer.namestringReviewer name shown by TikTok Shop.
reviewer.accountIdstringPublic reviewer account identifier shown by TikTok Shop.
reviewer.avatarUrlURL stringDirect link to the reviewer's public avatar.
reviewer.countrystringReviewer country shown by TikTok Shop.
purchaseobjectPurchase signals shown with the review when available.
purchase.isVerifiedPurchasebooleanWhether TikTok marks the review as a verified purchase.
purchase.isIncentivizedbooleanWhether TikTok marks the review as incentivized.
variantobjectPurchased SKU or variant details when available.
variant.skustringPurchased SKU shown by TikTok Shop.
variant.namestringPurchased variant name.
variant.attributesobject of stringsOption values that define the purchased variant, such as platform, size, or color.
variant.attributes.<option>stringValue for one variant option. The option name comes from the source.

Example review row

This complete row is from a successful run for the default input above. That run returned 100 rows.

{
"reviewId": "7646261979922056974",
"product": {
"id": "1731043373753405773",
"name": "PDP Riffmaster Wireless Guitar Controller - Collapsible, Low Latency, 30-Foot Low Latency Wireless Connection, Audio Controls, 3.5mm Audio Jack, Guitar Strap, Rechargeable Battery, Analog Stick, Home Storage Compatible for Fortnite Festival, Rock Band 4",
"url": "https://shop.tiktok.com/us/pdp/riffmaster-wireless-guitar-controller-by-pdp-lightweight-design-easy-connectivity/1731043373753405773",
"price": 194.99,
"soldCount": 94,
"shippingFee": 0,
"shop": {
"id": "7496094614759442765",
"name": "Turtle Beach Gaming",
"url": "https://shop.tiktok.com/us/store/turtle-beach-gaming/7496094614759442765",
"rating": 4.5,
"followerCount": 693608
},
"overallRating": 4.7,
"ratingDistribution": {
"oneStar": 2,
"twoStar": 0,
"threeStar": 1,
"fourStar": 37,
"fiveStar": 108
},
"matchingReviewCount": 148
},
"rating": 1,
"publishedAt": "2026-06-01T03:21:56.027Z",
"media": [
{
"url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/fac5bbca79bd4a7fb29bea64938f597d~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=555f072d&ps=933b5bde&shp=8dbd94bf&shcp=607f11de&idc=useast5&from=2378011839",
"type": "image"
}
],
"text": "Literally not what I ordered. Now I gotta return it back, get a refund, and try and purchase the guitar again HOPING they get it right this time smh.",
"reviewer": {
"name": "U**J",
"accountId": "6873921462563701766",
"avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/107674e902517e3894d08ea3b5007fd3~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=61d1c997&x-expires=1792584000&x-signature=dPk62NCPSDa4ZvepqNhS66f8F8o%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5",
"country": "US"
},
"purchase": {
"isVerifiedPurchase": true,
"isIncentivized": false
},
"variant": {
"sku": "1731043397250683213",
"name": "PlayStation",
"attributes": {
"Platform": "PlayStation"
}
}
}

💳 Pricing

Billing event

The review-collected event covers one review saved to your dataset. Its price depends on the Apify pricing tier shown in the Actor settings. A run that saves no review has no review-collected charge.

🔌 Integrations

Use the default dataset link in the run output, download the collected data from Apify, or read it through the Apify API.

Learn more about using Actors with integrations:

❓ FAQ

What happens if TikTok Shop is temporarily unavailable?

The run keeps the rows it already saved. Use those rows when they help, then retry later if you need more reviews.

Can I submit a product URL and a bare product ID?

Yes. Keep discoveryMethod on products, add either value to productTargets, and you can mix both forms in the same run. Submit up to 500 target values.

Yes. Set discoveryMethod to keyword, then enter one TikTok Shop search keyword in searchKeyword. The Actor finds products for that keyword on the US storefront and collects their reviews. Each run takes one keyword, so run separate searches for other keywords.

What happens when I leave the review limit empty?

The Actor returns all available matching reviews until the source is exhausted. A smaller count can mean that the public matching pool is smaller or that active filters found fewer reviews. product.matchingReviewCount shows the number of reviews that match the active filters, when TikTok Shop provides it.

Can I collect one exact rating or a minimum rating?

Yes. Choose one exact star rating or a minimum star rating in starRatingFilter. Use any when you want all ratings.

Can I combine rating, photo, and verified-purchase filters?

Yes. You can use the star rating choice together with mediaOnly and verifiedPurchaseOnly. The saved rows meet the active filter choices.

Why is text missing from some reviews?

TikTok Shop can show a star rating without written text. Those rating-only reviews keep their rating, while text can be omitted.

What does an empty media array mean?

It means that no photo was shown with that review.

What if reviewer, purchase, or variant details are missing?

Those objects and their fields are optional. They appear when TikTok Shop exposes the public details, and private account data is not collected.

Which storefront should I choose?

Choose the storefront that matches the product page and the market you want to read. The Actor supports only US, SG, PH, TH, VN, and ID. Keyword searches and seller or shop URLs always use the US storefront.

How do I read the collected data after a run?

Open the dataset link in the run output. You can also use the Apify API to read the dataset items.

📝 Changelog

v1.1 (19-10-2026)

  • For product link or ID runs, adds the shop name to the product details on the US storefront when TikTok Shop provides it.
  • Fixes repeated reviews and repeated charges when a timed-out run is resumed. Reviews saved earlier are skipped.
  • In a resumed run, reviews saved earlier count toward each product's review limit.
  • Saves a review once when more than one product in the same run shows it.
  • For non-US storefronts, a product that is not available there now stops at once with a warning instead of being retried.
  • Warnings name each product by its ID instead of a cut-off link.
  • Fixes the product link for Indonesia products so it points to the TikTok Shop product page.
  • For one-product runs, the review total in the log stops at your review limit.
  • Runs that reach their charge limit now log that they are stopping and return the results collected so far.

v1.0 (17-10-2026)

  • Breaking change: storefront choices are now US, SG, PH, TH, VN, and ID. GB, MY, JP, and MX are removed. If a product link or ID run still uses one of them, it returns no reviews.
  • Breaking change: when mediaOnly is on, reviews with only videos are left out. The media field now lists photo links only. Video links are no longer returned.
  • Search for products by one keyword with discoveryMethod set to keyword. Keyword searches use the US storefront.
  • Collect reviews from one seller or shop page with discoveryMethod set to shop. Seller and shop pages use the US storefront.
  • Sort each product's reviews by highest rated first or lowest rated first.
  • Adds a review ID to each row.
  • Adds product price, sold count, shipping fee, and shop details for the US storefront when TikTok Shop provides them.
  • Fixes progress log lines for one-product runs. The log shows the review total when TikTok Shop reports it. Runs with mediaOnly or verifiedPurchaseOnly turned on show no total.
  • Reliability improvements.

v0.1 (03-09-2026)

  • Applies minimum star rating filters to the review request.
  • Keeps reviews collected before a temporary TikTok Shop access problem and reports the interruption.
  • Supports the current TikTok Shop product pages for supported storefronts.

v0.0

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré