Tiktok Shop Scraper
Pricing
from $0.99 / 1,000 product or reviews
Tiktok Shop Scraper
Scrape TikTok Shop products by keyword or store, plus full product pages with variants, SKU stock, shipping, creator videos and buyer reviews, with prices, discounts, ratings and units sold, no login required.
Pricing
from $0.99 / 1,000 product or reviews
Rating
0.0
(0)
Developer
BatScrape
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok Shop Scraper: Products, Stores, Product Details & Reviews with Prices, Stock and Sales Data ๐๏ธ
Scrape TikTok Shop products by keyword or by store, and pull full product pages and buyer reviews, as clean JSON: title, price, original price, discount, currency, rating, units sold, shop, categories, plus (for product URLs) description, specifications, variants, stock and price per SKU, shipping, and the creator videos that sell the product. Transparent flat per-result pricing: one price per listing product or review, another per full product record. No TikTok login, no cookies, no request signing on your end. Perfect for product research and dropshipping, TikTok Shop affiliate and creator scouting, price and competitor monitoring, best-seller tracking and review or sentiment analysis (also searched for as TikTok Shop product scraper, TikTok Shop API or TikTok Shop reviews scraper).
๐ฐ Price: $0.0005 per run + $0.00099 per product or review ($0.99 / 1,000) and $0.00529 per full product record ($5.29 / 1,000) ๐ Coverage: United States by default, 15 more TikTok Shop markets selectable ๐ Data: Prices, discounts, ratings, units sold, shop, variants, SKU stock, shipping, creator videos, buyer reviews ๐ฏ Filters: Market, store sort order, per-keyword / per-store limit, reviews per product, overall item cap ๐ก๏ธ Flat Per-Result Pricing
Quick Navigation
- ๐งญ What Does This Actor Do?
- ๐๏ธ Features and Functionality
- ๐ฐ Pricing: Transparent Event-Based Costs
- ๐ท๏ธ Who Needs This?
- ๐ฆ Input Parameters
- ๐ก Input Strategy Guide
- ๐ Example Requests
- ๐ฆ Output
- ๐ง Troubleshooting
- โ FAQ
- ๐ Contact
๐งญ What Does This Actor Do?
This actor collects public TikTok Shop data in three ways, which you can combine in one run: keyword search, store listings and product URLs. It pushes every unique result to your dataset as structured JSON, with no headless browser, no login and no cookies on your end. Give it keywords, store URLs, product URLs, or any mix; it pages through each keyword and store, fetches the full record and the reviews of each product you list, removes duplicates, and respects your maxItemsPerQuery, maxReviewsPerProduct and maxItems limits and your pay-per-event budget as it goes.
๐ Keyword Search โ search as many keywords as you like in one run. Each keyword returns the products TikTok Shop shows for it, up to maxItemsPerQuery (100 when left empty); a keyword search ends by itself at about 100-110 products.
๐ช Store Listings โ pass TikTok Shop store URLs and get the store's products, sorted by best selling or newest. A store is paged until its catalogue ends (up to 1,200 products per store) or your limit is reached.
๐ Product Details & Reviews โ pass product URLs (or product IDs) to get the full product record: description, specifications, variants, stock and price per SKU, shipping, shop details and related creator videos. Set maxReviewsPerProduct to also collect its buyer reviews, with rating, text, photos and verified-purchase flag.
๐๏ธ Features and Functionality
| Feature | Description | Benefit |
|---|---|---|
| ๐ฐ Flat Per-Result Pricing | One price per listing product or review, one price per full product record, no separate query or page fee | Predictable cost, you only pay for results delivered |
| ๐ Multi-Keyword & Store Search | Many keywords and store URLs in one run, each paged until it ends or reaches its limit | Hundreds of products per run without extra tools |
| ๐ Full Product Records | Description, specifications, variants, SKU stock and prices, shipping, shop rating and creator videos | Everything needed for product research in one item |
| โญ Buyer Reviews | Up to 5,000 reviews per product with rating, text, photos, SKU and verified-purchase flag | Review and sentiment analysis at scale |
| ๐งน Cross-Query Dedup | A product found by several keywords, or by a keyword and a store, is stored once | Never pay twice for the same product |
| ๐ฏ Filters & Limits | Market, store sort order, maxItemsPerQuery, maxReviewsPerProduct and maxItems | Decide which market and how many results, per query and per run |
| ๐ง Custom Map Function | JavaScript function to reshape or enrich output on the fly | Shape results to match your exact requirements |
| ๐ต Budget-Aware | Every result is checked against the run's charge budget before it's stored | A run stops cleanly instead of overspending |
๐ฐ Pricing: Transparent Event-Based Costs
Pay-per-event pricing โ no subscription, no hidden fees. A flat run fee, and one charge per unique result actually delivered. There are two result prices: listing products and reviews are cheap, full product records cost more because each one is a complete product page.
Pricing Structure
| Event | Price (USD) | Charged For |
|---|---|---|
| ๐ Actor Start | $0.0005 | Once per run, regardless of input |
| ๐๏ธ Product or review | $0.00099 | Each unique product from a keyword search or store, and each buyer review |
| ๐ Product details | $0.00529 | Each full product record fetched from a product URL |
๐ต Real-World Pricing Examples
| Use Case | Configuration | Total Cost | Breakdown |
|---|---|---|---|
| One keyword, default limit | 1 keyword, maxItemsPerQuery left at its default of 100 (100 products) | $0.0995 | $0.0005 + (100 ร $0.00099) |
| Competitor store catalogue | 1 store URL, maxItemsPerQuery: 0 (a store with about 300 products) | $0.2975 | $0.0005 + (300 ร $0.00099) |
| Product research batch | 50 product URLs, product details only (50 full product records) | $0.2650 | $0.0005 + (50 ร $0.00529) |
| Details plus reviews | 10 product URLs, maxReviewsPerProduct: 200, maxItems: 0 (10 product records + 2,000 reviews) | $2.0334 | $0.0005 + (10 ร $0.00529) + (2,000 ร $0.00099) |
Result counts vary from keyword to keyword, store to store and product to product โ a niche keyword, a small store or a product with few reviews simply returns fewer results (and costs less); the rows above are illustrative at the volumes shown.
๐ท๏ธ Who Needs This?
- ๐ฆ E-commerce sellers & dropshippers โ find winning products, prices and units sold before you source.
- ๐ฅ TikTok Shop affiliates & creators โ discover products to promote and the creator videos already selling them.
- ๐ท๏ธ Brands โ monitor prices, discounts and stock of your own and competing products.
- ๐ Market researchers โ track best-sellers by keyword, category and store over time.
- โญ Review & sentiment analysts โ collect buyer reviews with ratings, photos and verified-purchase flags.
- ๐ค Agencies โ research stores and products for TikTok Shop campaigns.
๐ฆ Input Parameters
At least one of searchQueries, shopUrls or productUrls is required; they can be combined in one run.
| Field | Description | Default |
|---|---|---|
searchQueries | Keywords to search TikTok Shop for, one per line. Each keyword returns up to ~100 products. Products found by several keywords are delivered (and charged) once. | prefilled ["wireless earbuds"] |
shopUrls | TikTok Shop store URLs, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. Lists the store's products. | (none) |
shopSort | Order of store products: top (Best selling) or newest (Newest). | top |
productUrls | TikTok Shop product URLs (or product IDs) to fetch full details for: description, variants, stock per SKU, shipping and related creator videos. Example: https://www.tiktok.com/shop/pdp/goli-ashwagandha-gummies-with-vitamin-d-ksm-66-vegan-non-gmo/1729587769570529799. Short links (vt.tiktok.com) are not supported; open them and paste the full link. | (none) |
includeProductDetails | Fetch the full product record for each product URL. Turn off to collect only reviews. | true |
maxReviewsPerProduct | Reviews to collect for each product URL. 0 = no reviews. Minimum 0, maximum 5000. | 0 |
region | TikTok Shop market: US (United States), GB (United Kingdom), DE (Germany), FR (France), IT (Italy), ID (Indonesia), MY (Malaysia), MX (Mexico), PH (Philippines), SG (Singapore), ES (Spain), TH (Thailand), VN (Vietnam), BR (Brazil), JP (Japan), IE (Ireland). The United States is the most complete; other markets may return fewer results. | US |
maxItemsPerQuery | Maximum products per keyword or store. Empty means 100; 0 means no limit (up to 5,000). Does not apply to reviews, which use maxReviewsPerProduct. Minimum 0. | prefilled 100 |
maxItems | Overall cap across all keywords, stores and products combined. 0 or empty means unlimited (each keyword or store is still separately capped by maxItemsPerQuery). Minimum 0. | prefilled 1000 |
customMapFunction | (object) => object applied to every item. Must not be used for filtering. | prefilled (object) => { return {...object} } |
๐ก Input Strategy Guide
Just want a quick sample? Run a single keyword with maxItems set to 10. It is a cheap, fast check that the actor and your keyword return what you expect.
Listing rows or full product records? Keyword and store results are listing rows: price, original price, discount, rating, units sold, shop and categories, at the lower price. When you need description, specifications, variants, stock per SKU, shipping or creator videos, put the product URLs in productUrls to get full product records, which are priced separately. A common pattern is to search first, then pass the most interesting product URLs from that dataset to a second run.
Collecting reviews? List the products in productUrls and set maxReviewsPerProduct. A popular product can have thousands of reviews, so pick a number that fits your budget, and raise maxItems (or set it to 0) because its prefilled value of 1,000 counts reviews too. Turn off includeProductDetails if you only want the reviews.
Mapping a whole store or many keywords? Set maxItemsPerQuery to 0 to page a store until its catalogue ends, and raise maxItems to match. For keywords, extra depth comes from extra keywords (brand names, product types, common variations) rather than a higher limit, since one keyword search ends at about 100-110 products. Dedup works across keywords and stores, so overlaps are stored and charged once.
๐ Example Requests
Search several product keywords in the United States, up to 100 products each:
{"searchQueries": ["wireless earbuds", "led strip lights", "phone case"],"region": "US","maxItemsPerQuery": 100,"maxItems": 300}
List a store's entire catalogue, newest products first:
{"shopUrls": ["https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079"],"shopSort": "newest","maxItemsPerQuery": 0,"maxItems": 0}
Fetch the full product record and up to 200 buyer reviews for one product:
{"productUrls": ["https://www.tiktok.com/shop/pdp/goli-ashwagandha-gummies-with-vitamin-d-ksm-66-vegan-non-gmo/1729587769570529799"],"includeProductDetails": true,"maxReviewsPerProduct": 200,"maxItems": 0}
๐ฆ Output
One dataset item per unique result, and every item says what it is in its type field: product (a listing row from a keyword search or a store), productDetail (a full product record from a product URL) or review (one buyer review). A keyword or store with no matches, or a product that is not found, simply contributes no items โ it isn't stored as a placeholder row and isn't charged.
Captured from a real run on 2026-10-15 (trimmed for brevity โ long arrays are cut to their first entries, the description is shortened and signed CDN URLs are shortened with โฆ).
A product from the keyword search goli ashwagandha:
{"type": "product","id": "1729587769570529799","url": "https://www.tiktok.com/shop/pdp/1729587769570529799","title": "3 Bottles of Goli Ashwagandha & Vitamin D Gummy - Mixed Berry, KSM-66, Vegan, Plant Based, Non-GMO, Gluten & Gelatin Free","imageUrl": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/โฆ","price": 44.98,"originalPrice": 57,"discountPercent": 21,"currency": "USD","currencySymbol": "$","rating": 4.7,"soldCount": 865668,"shopMeta": { "id": "7495794203056835079", "name": "Goli Nutrition" },"labels": ["Free shipping"],"trustLabel": "blue_v","categories": ["Health", "Nutrition & Wellness", "Vitamins, Minerals & Wellness Supplements"],"hasVideo": true,"searchPosition": 0,"searchKeyword": "goli ashwagandha","inputKeyword": "goli ashwagandha"}
A productDetail for the same product, from its product URL:
{"type": "productDetail","id": "1729587769570529799","url": "https://www.tiktok.com/shop/pdp/1729587769570529799","title": "3 Bottles of Goli Ashwagandha & Vitamin D Gummy - Mixed Berry, KSM-66, Vegan, Plant Based, Non-GMO, Gluten & Gelatin Free","description": "Goli Nutrition has sold over 90 Million bottles of gummy vitamins.\nVegan, Non-GMO, Gluten-free & Gelatin-free: โฆ","images": ["https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/โฆ"],"price": 44.98,"originalPrice": 57,"discountPercent": 21,"currency": "USD","currencySymbol": "$","soldCount": 865668,"category": "Health","categoryId": "700645","specifications": [{ "name": "Brand", "value": "Goli" },{ "name": "Product form", "value": "Gummy" }],"rating": 4.7,"reviewCount": 71757,"variants": [{ "name": "Specifications", "values": ["Default"] }],"skus": [{ "id": "1729587788239049223", "name": "Default", "price": 44.98, "originalPrice": 57, "currency": "USD", "stock": 241371, "purchaseLimit": 20 }],"shopMeta": {"id": "7495794203056835079","name": "Goli Nutrition","logoUrl": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/โฆ","productCount": 52,"rating": 4.6},"isVerifiedSeller": true,"shipping": {"name": "Standard shipping","fee": 0,"currency": "USD","freeShipping": true,"deliveryMinDays": 4,"deliveryMaxDays": 6,"leadTime": "Oct 19 - Oct 21"},"relatedVideos": [{"id": "7419446014324624686","url": "https://www.tiktok.com/@6596631738335674373/video/7419446014324624686","title": "Las gomitas de ashwagandha de goli me han ayudado muchisimo. โฆ","durationSec": 132,"playCount": 8424118,"likeCount": 505954,"createTime": 1727474395,"authorId": "6596631738335674373","authorName": "Gonzalo","authorUrl": "https://www.tiktok.com/@6596631738335674373","isAffiliate": true}],"inputProductUrl": "https://www.tiktok.com/shop/pdp/1729587769570529799"}
A review of the same product:
{"type": "review","id": "7502637593889294122","productId": "1729587769570529799","skuSpecification": "Item: Default","rating": 5,"text": "Got a great deal the first week of May, but also I've been using this product for the past 6 months. โฆ","createTime": 1746844118,"createDate": "2025-05-10","images": ["https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/โฆ"],"isVerifiedPurchase": true,"isIncentivized": false,"country": "US","authorMeta": {"id": "6627258701311541253","name": "Megan","avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/โฆ"},"inputProductUrl": "https://www.tiktok.com/shop/pdp/1729587769570529799"}
Fields worth knowing about:
typeโproduct,productDetailorreview. It also decides the price:productandreviewitems are charged as "Product or review",productDetailitems as "Product details". Use it to split the dataset; the Console's Overview and Reviews views do the same.- Input fields โ every item records the input that produced it. Search products carry
searchKeywordandinputKeyword, store products carryinputShopUrl, and product details and reviews carryinputProductUrl(exactly as you typed it). A product found by several inputs is stored once, under whichever found it first. shopMetaโ on search products it holds the shopidandname; on store products only the shopid; on product details it addslogoUrl,productCountand the shoprating.trustLabelโ a badge TikTok Shop shows on search results, such asblue_v,most_lovedorbest_seller. Only on search products, and only when the product has one.searchPositionโ the product's position in the keyword's results, starting at0.price/originalPrice/discountPercentโ the current price, the price before the discount, and the discount in percent, in the market'scurrency.skusโ one entry per purchasable variant, with its own price,stockandpurchaseLimit;variantslists the option names and values.relatedVideosโ creator videos linked to the product, with play and like counts;isAffiliatemarks affiliate creators.isVerifiedPurchase/isIncentivizedโ whether the reviewer bought the product, and whether the review was marked as incentivized.- Optional fields โ fields the product or review doesn't have (no discount, no trust badge, no review photos, a rating or review count TikTok Shop doesn't show on listing rows) are left out of the item rather than set to
null. createTime/createDateโ the review's publish time as a Unix timestamp in seconds, and the same moment as aYYYY-MM-DDdate.- Image URLs โ product images, shop logos, review photos and reviewer avatars are links, not files. Reviewer avatar URLs are signed and expire, so fetch them soon after the run if you need them.
๐ง Troubleshooting
โ Getting Few or No Results?
- โ
Check your plan โ runs on the free plan are limited to one request: the first page of products for the first keyword or store (about 20-40 products), or the full record of the first product, or its first 10 reviews when
includeProductDetailsis off. Keywords come first, then stores, then product URLs; everything else in the run is skipped. The log says so when the limit applies; a paid plan removes it - โ
Read the log โ every keyword, store and review list ends with a line such as
Collected 100 products for "wireless earbuds". Stopped because the limit of 100 products per keyword was reached., which tells you exactly which limit applied - โ
Check
maxItemsPerQueryโ when left empty a keyword or store stops at 100 products; set it to0for no per-query limit - โ Expect about 100-110 products per keyword โ that is where a TikTok Shop keyword search ends, not a partial result; add more keywords for more products
- โ
Check
maxReviewsPerProductโ it is0by default, which means no reviews - โ
Check
maxItemsโ the whole run stops once it is reached, and it counts products, product details and reviews together - โ Check the charge budget โ a run that can't afford another result stops cleanly rather than erroring
- โ
Check the links โ store URLs must look like
https://www.tiktok.com/shop/store/...and product URLs must be product pages (/shop/pdp/...orshop.tiktok.com/view/product/...) or a product ID; short links (vt.tiktok.com,vm.tiktok.com) are not supported, so open them and paste the full link. Invalid entries are skipped with a warning in the log - โ
Check the market โ the United States is the most complete; a product or store from another market may only be found with the matching
region
๐ก Want to Minimize Costs?
- โ
Set
maxItemsto a hard cap matching your budget, and keepmaxItemsPerQuerylow when you only need the top products of each keyword or store - โ Use listing rows from keywords and stores where they are enough, and request full product records only for the products you need
- โ
Turn off
includeProductDetailswhen you only want reviews - โ Batch related keywords and stores into one run โ cross-query dedup means overlaps are never charged twice
โ FAQ
Do I need a TikTok account or login to use this actor? No โ it collects public data only, through a backend service; no login, cookies or request signing are required on your end.
Which markets are supported?
The United States by default, plus the United Kingdom, Germany, France, Italy, Indonesia, Malaysia, Mexico, the Philippines, Singapore, Spain, Thailand, Vietnam, Brazil, Japan and Ireland via region. The United States is the most complete; other markets may return fewer results.
How many products or reviews do I get?
A keyword search ends at about 100-110 products. A store is paged until its catalogue ends, up to 1,200 products per store. Reviews can go deep โ popular products have thousands โ and you collect up to maxReviewsPerProduct (at most 5,000) per product URL. All of these are also bounded by maxItems and the run's maximum charge. On the free plan a run is limited to one request (see Troubleshooting).
What's the difference between a listing product and product details? Listing products (from keywords and stores) have price, discount, rating, units sold, shop and categories. Product details (from product URLs) add the description, specifications, variants, stock and price per SKU, shipping, shop rating and related creator videos, and are priced separately.
What's included at no extra charge? Every field of an item comes with it; there are no add-on fees. Duplicates across keywords and stores are removed for free, and products that are not found cost nothing beyond the start fee. There are no free result pages: every delivered result is charged.
Does this actor download images or videos? No โ it returns image and video page URLs but does not download or store the files. Reviewer avatar URLs are signed links that expire, so download promptly if you need them.
๐ Contact
Reach out to the maintainers directly for support.
- โ๏ธ Email: batscrape@gmail.com
- ๐ฌ Discord: discord.com/invite/ZRANXwhWU
- ๐ฆ X (Twitter): x.com/batscrape
- ๐ Apify: apify.com/batscrape