TikTok Shop Scraper & Analytics | 2$/1k avatar

TikTok Shop Scraper & Analytics | 2$/1k

Pricing

from $2.00 / 1,000 results

Go to Apify Store
TikTok Shop Scraper & Analytics | 2$/1k

TikTok Shop Scraper & Analytics | 2$/1k

Scrape TikTok Shop at scale — products, sellers, reviews, search results and more. Clean JSON output, $2 per 1k results.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Raven

Raven

Maintained by Community

Actor stats

1

Bookmarked

71

Total users

37

Monthly active users

4 hours

Issues response

a day ago

Last modified

Share

TikTok Shop Scraper — Extract Products, Reviews, Stores, and Creator Profiles

Scrape TikTok Shop product listings, detailed product pages, customer reviews, store analytics with GMV estimation, category pages, and creator profiles — all from one Actor. Six scrape modes, each with its own dedicated input section. Get pricing, variants, seller scores, ratings breakdown, and sales volume data.

Pricing

PlanPriceBest ForLink
Pay per result$2 / 1,000 resultsOne-time research, small batchesTikTok Shop Scraper Usage
Monthly subscription$20 / monthRegular monitoring, unlimited usageTikTok Shop Scraper

Both plans have identical functionality — choose the one that fits your workflow.

Key Features

  • Six scrape modes — Search, Product, Reviews, Category, Store, Creator — each with its own dedicated input section in the UI
  • Product search — pagination via SSR &page=N (bypasses the captcha-gated brandy_desktop search API), sorted by relevance, best sellers, or price
  • Full product details — variants, pricing, images, videos, specs, brand info, shipping, and complete seller data
  • Customer reviews extractor — one review per dataset row, each linked back to its product (productId, productUrl, productName); paginated with star rating / verified purchase / media filters
  • Store analytics with GMV — store info as one record, every store product as its own record; follower count, ratings, sub-scores, and estimated gross merchandise value
  • Category scraper — full pagination via TikTok's homepage_desktop/products_by_category endpoint (~100+ products per category across multiple pages)
  • Creator profiles — TikTok creator data: followers, likes, video count, commerce status, and seller flag
  • Signed API pagination — bypasses TikTok's code=10000 anti-bot wall with proper X-Tts-Oec-Bsid signatures where required (category, store)
  • Per-run unique fingerprint — fresh browser fingerprint (UA, WebGL, screen, fonts) from Bablosoft per proxy session — harder to correlate across runs
  • Parallel processing — up to 5 queries processed concurrently with isolated signer state
  • Auto-retry with backoff — 10 retries with exponential backoff + jitter on captcha / HTTP errors, each retry uses a fresh proxy IP
  • No headless browser — Chrome TLS fingerprint impersonation (curl_cffi) + Node.js request signer sidecar

What Data You Get

Search / Category / Store product card

FieldDescription
productIdUnique product identifier
titleProduct title
productUrlDirect link to the product page
currentPriceCurrent selling price
originalPriceOriginal price before discount
discountPercentDiscount percentage
salesVolumeTotal units sold
ratingAverage product rating
reviewCountNumber of customer reviews
sellerNameSeller/store name
imageUrlsProduct image URLs
tagsTags like "Best Seller", "Free Shipping"
searchRankPosition in search / category results
sellerId, shopName, shopUrlStore products only — link back to the parent store

Product detail fields

FieldDescription
descriptionFull product description
categoryProduct category path (e.g. "Home & Kitchen > Water Bottles")
variantsArray of variants with individual prices, stock status, and images
maxPriceHighest variant price
soldLast30DaysUnits sold in the last 30 days
globalSoldTotal global units sold
brandBrand ID and name
specificationsProduct specs (Material, Size, Weight, etc.)
sellingPointsPromotional highlights
videoUrlsProduct video URLs
shippingInfoFulfillment method and free shipping flag

Seller data (embedded in product details)

FieldDescription
sellerIdSeller identifier
shopUrlStore page URL
shopRatingStore rating (out of 5)
shopFollowersStore follower count
shopTotalSoldTotal units sold by the store
shopOnSaleProductsNumber of active products
shopReviewCountTotal store reviews
experienceScoresPositive feedback %, ships within 48h %
storeSubScoresProduct Quality, Logistics Speed, Service Quality scores
shopIdentityLabelStore badge (e.g. "OFFICIAL SHOP")

Review fields

One review = one dataset record. Each record is self-describing: it includes both the review content and product-level context (so the row alone is enough to know what it is and where it came from).

FieldDescription
reviewIdReview identifier
ratingStar rating (1–5)
textReview text
dateReview timestamp
reviewerNameReviewer display name
isVerifiedPurchaseVerified purchase flag
isIncentivizedReviewIncentivized review flag
imageUrlsReview images
variantProduct variant purchased
countryReviewer country
productIdWhich product this review is for
productUrlFull URL of that product
productNameProduct title
queryThe URL you passed in as input
totalReviewsTotal reviews the product has
ratingsBreakdownStars distribution: count per star (1–5) and overall score

Store analytics

Scrape type store emits two kinds of records: one type="store" record per store, plus one type="store_product" record per product (each product record is linked to the store via sellerId, shopName, shopUrl).

Store record:

FieldDescription
shopNameStore name
regionStore region
shopRatingOverall store rating
soldCount, formatSoldCountTotal units sold
reviewCountTotal store reviews
onSaleProductCountActive product count (TikTok-reported)
productCountNumber of products we actually scraped for you
followersCount, formatFollowersCountFollower count
storeSubScoresProduct Quality / Logistics Speed / Service Quality scores
estimatedGmvEstimated gross merchandise value with per-product breakdown

Store product record — same fields as a product card, plus sellerId, shopName, shopUrl, query tying it back to the store.

Creator profile

FieldDescription
usernameTikTok username
nicknameDisplay name
bioCreator bio
followerCountNumber of followers
likeCountTotal likes
videoCountNumber of videos
isSellerWhether creator has a TikTok Shop
isCommerceUserCommerce account flag
commerceCategoryCommerce category (e.g. "Health & Wellness")

Use Cases

  • Product research — find trending products on TikTok Shop, compare prices across sellers, and track bestseller rankings
  • Seller and store analytics — evaluate store performance, GMV estimation, seller quality scores, and product catalog size
  • Review analysis — collect customer reviews for sentiment analysis, product feedback monitoring, and quality assessment
  • Market intelligence — track category trends, pricing patterns, discount strategies, and bestseller movements on TikTok Shop
  • Creator discovery — find TikTok Shop creators and influencers by commerce status, follower count, and niche for partnership opportunities
  • Competitor monitoring — track competitor products, pricing changes, review scores, and sales volume over time
  • Dropshipping research — identify high-demand, well-reviewed products with consistent sales volume for sourcing decisions

How It Works

  1. Choose a Scrape Type in the UI — Search, Product, Reviews, Category, Store, or Creator
  2. Fill the matching section below — each type has its own dedicated input field (searchKeywords, productUrls, reviewProductUrls, categoryUrls, storeUrls, creatorUsernames). Other sections are ignored.
  3. Actor fetches data — up to 5 queries in parallel. Each query:
    • Pulls a fresh browser fingerprint through the proxy
    • Spawns a Node.js signer sidecar (only for scrape types that need the signed API — currently category and store; the sidecar has a ≈25 s warmup)
    • Fetches the SSR landing page, then paginates via SSR &page=N (search) or a signed POST with X-Tts-Oec-Bsid (category, store)
  4. Download results — structured JSON output in the Apify dataset, exportable as JSON, CSV, or Excel. The dataset has per-type views: Products, Product Details, Stores, Store Products, Reviews, Creators.

Input Parameters

The UI is organized into collapsible sections. Pick a Scrape Type at the top, then fill in the matching section below — inputs from other sections are ignored.

Scrape TypeField NameInput FormatExample
SearchsearchKeywordsKeywordiphone case
ProductproductUrlsProduct URLhttps://shop.tiktok.com/us/pdp/product-name/1234567890
ReviewsreviewProductUrlsProduct URLhttps://shop.tiktok.com/us/pdp/product-name/1234567890
CategorycategoryUrlsCategory URLhttps://shop.tiktok.com/us/c/beauty-personal-care/601450
StorestoreUrlsStore URLhttps://shop.tiktok.com/us/store/shop-name/1234567890
CreatorcreatorUsernamesUsername (without @)hydrojug

URLs from www.tiktok.com/shop/... are also supported and auto-converted.

Common fields

ParameterTypeDefaultDescription
scrapeTypeStringsearchOne of: search, product, reviews, category, store, creator
maxItemsInteger50Max items per query (0 = unlimited). Applies to Search, Category, and Store products
sortByStringrelevanceSearch sort: relevance, best_sellers, price_asc, price_desc
includeReviewsBooleanfalseOn Product scrape, also fetch reviews and embed them in the product record
maxReviewsInteger30Max reviews per product (0 = all). Used by Reviews type and Product + Include reviews
reviewsSortByStringrecommendedReviews sort: recommended, recent
reviewsFilterTypeStringallReviews filter: all, verified, with_media
reviewsStarRatingInteger0Filter by star rating: 0 = all, 15 = specific
proxyConfigurationObjectResidential USProxy settings — Residential US required

Example input

{
"scrapeType": "search",
"searchKeywords": ["iphone case", "water bottle", "led lights"],
"maxItems": 100,
"sortBy": "best_sellers"
}
{
"scrapeType": "reviews",
"reviewProductUrls": [
"https://www.tiktok.com/shop/pdp/product-name/1731753318135730868"
],
"maxReviews": 50,
"reviewsSortBy": "recent",
"reviewsFilterType": "verified"
}
{
"scrapeType": "store",
"storeUrls": [
"https://www.tiktok.com/shop/store/fyp-closet/8647145326316786563"
],
"maxItems": 200
}

Output Example

Search result (one row per product)

{
"type": "product_card",
"productId": "1729595536444134138",
"title": "HydroJug Sport 32oz Portable Water Bottle",
"productUrl": "https://shop.tiktok.com/us/pdp/hydrojug-sport-32oz/1729595536444134138",
"currentPrice": "24.99",
"originalPrice": "29.99",
"discountPercent": "-17%",
"salesVolume": 5200,
"rating": 4.8,
"reviewCount": "342",
"sellerName": "HydroJug",
"imageUrls": ["https://..."],
"tags": ["Best Seller", "Free Shipping"],
"searchRank": 1,
"query": "water bottle"
}

Review result (one row per review, linked to its product)

{
"type": "review",
"reviewId": "7628314675993773837",
"productId": "1731753318135730868",
"productName": "HONLINK Korean Skincare Set for Glass Skin",
"productUrl": "https://shop.tiktok.com/us/pdp/honlink-5x-vitamin-c-.../1731753318135730868",
"query": "https://www.tiktok.com/shop/pdp/.../1731753318135730868",
"rating": 5,
"text": "Great product, loved the texture and results!",
"reviewerName": "sarah_k",
"date": "2026-03-28",
"variant": "Vitamin C Set",
"country": "US",
"isVerifiedPurchase": true,
"imageUrls": ["https://..."],
"totalReviews": 557,
"ratingsBreakdown": {
"totalCount": 557,
"overallScore": 4.8,
"stars": { "1": 13, "2": 1, "3": 9, "4": 49, "5": 485 }
}
}

Store result (one row for the store + one row per product)

{
"type": "store",
"shopName": "FYP Closet",
"sellerId": "8647145326316786563",
"shopUrl": "https://shop.tiktok.com/us/store/fyp-closet/8647145326316786563",
"shopRating": "4.88",
"formatSoldCount": "4524",
"onSaleProductCount": 39,
"productCount": 39,
"formatFollowersCount": "200+",
"storeSubScores": {
"Product Quality": { "percentage": "95" },
"Logistics Speed": { "percentage": "88" },
"Service Quality": { "percentage": "92" }
},
"estimatedGmv": {
"totalEstimatedGmv": 77461.28,
"totalSoldCount": 4120,
"productCount": 39
}
}
{
"type": "store_product",
"productId": "1731146234707153795",
"title": "Women's Tie-Front Crop Tee",
"currentPrice": "12.99",
"salesVolume": 820,
"sellerId": "8647145326316786563",
"shopName": "FYP Closet",
"shopUrl": "https://shop.tiktok.com/us/store/fyp-closet/8647145326316786563",
"productUrl": "https://shop.tiktok.com/us/pdp/.../1731146234707153795",
"query": "https://www.tiktok.com/shop/store/fyp-closet/8647145326316786563"
}

Product detail with embedded reviews (only when includeReviews=true)

{
"type": "product",
"productId": "1729595536444134138",
"title": "HydroJug Sport 32oz Portable Water Bottle",
"currentPrice": "24.99",
"variants": [
{ "name": "Blue", "price": "24.99", "stockStatus": "in_stock" }
],
"rating": 4.8,
"shopRating": "4.9",
"storeSubScores": {
"Product Quality": { "percentage": "95" },
"Logistics Speed": { "percentage": "70" },
"Service Quality": { "percentage": "96" }
},
"totalReviews": 342,
"ratingsBreakdown": { "overallScore": 4.8, "stars": { "5": 277, "4": 45 } },
"reviews": [
{ "rating": 5, "text": "Great quality!", "isVerifiedPurchase": true }
]
}

Proxy Requirements

Residential US proxy is required. TikTok Shop blocks datacenter IPs and non-US traffic. Must be HTTP-proxy-capable (SOCKS-only proxies will not work with the Node.js signer sidecar).

  • Apify Residential Proxy (recommended) — select RESIDENTIAL group with US country
  • Custom proxy — must be a rotating residential US HTTP proxy (IPRoyal, Smartproxy, BrightData, etc.)

Each query gets a fresh proxy IP automatically. All requests within one query share the same IP so that ttwid, oec_lucifer, msToken, X-Tts-Oec-Bsid stay consistent with TikTok's server-side session binding.

Limitations

  • US region only — TikTok Shop is primarily available in the US (UK and SEA support planned)
  • Captcha / bot wall — some proxy IP pools are pre-flagged by TikTok. The Actor auto-retries with a new session/IP up to 10 times with exponential backoff. Apify's Residential proxy gives the cleanest results; less-trusted pools may hit the wall harder. If all 10 retries hit captcha, the query is dropped
  • Search pagination cap — TikTok's signed search API (brandy_desktop/s/product_list) is captcha-gated; the Actor paginates via SSR &page=N instead, which typically yields 20–50 unique products per keyword. Category, store, and reviews pagination is deeper (server-limited)
  • Store products require a clean proxy — the signed store products endpoint is captcha-gated on dirty IP pools. Store info is always returned; store products may come back empty on some proxies (a clear warning is logged). Apify Residential usually works
  • Signer warmup — when signing is needed (category, store), the first request per query takes ~25 s for the Node.js anti-bot SDK to bootstrap (loader → core → webmssdk → /bs/rt proxy dance). Subsequent paginated calls within the same query are fast (~2 s each). Search, Product, Reviews, and Creator scrapes skip the signer entirely
  • Dynamic pricing — TikTok shows different prices per session (promo codes, A/B tests); the scraper returns the server-side price for your proxy session

FAQ

What types of TikTok Shop data can I scrape? Six types: product search results, full product details, customer reviews, store analytics with GMV, category listings, and creator profiles.

How does the input UI work? Pick a Scrape Type at the top of the input form. Below you'll see collapsible sections — one per type. Open the section that matches your selection and fill in the input field (keywords, URLs, or usernames). Other sections are ignored.

How many items can I scrape per run? Depends on scrape type. Category pagination typically reaches 100–110 unique products per category (TikTok's own server cap). Search yields 20–50 products per keyword (SSR cap). Store pagination depends on seller catalog size and proxy quality. Reviews paginate fully. Set maxItems=0 (or maxReviews=0) to get everything the server allows.

How are reviews formatted? One review per dataset record. Each record contains the review content (rating, text, date, reviewer, etc.) plus the product it belongs to (productId, productUrl, productName) and the original input URL (query). This makes every row self-describing.

How is a store scrape formatted? The Store scrape produces two kinds of records: one type="store" record with all store metadata and GMV estimate, plus one type="store_product" record per product. Product records link back to the store via sellerId, shopName, and shopUrl. Use the Stores and Store Products dataset views to see them separately.

Does the TikTok Shop scraper collect seller data? Yes. Product detail pages include full seller data: store rating, follower count, total sales, quality scores, shipping metrics, and store badge.

Can I filter reviews by star rating or verified purchases? Yes. Use reviewsStarRating (1–5), reviewsFilterType (verified, with_media), and reviewsSortBy (recommended, recent) to narrow down reviews.

Does it estimate store GMV? Yes. Store analytics include estimated gross merchandise value calculated from product prices and sold counts, with a per-product GMV breakdown. GMV is attached to the store record; products are emitted separately.

Why does TikTok Shop show different prices each time? TikTok uses dynamic pricing with promo codes and A/B testing per session. The scraper captures the server-side price for your specific proxy session.

What's the difference between the monthly and pay-per-use plans? Identical functionality. Monthly ($20/mo) is better for regular monitoring; pay-per-use ($2/1k results) is better for occasional scraping.

Having issues? Help me fix them faster

If you experience any problems, please share your run data with me so I can debug and improve the Actor:

  1. Go to Apify Security Settings
  2. Find "Share run data with developers"
  3. In the "Manage list of Actors" section, check this Actor (or All Actors)
  4. Save

This data is used only for debugging and helps me resolve issues much faster. Thank you!

Support

Questions, bug reports, or feature requests: afrcanec@gmail.com

🏷️ Tags

TikTok Shop Scraper, TikTok Shop API, TikTok Product Scraper, TikTok Shop Data Extractor, Product Reviews Extractor, Store Analytics TikTok, TikTok Seller Data, GMV Estimation Tool, TikTok Creator Profiles, Product Price Tracker, E-commerce Scraper, TikTok Shop Category Scraper, Sales Volume Tracker, Product Ratings Extractor, Dropshipping Research Tool, Competitor Product Analysis, TikTok Influencer Finder, How to Scrape TikTok Shop, Extract TikTok Shop Data, E-commerce Market Research, TikTok Product Research, Bestseller Tracker, Product Variant Extractor, TikTok Shop Reviews, Social Commerce Data, E-commerce Analytics, TikTok Shop Trends, Seller Performance Analytics, TikTok Shop Price Comparison, Product Discovery Tool