Tiktok Shop Scraper avatar

Tiktok Shop Scraper

Pricing

from $0.99 / 1,000 product or reviews

Go to Apify Store
Tiktok Shop Scraper

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

BatScrape

Maintained by Community

Actor 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?

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

FeatureDescriptionBenefit
๐Ÿ’ฐ Flat Per-Result PricingOne price per listing product or review, one price per full product record, no separate query or page feePredictable cost, you only pay for results delivered
๐Ÿ” Multi-Keyword & Store SearchMany keywords and store URLs in one run, each paged until it ends or reaches its limitHundreds of products per run without extra tools
๐Ÿ“‹ Full Product RecordsDescription, specifications, variants, SKU stock and prices, shipping, shop rating and creator videosEverything needed for product research in one item
โญ Buyer ReviewsUp to 5,000 reviews per product with rating, text, photos, SKU and verified-purchase flagReview and sentiment analysis at scale
๐Ÿงน Cross-Query DedupA product found by several keywords, or by a keyword and a store, is stored onceNever pay twice for the same product
๐ŸŽฏ Filters & LimitsMarket, store sort order, maxItemsPerQuery, maxReviewsPerProduct and maxItemsDecide which market and how many results, per query and per run
๐Ÿ”ง Custom Map FunctionJavaScript function to reshape or enrich output on the flyShape results to match your exact requirements
๐Ÿ’ต Budget-AwareEvery result is checked against the run's charge budget before it's storedA 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

EventPrice (USD)Charged For
๐Ÿš€ Actor Start$0.0005Once per run, regardless of input
๐Ÿ›๏ธ Product or review$0.00099Each unique product from a keyword search or store, and each buyer review
๐Ÿ“‹ Product details$0.00529Each full product record fetched from a product URL

๐Ÿ’ต Real-World Pricing Examples

Use CaseConfigurationTotal CostBreakdown
One keyword, default limit1 keyword, maxItemsPerQuery left at its default of 100 (100 products)$0.0995$0.0005 + (100 ร— $0.00099)
Competitor store catalogue1 store URL, maxItemsPerQuery: 0 (a store with about 300 products)$0.2975$0.0005 + (300 ร— $0.00099)
Product research batch50 product URLs, product details only (50 full product records)$0.2650$0.0005 + (50 ร— $0.00529)
Details plus reviews10 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.

FieldDescriptionDefault
searchQueriesKeywords 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"]
shopUrlsTikTok Shop store URLs, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. Lists the store's products.(none)
shopSortOrder of store products: top (Best selling) or newest (Newest).top
productUrlsTikTok 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)
includeProductDetailsFetch the full product record for each product URL. Turn off to collect only reviews.true
maxReviewsPerProductReviews to collect for each product URL. 0 = no reviews. Minimum 0, maximum 5000.0
regionTikTok 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
maxItemsPerQueryMaximum 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
maxItemsOverall 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, productDetail or review. It also decides the price: product and review items are charged as "Product or review", productDetail items 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 searchKeyword and inputKeyword, store products carry inputShopUrl, and product details and reviews carry inputProductUrl (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 shop id and name; on store products only the shop id; on product details it adds logoUrl, productCount and the shop rating.
  • trustLabel โ€” a badge TikTok Shop shows on search results, such as blue_v, most_loved or best_seller. Only on search products, and only when the product has one.
  • searchPosition โ€” the product's position in the keyword's results, starting at 0.
  • price / originalPrice / discountPercent โ€” the current price, the price before the discount, and the discount in percent, in the market's currency.
  • skus โ€” one entry per purchasable variant, with its own price, stock and purchaseLimit; variants lists the option names and values.
  • relatedVideos โ€” creator videos linked to the product, with play and like counts; isAffiliate marks 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 a YYYY-MM-DD date.
  • 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 includeProductDetails is 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 to 0 for 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 is 0 by 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/... or shop.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 maxItems to a hard cap matching your budget, and keep maxItemsPerQuery low 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 includeProductDetails when 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