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 from product page links or bare product IDs. Filter by star rating, photos or video, and verified purchase, then review product, reviewer, purchase, and variant details in an Apify dataset.

Pricing

from $1.40 / 1,000 review collecteds

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

3 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 or bare product IDs. 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 product name and link, overall rating, star distribution, matching review count, review rating, text, publication time, media links, public reviewer details, purchase signals, and purchased variant details. 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 or video 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

Add product page links or bare numeric product IDs to productTargets. Choose the storefront that matches the product pages, then choose the review order and any rating, media, 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.

Run steps

  1. Add one or more TikTok Shop product page links or bare numeric product IDs.
  2. 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

The required field is productTargets. The other fields are optional and use the defaults shown in the form.

Input fields

FieldTypeWhat it does
productTargetsarray of stringsRequired. Accepts TikTok Shop product page links or bare numeric product IDs. Add 1 to 500 target values in one run.
storefrontstringChooses the source storefront: US, GB, SG, MY, PH, TH, VN, ID, JP, or MX. The default is US.
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 or videos.
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 source-recommended order with recommended or newest-first order with newest. The default is recommended.

Default input

This is the public input from a successful default-input run. Because reviewLimit is empty, the run returns all available reviews until the source is exhausted.

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

🧾 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. product, rating, publishedAt, and media are required. text, some product summary values, reviewer details, purchase signals, and variant details can be missing when the public source does not expose them.

Review row fields

FieldTypeWhat it does
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.overallRatingnumberOverall product rating on a 0 to 5 scale, when provided.
product.ratingDistributionobjectCounts of the product's one-star through five-star reviews.
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 matching the active filters, when provided.
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 or videos attached to the review. An empty array means no media was shown.
media[].urlURL stringDirect source link for an attached photo or video.
media[].typestringMedia kind: image or video.
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 the successful default-input run above. That run returned 129 rows.

{
"product": {
"id": "1731043373753405773",
"name": "PDP Riffmaster Wireless Guitar Controller with Guitar Strap, Shoulder Strap, Rechargeable Battery, Analog Stick, Home Storage Compatibility for Fortnite Festival, Rock Band 4",
"url": "https://shop.tiktok.com/us/pdp/riffmaster-wireless-guitar-controller-by-pdp-lightweight-design-easy-connectivity/1731043373753405773",
"overallRating": 4.7,
"ratingDistribution": {
"oneStar": 1,
"twoStar": 0,
"threeStar": 0,
"fourStar": 34,
"fiveStar": 94
},
"matchingReviewCount": 129
},
"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://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/107674e902517e3894d08ea3b5007fd3~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=5a6f5068&x-expires=1788310800&x-signature=%2FB8ykU0yxvFuNLp7vZndBAVEWDI%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 buyer review saved for the selected product. Its price depends on the Apify pricing tier shown in the Actor settings. The public event is tied to a saved review, so this page does not assign a charge to setup, empty, or no-result work.

🔌 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

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

Yes. Add either value to productTargets, and you can mix both forms in the same run. Submit up to 500 target values.

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 matching total when the source 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, media, 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 or video 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 form supports US, GB, SG, MY, PH, TH, VN, ID, JP, and MX.

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

0.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é