TikTok Trending Products - Product, Video & Price Feed
Pricing
from $5.00 / 1,000 trending product records
TikTok Trending Products - Product, Video & Price Feed
Trending TikTok Shop products as a ready-to-use feed: each product with its driving video, price + sale price, 'X sold', rank, and (on scheduled runs) sales velocity + price history. From public Creative Center Top Products + product pages - no seller account, no Shop API. PPE pricing.
Pricing
from $5.00 / 1,000 trending product records
Rating
0.0
(0)
Developer
Seibs.co
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
13
Monthly active users
6 days ago
Last modified
Categories
Share
TL;DR for anyone running a trending-products site, TikTok Shop affiliates, and dropshippers: A ready-to-use data feed of trending TikTok Shop products - each product paired with the video driving it, its price + sale price, "X sold", category, and leaderboard rank. Schedule it daily and it also emits sales velocity (units/day) and price history per product. Built entirely from public surfaces (Creative Center Top Products + public product pages) - no seller account, no TikTok Shop API, no data-security review. Compared to paying Kalodata or FastMoss $99+/mo for a closed dashboard, this hands you the raw, normalized feed you can pipe straight into your own site or app. Priced as PPE: a run that returns nothing costs nothing. Free Apify plan covers small daily pulls on your $5 platform credit.
Run it in 30 seconds
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("seibs.co/tiktok-trending-products").call(run_input={"mode": "feed","region": "US","period_days": 7,"max_products": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Or via curl:
curl -X POST "https://api.apify.com/v2/acts/seibs.co~tiktok-trending-products/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"mode": "feed", "region": "US", "period_days": 7, "max_products": 50}'
Or click "Try for free" on this page if you prefer the no-code UI.
What you get
Each run produces a clean dataset, filterable in the Apify console and downloadable as CSV or JSON, with two ready-made table views: Trending feed (rank / product / price / sold / driving video / buy link) and Velocity & price history. Each trending_product record is a complete feed item: product, image, price + sale price, "X sold", rating, category, rank, the driving TikTok video (URL + embed + creator + views), and a monetizable buy_url.
What it does
For a region + trend window, it builds a trending-products feed from three public surfaces - none of which need a seller account or the TikTok Shop API:
- Creative Center -> Top Products (the trending leaderboard, and the friendliest TikTok surface to read). The browser tier renders the page and captures its own product-list call - we never forge a signature. This gives ranked products + each product's trend signal + the videos/ads that drove it.
- Public TikTok Shop product page fills in price, sale price, "X sold", rating that Creative Center does not expose (the enrichment hop).
- Public TikTok video page for the driving video's engagement (views/likes/creator).
Then, on every scheduled run, it diffs against the previous snapshot and attaches velocity + price history per product.
Modes
| Mode | What you get |
|---|---|
feed | Full record: trending product + price/sales enrichment + driving video. The feed. |
discover | Trending leaderboard only (name / rank / category / trend). Cheap reconnaissance. |
The feed record
{"record_type": "trending_product","rank": 1, "region": "US", "category": "Beauty & Personal Care", "trend_window_days": 7,"product_id": "1729...", "product_name": "Wonderskin Lip Stain", "image_url": "...","price": 24.0, "list_price": 32.0, "on_sale": true, "discount_pct": 25.0, "currency": "USD","units_sold": 128500, "rating": 4.7, "shop_name": "Wonderskin Official","buy_url": "https://shop.tiktok.com/view/product/1729...?aff_id=YOURID","driving_video": {"video_id": "7390...", "video_url": "https://www.tiktok.com/@beautybyamy/video/7390...","embed_url": "https://www.tiktok.com/embed/v2/7390...", "thumbnail_url": "...","creator_handle": "@beautybyamy", "views": 4200000, "likes": 388000, "posted_at_epoch": 1718841600},"trend": { "trend_score": 0.92, "rank_change": 4, "first_seen": "2026-06-18T00:00:00+00:00" },"velocity": { "units_sold_delta": 5100, "units_sold_per_day": 5100.0, "price_change": 0.0,"rank_change": 4, "is_new": false, "days_tracked": 7 },"scraped_at": "2026-06-25T14:00:00+00:00"}
Velocity & price history (the part that makes "trending" real)
A single snapshot only tells you what is popular now. "Trending" is change over time. So when this actor runs under an Apify Schedule, every run diffs against the previous snapshot and derives per product:
units_sold_per_day- estimated daily sales velocity from the "X sold" delta (the same method Kalodata/FastMoss sell).price_change/price_change_pct- price history.rank_change- climbing vs fading on the leaderboard.is_new- just entered the leaderboard (the highest-value early signal for an affiliate).
History only accrues forward, so the actor snapshots from its very first run. Schedule it once and your moat compounds daily. Set monitor_webhook_url to get the daily movers digest pushed to Slack.
Inputs
{"mode": "feed","region": "US","period_days": 7,"max_products": 50,"enrich_price": true,"affiliate_tag": "aff_id=YOURID&source=dailyvirals","monitor_webhook_url": "","use_browser_fallback": true,"browser_cdp_url": ""}
affiliate_tag is appended to every buy_url so the feed is monetizable out of the box.
Pricing
| Event | What it covers | Price |
|---|---|---|
trending_product | One ranked product + trend signal + driving video | $0.005 |
enriched_product | Price / sale price / "X sold" / rating filled from the product page | $0.005 |
scheduled_delta_run | Per scheduled run: velocity + price-history + movers digest | $0.050 |
Pay-per-event: failed fetches are not charged. A run that returns nothing costs nothing.
What you DON'T get
For transparency: this surfaces public, estimated commerce signals. It does not return:
- TikTok's official GMV (those numbers live behind the authenticated seller/partner API). Sales figures here are estimates derived from the public "X sold" delta - the same basis every third-party tool uses.
- Other creators' private affiliate analytics (those require each creator's authorization via TikTok's CAP flow).
Reliability
- The browser tier captures Creative Center's own request (no forged signatures), TLS-impersonation (
curl_cffi) for product pages, Apify RESIDENTIAL proxy for the browser leg. - Fail-soft throughout: a blocked surface emits a documented
surface_pendingnote and the run still SUCCEEDS. Demo records when a pull comes back empty. - The Creative Center product-list endpoint path is confirmed/tuned on the first live browser run; the extractor parses defensively so a TikTok JSON reshape does not break the feed.
Powering a website (e.g. a daily-virals feed)
Schedule the actor daily, then have your site read the run's dataset via the Apify API:
GET https://api.apify.com/v2/acts/seibs.co~tiktok-trending-products/runs/last/dataset/items?token=<TOKEN>&clean=true
That endpoint always returns the latest feed - point your frontend at it (or cache it) and the site updates itself every day. Velocity and price history ride along automatically.