Tiktok Shop Analytics avatar

Tiktok Shop Analytics

Pricing

Pay per usage

Go to Apify Store
Tiktok Shop Analytics

Tiktok Shop Analytics

Discover TikTok videos promoting Shop products. Returns product mentions (with prices, discount codes, brands, shop URLs from descriptions), video engagement, and creator profiles with affiliate-tier classification. For influencer outreach, trending discovery, dropshipping research.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

CQ

CQ

Maintained by Community

Actor stats

0

Bookmarked

70

Total users

1

Monthly active users

16 days ago

Last modified

Features

Limited permissions

Share

Discover trending TikTok Shop products, seller profiles, and creator/affiliate signals from publicly available TikTok data. The actor scrapes TikTok search, hashtag, and profile pages (with stealth) and derives trending and affiliate scores from the metrics it can extract.

This actor works with public TikTok data only. It is not affiliated with, endorsed by, or connected to TikTok. Because TikTok has strong anti-bot defenses, results vary run-to-run and residential proxies are strongly recommended. See Limitations.

Features

  • Product discovery: Search products by keyword, category URL, or specific product URLs
  • Trending analysis: Compute a 0-100 trending score from the sales/rating/review/price/discount signals that could be extracted
  • Seller intelligence: Extract seller/store profiles and (optionally) their product catalog
  • Affiliate discovery: Find creators promoting products via hashtags or direct profile URLs
  • Creator analytics: Estimate engagement rate, affiliate tier, and affiliate potential score

How It Works (Data Sources)

The actor combines two collection strategies with graceful fallback:

  1. Third-party TikTok scraper (when running on the Apify platform) — for keyword/hashtag/profile video collection it calls the established clockworks/tiktok-scraper actor via Actor.call. This runs as a metered child run and consumes its own resources.
  2. Direct Playwright scraping (fallback / always used for product & seller pages) — a stealth-configured headless Chromium browser scrapes TikTok search, tag, product, and profile pages directly.

Structured product fields (price, rating, review count, units sold) are read from the DOM/page text of actual product or category pages. Keyword and hashtag searches primarily return product mentions and creator records derived from video results rather than fully structured product listings.

Input Parameters

ParameterTypeDefaultDescription
dataTypesarray["products"]Which data to collect: products, sellers, affiliates
searchQuerystring"viral products"Keyword to search for product mentions
categoryUrlstring—Direct TikTok Shop category page URL
productUrlsarray[]Specific TikTok Shop product URLs
sellerUrlsarray[]Seller/store profile URLs
sellerNamestring—Seller name to search for
includeSellerProductsbooleantrueAlso scrape products from the seller's shop
hashtagstring"TikTokMadeMeBuyIt"Hashtag used to find creators (the # is optional)
creatorUrlsarray[]Specific creator profile URLs
regionstring"US"One of US, UK, ID, TH, VN, MY, PH, SG
maxProductsinteger50Max products/product mentions (1-200)
maxCreatorsinteger20Max creators to analyze (1-50)
maxProductsPerSellerinteger20Max products per seller (1-50)
enableTrendingAnalysisbooleantrueCompute trending scores for products
enableCreatorAnalysisbooleantrueCompute affiliate scores/tiers for creators
useShopApibooleantrueUse enhanced stealth scraping for search
proxyConfigurationobject—Proxy settings (residential strongly recommended)

At least one of searchQuery, categoryUrl, productUrls, sellerUrls, sellerName, hashtag, or creatorUrls must be provided.

Output

All records are written to a single dataset. Each record carries a dataType (or type) field so you can filter by kind. Fields are populated on a best-effort basis and may be null when TikTok does not expose them or blocks the request.

product — scraped product page

FieldDescription
productIdProduct ID parsed from the URL
title, descriptionProduct title / description
price, originalPrice, currencyPricing (parsed from page text)
discountDiscount % (derived from price vs. original price)
rating, reviewCount, soldCountRating, review count, units sold (best-effort)
sellerName, sellerUrlSeller name / link
images, categoriesImage URLs, breadcrumb categories
trendingScore, trendingSignalsTrending score (0-100) and signal list (when trending analysis is on)

product_mention — product signal from a video

FieldDescription
sourceVideo, sourceAuthorOriginating video URL and author
description, hashtagsVideo caption and hashtags
engagement{ likes, comments, shares, plays }
productIndicators{ hasProductLink, hasShopMention, hasDiscountCode, keywords }
viralityScoreVirality score (0-100)

seller

FieldDescription
username, displayName, bioProfile identity
followers, following, likesProfile stats (best-effort)
verified, hasShopVerification / shop presence
shopUrlShop link (if found)
products, productCountCatalog items and count (when includeSellerProducts is on)

creator (affiliate)

FieldDescription
username, displayName, bioProfile identity
followers, following, likes, videoCountProfile stats (best-effort)
engagementRateLikes/followers ratio (%)
affiliateScoreAffiliate potential (0-100)
affiliateTiermega / macro / mid-tier / micro / nano
affiliateInfo{ hasShop, hasShowcase, hasAffiliateKeywords, showcaseProductCount }
contactEmail, linkInBioContact email (parsed from bio, if present), link in bio

Other records

  • video — raw video records with product indicators (only those with a shop/product signal are written to the dataset)
  • market_insights — aggregate price/rating/sales/discount breakdown across scraped products
  • creator_insights — aggregate tier/engagement/reach/affiliate-readiness breakdown across creators
  • run_summary — per-run counts and top product/creator highlights
  • error_summary — written (with type: "error_summary") when a run is blocked or errors out; the run still finishes successfully

Products are scored 0-100 from the metrics that could be extracted:

  • Sales velocity (up to 40 pts): units sold
  • Review count (up to 20 pts): number of reviews
  • Rating (up to 15 pts): star rating
  • Price point (up to 15 pts): highest for the $10-50 range (with $15-35 flagged as a "viral sweet spot" signal)
  • Discount (up to 10 pts): discount percentage

If a metric is missing, its contribution is simply absent — scores are only as complete as the data TikTok exposes.

Affiliate Tiers

TierFollowers
Mega1M+
Macro100K-1M
Mid-tier10K-100K
Micro1K-10K
Nano<1K

Example Input

{
"dataTypes": ["products"],
"searchQuery": "viral skincare",
"region": "US",
"maxProducts": 100,
"enableTrendingAnalysis": true
}

Discover affiliates

{
"dataTypes": ["affiliates"],
"hashtag": "#TikTokMadeMeBuyIt",
"maxCreators": 50,
"enableCreatorAnalysis": true
}

Full analysis

{
"dataTypes": ["products", "sellers", "affiliates"],
"searchQuery": "kitchen gadgets",
"hashtag": "#AmazonFinds",
"region": "US",
"maxProducts": 50,
"maxCreators": 30,
"enableTrendingAnalysis": true,
"enableCreatorAnalysis": true
}

Regions Supported

US (United States), UK (United Kingdom), ID (Indonesia), TH (Thailand), VN (Vietnam), MY (Malaysia), PH (Philippines), SG (Singapore).

Tips

  1. Use residential proxies — TikTok aggressively blocks datacenter traffic.
  2. Start small — test with 10-20 items before scaling up.
  3. Combine data types — products + affiliates gives the fullest picture.
  4. Try popular hashtags — #TikTokMadeMeBuyIt, #AmazonFinds, #TikTokShop.

Limitations

  • Anti-bot blocking. TikTok actively blocks automated access. Without residential proxies (and sometimes even with them), a run may return few or no results. The actor treats blocks as expected: it logs a warning, writes an error_summary/run_summary record, and finishes with status SUCCEEDED rather than failing the run.
  • Best-effort parsing. Numeric fields (price, followers, likes, soldCount, reviewCount, rating) are parsed from page text and selectors that depend on TikTok's current DOM. They can be null or approximate and may break if TikTok changes its layout.
  • Search returns mentions, not catalogs. Keyword and hashtag searches mainly yield product_mention and creator records derived from videos. Fully structured product records require scraping actual product or category pages via productUrls/categoryUrl.
  • Third-party dependency & cost. On the Apify platform, video/hashtag/profile collection is delegated to the clockworks/tiktok-scraper actor when available; that child run consumes its own compute and (if configured) proxy usage. If it is unavailable, the actor falls back to direct Playwright scraping.
  • No private or authenticated data. Only publicly visible information is collected. Exact sales figures, private analytics, and TikTok Shop back-office data are not accessible.
  • Not a TikTok product. This actor is independent and not affiliated with or endorsed by TikTok.

Pricing

This actor runs on the Apify platform and consumes platform usage (compute units, plus proxy and any child-actor usage). Actual cost depends on how many pages are scraped, whether Playwright fallback or the third-party TikTok scraper is used, your limits (maxProducts, maxCreators, maxProductsPerSeller), and your proxy configuration. Start with small limits to gauge cost for your workload.

This actor scrapes publicly available data from TikTok. You are responsible for ensuring your use complies with TikTok's Terms of Service, applicable laws, and data-protection regulations. Use the data for research and analysis purposes only.


Built by JCD