TikTok Shop Product & Price Tracker avatar

TikTok Shop Product & Price Tracker

Pricing

from $3.50 / 1,000 results

Go to Apify Store
TikTok Shop Product & Price Tracker

TikTok Shop Product & Price Tracker

Tracks TikTok Shop product prices, discounts, per-SKU stock, sold counts and ratings across 8 markets. Reads the product page's own server-rendered payload — HTTP only, no login, no CAPTCHA solving. Pins the proxy exit to your chosen market so prices never silently change currency.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Tracks TikTok Shop listings across 8 markets — current price, list price, discount, per-SKU price and stock, units sold, rating and review count — by reading each product page's own server-rendered payload.

HTTP only. No login, no cookies, no browser, no CAPTCHA solving.

Two ways to use it

urls — track the products you care about. Give it TikTok Shop product URLs or bare numeric IDs and run it on a schedule; each run appends a fresh price snapshot. This is the mode you want for price monitoring.

discover — sample the catalogue. Pulls products from TikTok's own published per-country PDP sitemap (the US index alone lists ~1.6M products). Use it to build a watchlist, then switch to urls to track it.

Markets

US, PH, VN, MY, SG, TH, JP, and ID.

Indonesia is urls-only — TikTok Shop Indonesia runs on Tokopedia and publishes no PDP sitemap, so there is nothing to enumerate.

The one thing to get right: the market pin

TikTok decides which market you are in from your exit IP, and it cannot be overridden by any cookie or header. Prices are denominated in that market's currency. So an un-pinned rotating proxy can hand you IDR rows and USD rows in the same dataset, with every request returning a healthy 200.

This actor defends against that for you:

  • your chosen country is pinned onto the Apify Proxy exit automatically;
  • every row reports regionServed and regionMatched, and a mismatched row is flagged with _error: REGION_MISMATCH instead of being quietly written;
  • the run summary reports currenciesSeen and currencyStable, and warns loudly if more than one currency shows up in a single run.

If you see REGION_MISMATCH, your proxy exited in the wrong country — the data is not wrong, it is just a different market's prices.

Reading the price fields

TikTok's headline price is the cheapest SKU, and for multi-variant products that can be far below what most variants cost — one sampled listing ran from 114 to 27,552 in the same currency. So you get the spread, not just a number:

FieldMeaning
salePricecurrent price of the cheapest SKU (what TikTok shows)
originalPrice / discountFormattedstruck-through price and % off, as displayed
salePriceMinAcrossSkus / salePriceMaxAcrossSkusthe real range across variants
priceVariesBySkutrue when variants are not all the same price
singleProductPriceundiscounted single-unit price
skus[]per-variant price, stock quantity and stock status

Proxy requirements (read this before picking a market)

Because the market is chosen by exit IP, your proxy has to have IPs in the market you ask for. Two failure modes are reported explicitly rather than silently:

  • PROXY_COUNTRY_UNAVAILABLE — the request never reached TikTok; it died in the proxy CONNECT tunnel because your Apify Proxy plan has no IPs in that country. Pick a market your plan covers, or pass your own proxies in proxyConfiguration.proxyUrls.
  • SITEMAP_UNREACHABLEdiscover mode only. TikTok's PDP sitemap answers fine to residential exits but 404s from datacenter networks, so discover needs a residential proxy. urls mode works on any egress.

Output

One row per product, with flattened price columns plus the raw payload. Failures produce a diagnostic row (_error: REGION_MISMATCH_OR_NOT_FOUND, UNPARSEABLE_INPUT, CAPTCHA_SHELL, BLOCKED_AFTER_RETRIES, UPSTREAM_<code>) rather than a silent gap, so a scheduled run never loses an input without telling you. A RUN_SUMMARY record carries the market, currency stability and transport stats.