TikTok Shop Sales Tracker: Units Sold per Day & Top Products
Pricing
from $2.40 / 1,000 products
TikTok Shop Sales Tracker: Units Sold per Day & Top Products
Know what's selling on TikTok Shop and how fast: exact units sold, units and revenue per day, rising products and GMV for every product, keyword, shop and category you track. Whole shop catalogues, deep keyword lists, stock per variant, filters, changes only. US, from $3 per 1,000 products.
Pricing
from $2.40 / 1,000 products
Rating
0.0
(0)
Developer
CleanPull
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Know what's selling on TikTok Shop, and how fast. This actor reads TikTok Shop US products by keyword, shop, category or URL with TikTok's exact units sold (9,857, not "9.8K"), and turns every run into sales velocity: units sold per day, revenue per day and a rising, steady or falling trend for every product. It also adds the totals for every keyword, shop and category you track. Run it once for a snapshot with lifetime GMV estimates. Schedule it and it becomes your own TikTok Shop sales tracker, from $3 per 1,000 products.
What you get
- Units sold per day for every product. Each run remembers every product's sold count. The next run gives
unitsSoldSinceLastRun,unitsPerDayandrevenuePerDayEstimate. From the third run,trendsays whether sales are speeding up or slowing down. - A sales leaderboard for every keyword, shop and category. One summary row each, with units and revenue per day in total, the top 10 sellers, the products whose sales are rising, and products new to that keyword or shop since your last run.
- A shop's daily sales, from its whole catalogue. Give a store and the actor reads every product, up to 20,000. The shop summary adds up their sales, so you see the shop's units and revenue per day as they happen.
- Lifetime GMV estimates.
gmvEstimate(units sold × price) for every product, andgmvEstimateTotalwith a top 10 by GMV for every keyword, shop and category. - Deep keyword lists. Each keyword is followed through TikTok's "View more" pages to the end of the list, typically 100 to 140 products for popular terms (raise
maxProductsPerKeywordabove its default of 100 to get them all), each with its exact sold count. - Sale and deal data on every row: price, original price, discount %, when the deal ends, free shipping and TikTok's sale labels.
- Product details when you want them:
- stock and price for every variant, with the stock change since the last reading with stock and a low-stock flag;
- the product's own video, the description and specifications;
- delivery fee and days, categories with IDs;
- the star breakdown and featured reviews (verified and incentivized flags);
- the seller's business name and address;
- the shop's badge, totals and service scores (positive feedback, on-time delivery, chat).
- One row per product. A product found by two keywords and a shop is delivered once. It lists every source, its position there and its rank by units per day.
- Filters that run before you pay: price range, minimum rating, reviews, units sold or units per day; discounted or free-shipping only; title words to include or exclude; sellers to include or exclude. Filtered products are not billed. Filters apply to products found through keywords, shops and categories; products you list directly are always delivered.
- Changes only. Deliver just the products that sold, changed price or are new. Unchanged products cost $0.50 per 1,000, so a daily tracker stays cheap.
Who it's for
- Product researchers and dropshippers: find what's taking off this week, not what sold the most since launch.
- Brands and sellers: track your products and your competitors' daily, with price moves and stock.
- Agencies and analysts: size a niche by keyword (units and revenue per day, lifetime GMV), compare shops, and feed a dashboard.
Built to be relied on
- Exact numbers. Sold counts come straight from TikTok Shop's own data, as exact integers. TikTok's note says they count items sold since listing, excluding returns.
- You never pay for a skipped day. A reading becomes the baseline for next time only once it is delivered, so a run cut by your spending limit or
maxItemsnever loses sales. - Runs that finish.
- A keyword TikTok has no page for, or a removed product, is noted in the run summary, and everything else is delivered.
- Refused requests are retried automatically.
- An empty input runs an example keyword, so you can see the output first.
- Fast and light. Plain HTTP, no browser.
Input
| Field | Type | What it does |
|---|---|---|
keywords, maxProductsPerKeyword | array, integer | Shopping terms; products per keyword (default 100, up to 1,000) |
shops, maxProductsPerShop | array, integer | Store URLs (shop.tiktok.com/us/store/name/ID) or seller IDs; products per shop (default 200, up to 20,000) |
products | array | Product URLs (…/pdp/name/ID, …/view/product/ID) or IDs, read from their product pages |
categoryUrls, maxPagesPerCategory | array, integer | Category pages (shop.tiktok.com/us/c/name/ID), 15 products a page; best for discovery, as category lists vary |
startUrls | array | Any mix of product, store, category and keyword URLs |
datasetId, datasetField | string | Products or shops from another dataset, such as a previous run |
monitorName | string | Units per day are measured against the last run with this name; use one name per list you track |
changesOnly | boolean | Only products that sold, changed price or are new (stock changes too, for products you list directly) |
minPrice, maxPrice, minRating, minReviews | number | Filters on price (USD), rating (0–5) and review count |
minUnitsSold, minUnitsPerDay | number | Filters on lifetime units sold and on units per day (products without a velocity yet are kept) |
onlyDiscounted, onlyFreeShipping | boolean | Only products on sale, or with free shipping |
titleIncludes, titleExcludes | array | Words the title must contain, or must not contain |
sellers, excludeSellers | array | Seller IDs or shop names to keep, or to leave out |
includeProductDetails, lowStockThreshold | boolean, integer | Product pages: variants with stock, video, description, delivery, reviews, seller and shop details; low-stock level (default 10) |
includeSummaries | boolean | One summary row per keyword, shop and category, and one for your listed products (default on) |
maxItems, fields, maxConcurrency, proxyConfiguration | Limits and tuning; when maxItems cuts the list, the fastest sellers are kept |
Example inputs
What's selling fastest in two niches, every day (schedule it daily):
{"keywords": ["lip gloss", "protein powder"],"maxProductsPerKeyword": 200,"monitorName": "beauty-daily"}
A whole shop's daily sales:
{"shops": ["https://shop.tiktok.com/us/store/style-rule/7495210231735224924"],"maxProductsPerShop": 5000}
Discounted products under $30 rated 4.5 and up, without refills:
{"keywords": ["lip oil"],"maxPrice": 30,"minRating": 4.5,"onlyDiscounted": true,"titleExcludes": ["refill"]}
Your products, with stock per variant, only when something changed:
{"products": ["https://shop.tiktok.com/us/pdp/1729400216682730076"],"includeProductDetails": true,"changesOnly": true}
Output
A product row (second run, 12 hours after the first):
{"recordType": "product","productId": "1729407202568147235","title": "e.l.f. Glow Reviver Lip Oil, Nourishing Lip Oil High-Gloss Finish 0.25 oz (7.6 mL)","url": "https://shop.tiktok.com/us/pdp/glow-reviver-lip-oil-by-e-l-f-cosmetics-hydrating-tinted-formula/1729407202568147235","image": "https://p16-oec-general-useast5.ttcdn-us.com/…/lip-oil.webp","price": 13,"originalPrice": 16,"discountPercent": 19,"dealEndsAt": "2026-10-04T06:59:00.000Z","freeShipping": true,"currency": "USD","rating": 4.8,"reviewCount": 18416,"unitsSold": 226826,"gmvEstimate": 2948738,"unitsSoldSinceLastRun": 412,"hoursSinceLastRun": 12,"unitsPerDay": 824,"revenuePerDayEstimate": 10712,"trend": "rising","previousUnitsPerDay": 610,"previousPrice": 13,"priceChangePercent": 0,"previousStock": null,"firstSeen": "2026-10-01T08:00:00.000Z","tracked": true,"sellerId": "7494913857786775843","shopName": "e.l.f. Cosmetics","brand": "e.l.f.","labels": ["Flash sale", "Free shipping"],"sources": [{"type": "keyword","value": "lip gloss","position": 1,"velocityRank": 1,"newInSource": false,"relevantToKeyword": false,"keywordWordsMissing": ["gloss"]}],"scrapedAt": "2026-10-02T08:00:00.000Z"}
With includeProductDetails, a details object adds:
- Stock:
stock,stockChange,lowStock, andskus(options, price, stock, available). - Content:
video(URL, duration, cover),description,specifications,images. - Logistics:
delivery(free shipping, fee, minimum and maximum days, estimate),categories,categoryIds. - Reviews:
ratingBreakdownandfeaturedReviews. - Seller and shop:
sellerBusinessName,sellerBusinessAddress, andshop(units sold, products, followers, rating, badge, service scores).
A summary row per keyword, shop and category, and one for the products you listed directly (type: product):
- Coverage:
products,complete,productsWithVelocity. - Totals:
unitsSoldTotal,gmvEstimateTotal,unitsPerDayTotal,revenuePerDayEstimate. - Lists:
topByUnitsPerDay,topByGmv,rising,newProducts,topNewProducts. - Shops also get TikTok's own
shoptotals. - Fees:
marketplaceFees, TikTok Shop US's published referral fee list rate (6% for most categories, 5% for some jewelry and pre-owned), with what it leaves out (creator commissions, Fulfilled by TikTok, shipping) and its source. - Keywords also get
relevantToKeyword: the same totals (products,productsWithVelocity,unitsSoldTotal,gmvEstimateTotal,unitsPerDayTotal,revenuePerDayEstimate) over the products whose title carries the keyword, withrelevanceBasisstating the rule andtotalsCoversaying the main totals cover every product listed. The top lists mark each productrelevantToKeyword.
Keyword relevance. TikTok's keyword search also lists related products (a "lip gloss" search lists lip oils, liners and blush), and its list cards carry no category, so a keyword's totals add up unrelated products. Each keyword source on a product row has relevantToKeyword and keywordWordsMissing: a plain title check, true when every word of the keyword (filler words like "for" and "the" left out) is in the title, singular or plural, or written as one ("lipgloss"). It is a clue, not a verdict: synonyms and misspellings are not matched. Nothing is filtered on it, and titles are delivered as TikTok gives them.
The run summary (key-value store, RUN_SUMMARY) gives the outcome (COMPLETE, PARTIAL, NO_CHANGES, EMPTY or FAILED), counts, charges, warnings and anything that could not be read.
Pricing
| Event | Price | When |
|---|---|---|
product | $3.00 per 1,000 | A delivered product row, velocity and GMV included |
product-checked | $0.50 per 1,000 | An unchanged product with Changes only |
product-details | $1.00 per 1,000 | A product page read for includeProductDetails |
source-summary | $0.001 each | A summary row per keyword, shop, category or product list |
Products given in products are read from their product pages at the product price. Apify subscription discounts apply (10% Silver, 20% Gold and above).
Good to know
- TikTok Shop US.
- The first run is the baseline. Units per day appear from the second run under the same monitor name, and the trend from the third. Schedule runs a few hours to a day apart for the steadiest numbers; runs less than 15 minutes apart count from the earlier reading.
- GMV is an estimate: lifetime units sold × today's price.
- Summaries cover every product a keyword, shop or category lists, including those your filters leave out of the product rows, so they describe the whole market. For keywords,
relevantToKeywordgives the same totals over the products whose title carries the keyword. - Categories come with product details only. TikTok's search and list cards carry no category or product type (checked on the keyword, category and shop lists);
details.categoriescomes from the product page withincludeProductDetails. A product found through a category page has that category among itssources. - Video and image links are signed by TikTok and stop working after a few hours (
video.urlExpiresAt); download what you want to keep. - Original price and discount come from list cards (keywords, shops, categories); for products you list directly, the row shows the sale labels and the deal end.
- Category pages vary between visits. Use them to discover products, then track those through keywords, shops or products.
- Reviews: the star breakdown, the total and the featured reviews shown on the product page.
- Nothing found: when nothing could be read because none of it exists (a keyword, shop, category or product TikTok Shop has no page for, or a list with no products), the run still succeeds, with one free
recordType: "unreadable"row per item giving thereason; nothing is charged. A run near its time limit stops starting sources and product pages, delivers what it read and lists the rest the same way.
Changelog
- 0.2.x, reliability (2026-10-24): runs that find nothing (keywords, shops, categories or products with no page) end SUCCEEDED with a free
unreadablerow per item saying why; a run stops starting sources before its time limit and ends with what it read, never TIMED-OUT. A run TikTok blocked on every route still fails. Prices and events unchanged. - 0.2.x (2026-10-23):
marketplaceFeeson summary rows: TikTok Shop US's published referral fee list rate. Prices and events unchanged. - 0.2.x (2026-10-16): keyword relevance:
relevantToKeywordandkeywordWordsMissingon each keyword source of a product row, and keyword summaries with totals over the relevant products next to the totals over all of them. Nothing changes in price, filters or existing fields. - 0.2: original price, discount and deal end; lifetime GMV estimates; filters (price, rating, reviews, units, discount, free shipping, title, sellers); product video, description, delivery, category IDs, seller business details, shop badge and service scores; stock change and low-stock flag.
- 0.1: first release.