How to Scrape TikTok Shop Products (Step-by-Step Guide)

If you want to scrape TikTok Shop products — for price monitoring, dropshipping research, MAP enforcement, or cross-region brand intelligence — this guide walks you through the entire process. You will learn what data you can extract from TikTok Shop product detail pages and seller storefronts, how to automate the collection across the US, UK, and Southeast Asia, and how to turn raw listings into actionable social-commerce intelligence.
Why Scrape TikTok Shop Data?
TikTok Shop is the fastest-growing social commerce platform in the world. Built directly into the TikTok app, it lets creators tag products in videos and livestreams and turns scroll-time into transaction-time at a scale no traditional marketplace has matched. In its core Southeast Asian markets — Indonesia, Thailand, Vietnam, Malaysia, the Philippines, and Singapore — TikTok Shop has already overtaken Lazada and is closing the gap with Shopee in several categories. In the US and UK, it has gone from launch to multi-billion-dollar GMV in under two years.
What makes TikTok Shop uniquely valuable as a data source is the combination of merchandising signal density and the velocity of the underlying catalog. Every product detail page surfaces a clean current price, an original price, a discount percent, a sold count, an available quantity, a star-by-star rating distribution, and a full shop metadata block — followers, total sold, total products on sale, and region. New SKUs appear continuously as creators promote them; viral products sell out and reappear under different sellers within days. For anyone tracking social commerce, this is one of the highest-signal public datasets on the internet.
Businesses and researchers scrape TikTok Shop data for a range of purposes:
- Price monitoring — track pricing changes across competitor catalogs in 8 markets and 8 local currencies
- Dropshipping & product research — surface viral products by
soldCountand rating velocity, then validate margins against Alibaba or 1688 - Cross-region price benchmarking — fetch the same SKU in the US, UK, and Southeast Asia to spot arbitrage opportunities and grey-market price gaps
- MAP (minimum advertised price) enforcement — monitor whether unauthorised sellers are violating brand pricing on TikTok Shop
- Brand & shop intelligence — track shop followers, total sold, and product count over time to map seller growth on the platform
- Trend spotting — TikTok Shop is the earliest signal for what will trend on Amazon, Shopee, and Lazada in 90 days
Manually copying product details from TikTok Shop is impractical. The catalog spans millions of SKUs, prices and stock change continuously, and TikTok aggressively blocks scrapers that don't blend in with mobile traffic. Automation is the only realistic approach.
What Data You Can Extract from TikTok Shop
The TikTok Shop Product Scraper extracts structured product data from any product detail page, seller storefront, or numeric product ID. Here are the key fields available:
| Field | Description | Example |
|---|---|---|
| Product ID | TikTok Shop's unique product identifier | 1729587769570529799 |
| Title | Full product title | 3 Bottles of Goli Ashwagandha & Vitamin D Gummy |
| Brand | Brand name | Goli Nutrition |
| Category path | Full 4-level category breadcrumb | ["Health", "Nutrition & Wellness", ...] |
| Price | Current sale price in local currency | 14.98 |
| Original price | Pre-discount list price | 24.99 |
| Discount percent | Discount off the original price | 40 |
| Currency | ISO currency code | USD |
| Sold count | Total lifetime units sold | 853744 |
| Available quantity | Current available stock | 247869 |
| Rating score | Average rating (1–5) | 4.7 |
| Rating count | Total review count | 71077 |
| Rating distribution | Full 1–5 star breakdown | {"1": 3225, ..., "5": 60619} |
| Images | Array of product image URLs | ["...image-1.jpeg", "...image-2.jpeg"] |
| Variants | SKUs with property pairs and per-variant stock | [{"skuId": "...", "propertyPairs": [...]}] |
| Shop metadata | Shop name, rating, followers, total sold, region | {"shopName": "Goli Nutrition", ...} |
| Country code | TikTok Shop region the product was fetched from | us |
| Source | How the product entered the dataset (input, related, storefront) | input |
| Scraped at | UTC timestamp of the extraction | 2026-05-16T09:34:00.000Z |
This is exactly the kind of structured social-commerce data category managers, dropshippers, and brand teams need — live prices, discount math, stock levels, rating distributions, and full shop context — all in a single export.
Common Use Cases for TikTok Shop Data
Price Monitoring & Discount Tracking
TikTok Shop pricing moves with the platform's promotional rhythm — creator-driven flash sales, livestream-only discounts, and "Mega Sale" days that mirror Shopee's 9.9 / 10.10 / 11.11 calendar. Scraping price, originalPrice, and discountPercent on a schedule lets you build a real-time view of how aggressively a category discounts, when category-wide promotions kick in, and how prices move during Super Brand Day and seasonal sale events.
Cross-Region Price Benchmarking
The scraper fetches the same product across all 8 supported countries in the matching local currency. Drop the same productIds list with countries: ["us", "gb", "id", "th"] and you get four parallel datasets ready for cross-region price comparison — useful for grey-market detection, parallel-import margin analysis, and pricing-strategy benchmarking.
Dropshipping & Viral Product Research
Sort by soldCount, filter by recent scrapedAt, and you have a clean signal for what is actually selling on TikTok Shop right now. Pair with 1688 or AliExpress to validate sourcing margins, then pair with Amazon to confirm whether the same trend is already crossing over to Western marketplaces.
MAP Enforcement for Social-Commerce Brands
If you are a brand selling on or off TikTok Shop, the scraper makes MAP enforcement straightforward: enumerate every storefront carrying your products (via sellerIds), check the current price against your floor, and flag the violating SKUs. originalPrice and discountPercent make it easy to distinguish a legitimate manufacturer-approved promotion from an unapproved retailer markdown.
Shop & Seller Intelligence
Each scraped product carries a rich shop block — shopName, shopRating, followersCount, soldCount, onSellProductCount, videoCount, and region. Aggregating these fields across a tracked seller set gives you a structured view of seller growth on the platform, useful for influencer-led brand tracking, M&A scouting, and platform-share monitoring.
Trend Spotting Across Social Commerce
TikTok Shop is consistently the earliest indicator for what will trend on Amazon, Shopee, and Lazada in 90 days. Tracking soldCount velocity and rating-distribution shifts on TikTok Shop products is a leading signal for category managers across global ecommerce.
Challenges of Scraping TikTok Shop Manually
Before jumping into the tutorial, it is worth understanding why building your own TikTok Shop scraper is harder than it looks:
- No keyword search or category browse for scrapers — TikTok Shop's discovery surfaces are app-native and gated. Web scrapers cannot search by keyword or walk a category index. You have to seed with URLs, product IDs, or seller IDs you already know
- Region-gated rendering — the same product page returns completely different prices, currencies, and stock depending on the requesting country. Getting the data right for
us,gb, and Southeast Asian markets requires per-region session handling - Mobile-first frontend — TikTok Shop's web frontend mirrors the in-app rendering and changes frequently. Custom scrapers that aren't actively maintained break within weeks
- Mixed page shapes — product detail pages, alt
/view/product/pages, and seller storefronts all expose different JSON payloads. Building a single extractor that handles all three takes care - Aggressive anti-bot — TikTok deploys some of the most sophisticated bot detection on the public internet. Naïve
fetchcalls are blocked within seconds - Variant complexity — each product can have a dozen SKUs with arbitrary property pairs (size, colour, pack count, flavour). Flattening them into a clean dataset without losing the per-variant stock is non-trivial
- Currency and number-format pitfalls — IDR, VND, and PHP prices run into the millions; parsing them as plain JavaScript numbers without rounding errors requires explicit handling
For most use cases, a pre-built and maintained scraper that already handles region routing, mobile rendering, and variant flattening is dramatically more practical than building one in-house.
Step-by-Step: How to Scrape TikTok Shop Products
Here is how to scrape TikTok Shop product data using the TikTok Shop Product Scraper on Apify.
Step 1 — Pick Your Input Mode
The scraper accepts three input types — use any combination in a single run:
startUrls— paste TikTok Shop URLs directly. Accepts product pages (/shop/pdp/<slug>/<productId>), the alt product path (/view/product/<productId>), and seller storefronts (/shop/store/<slug>/<sellerId>)productIds— bulk-paste numeric product IDs and let the actor resolve each one to its product detail page automaticallysellerIds— provide seller IDs to enumerate every product on that storefront's first page
You must provide at least one of the three. Most users start with a few seed URLs to validate the output shape, then move to bulk productIds for ongoing tracking or sellerIds for full-catalog enumeration.
Step 2 — Choose Your Countries
Pass a list of country codes to countries. The scraper fetches each product once per country, in the matching local currency:
| Code | Country | Currency |
| ---- | --- | --- |
| us | United States | USD |
| gb | United Kingdom | GBP |
| id | Indonesia | IDR |
| my | Malaysia | MYR |
| th | Thailand | THB |
| sg | Singapore | SGD |
| vn | Vietnam | VND |
| ph | Philippines | PHP |
Default is ["us"]. A run with countries: ["us", "gb", "id"] and 100 product IDs produces 300 records — one per product per country.
Step 3 — Configure the Scraper Input
Head to the TikTok Shop Product Scraper on Apify and configure your run:
- Add
startUrls,productIds, orsellerIds— any combination - Set
countriesto one or more region codes (default["us"]) - Optionally enable
expandRelatedto fan out from each seed product into alternative-product and top-reviewed-product links - Set
maxProductsas a budget ceiling — especially important whenexpandRelatedis enabled
Example input:
{
"startUrls": [
{ "url": "https://www.tiktok.com/shop/pdp/x/1729587769570529799" }
],
"productIds": ["1729587769570529799", "1730946689312002567"],
"sellerIds": [
{ "sellerId": "7495794203056835079", "slug": "goli-nutrition" }
],
"countries": ["us", "gb"],
"expandRelated": false,
"maxProducts": 100
}
Step 4 — Run the Scraper
Once started, the scraper will:
- Resolve every
productIdandsellerIdinto a canonical product detail URL - Fetch each product once per country in your
countrieslist - Parse pricing, sold count, available quantity, rating distribution, images, videos, and per-variant SKUs into clean fields
- Attach a full shop metadata block to every record (followers, total sold, product count, region)
- If
expandRelatedis enabled, enqueue alternative-product and top-reviewed-product links from each PDP and continue untilmaxProductsis hit - Retry failed pages automatically so transient errors don't pollute the dataset
- Stream every product into a typed dataset
Because the scraper mirrors mobile rendering rather than spinning up a full headless browser, runs are fast and cheap. A 1,000-product sweep across two countries typically finishes in a few minutes.
Step 5 — Export Your Results
When the scraper finishes, export your data in the format you need:
- JSON — ideal for developers building integrations or price-monitoring pipelines
- CSV / Excel — perfect for spreadsheet analysis or importing into BI tools
- XML / HTML / RSS — useful for feeds and reporting workflows
- API — access results programmatically via the Apify API for automated runs
Ready to try it? Run the TikTok Shop Product Scraper on Apify and get your first dataset in minutes.
Example Output (Real Data Preview)

Here is what the actual output looks like. Each product is returned as a structured JSON object:
{
"productId": "1729587769570529799",
"sellerId": "7495794203056835079",
"url": "https://www.tiktok.com/shop/pdp/x/1729587769570529799",
"countryCode": "us",
"title": "3 Bottles of Goli Ashwagandha & Vitamin D Gummy - Mixed Berry, KSM-66, Vegan, Plant Based, Non-GMO, Gluten & Gelatin Free",
"brand": "Goli Nutrition",
"categoryPath": [
"Health",
"Nutrition & Wellness",
"Vitamins, Minerals & Wellness Supplements",
"Vitamins Supplements"
],
"price": 14.98,
"originalPrice": 24.99,
"discountPercent": 40,
"currency": "USD",
"currencySymbol": "$",
"soldCount": 853744,
"availableQuantity": 247869,
"ratingScore": 4.7,
"ratingCount": 71077,
"ratingDistribution": { "1": 3225, "2": 762, "3": 1815, "4": 4656, "5": 60619 },
"images": [
"https://p16-oec-general-useast5.ttcdn-us.com/.../image-1.jpeg",
"https://p16-oec-general-useast5.ttcdn-us.com/.../image-2.jpeg"
],
"variants": [
{
"skuId": "1729587788239049223",
"skuName": "ASW03",
"propertyPairs": [{ "name": "Pack", "value": "3 Bottles" }],
"availableQuantity": 247869,
"isPreOrder": false
}
],
"shop": {
"sellerId": "7495794203056835079",
"shopName": "Goli Nutrition",
"shopLink": "https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079",
"shopRating": 4.6,
"soldCount": 5310325,
"onSellProductCount": 57,
"reviewCount": 382362,
"followersCount": 541437,
"videoCount": 2479,
"region": "US"
},
"source": "input",
"scrapedAt": "2026-05-16T09:34:00.000Z"
}
Key things to notice:
- Pricing as first-class numeric data —
price,originalPrice, anddiscountPercentare returned as separate numeric fields, ready for analysis without parsing - Stock and demand signals —
soldCountandavailableQuantitygive you the two most important demand signals on TikTok Shop in a single record - Full rating distribution —
ratingDistributionreturns the 1–5 star breakdown, not just the aggregate score, so you can compute review-skew, polarisation, and authenticity heuristics - Variant flattening — every SKU is returned with its
propertyPairs(size, colour, pack count, flavour) and per-variantavailableQuantity, ready for assortment analysis - Embedded shop context — every product carries the full
shopblock so you can pivot from product data to seller data without a second scrape - Provenance fields —
productId,sellerId,countryCode,source, andscrapedAtmake it easy to deduplicate, join across regions, and audit your dataset over time
Try the TikTok Shop Product Scraper now — no coding required.
Tips for Better Results
- Discovery is storefront-driven. TikTok does not expose keyword search or category browse to scrapers. Seed the actor with product URLs/IDs you already know, or with seller IDs to enumerate full storefronts. Use TikTok in-app to discover seeds, then bring them to the scraper.
- Enable
expandRelatedto grow a small seed list. Each PDP exposes alternative-product and top-reviewed-product links that the actor will follow. Each related product is scraped and saved (and billed) just like a seed. Pair it withmaxProductsto cap the budget. - Use
maxProductsas a hard ceiling. WhenexpandRelatedis enabled, fan-out can grow quickly. Always setmaxProductsto a number you are comfortable being billed for. - Multi-country runs for cross-region price monitoring. Pass multiple country codes in
countries[]to fetch the same product once per region. Useful for grey-market detection, parallel-import margin analysis, and platform-share research. - Storefront enumeration for full-catalog tracking. Drop a seller's ID into
sellerIdsand the actor harvests every product on their first storefront page — the fastest way to map a competitor's TikTok Shop catalogue.
Automating TikTok Shop Data Collection
For ongoing social-commerce intelligence, you do not want to run the scraper manually every time. The Apify platform supports full automation:
Scheduled Runs
Set up recurring scrapes on any schedule — hourly, daily, or weekly. Hourly runs work well during Super Brand Day or 9.9 / 10.10 / 11.11 mega-sale events when prices move quickly; daily runs are sufficient for general catalog tracking; weekly runs make sense for slower-moving categories.
API Integration
Use the Apify API to trigger scraper runs programmatically and retrieve results. This lets you integrate TikTok Shop data into your existing systems:
- Feed listings into your social-commerce price-monitoring dashboard
- Trigger alerts when a tracked SKU drops below a target price or runs out of stock
- Sync TikTok Shop catalog data into your BI warehouse, partitioned by region and category
- Connect to tools like Zapier, Make, or custom data pipelines
Node.js Example
For a complete working example showing how to call this scraper from Node.js, see the GitHub repository.
Webhooks
Configure webhooks to get notified when a scraper run completes. This is useful for event-driven workflows where you want to process new product data as soon as it lands — for example, recomputing cross-region price gaps right after a fresh multi-country sweep finishes.
Using TikTok Shop Data for Business Intelligence
The structured data from TikTok Shop unlocks a range of analytical use cases specific to the social-commerce market.
Cross-Region Price Gap Analysis
Fetching the same product across us, gb, id, th, and vn in the matching local currency gives you a clean cross-region price matrix. Convert to a single base currency and you have a structured view of where the same product is priced cheapest — useful for arbitrage, grey-market detection, and parallel-import margin analysis.
Viral Product Discovery
Sort by soldCount over time and you have a leading indicator for what is going viral on TikTok Shop right now. Combine with rating-distribution shifts (a sudden influx of 5-star reviews on a low-volume SKU) and you can catch viral products before they hit aggregator sites.
Seller Growth Tracking
Each product carries a full shop block — followersCount, soldCount, onSellProductCount, videoCount. Aggregating these across a tracked seller set on a weekly cadence gives you a structured view of seller growth on the platform, useful for influencer-led brand tracking and M&A scouting.
Assortment & Variant Analysis
The variants array surfaces each SKU's property pairs and per-variant stock. Aggregating across a category tells you which pack sizes, colours, and flavours dominate — the kind of assortment insight that traditionally takes weeks of manual store-walks.
Discount Intensity by Category
price, originalPrice, and discountPercent make it straightforward to build a time-series view of average and median discount per category. Categories with consistently high discount intensity are typically the most price-competitive and the hardest to defend margins in.
Does TikTok Shop Provide an API?
TikTok Shop does not offer a general-purpose public product API:
What's Available
- TikTok Shop runs a Partner API for seller-account holders, scoped to managing your own listings, orders, fulfillment, and creator partnerships — not the broader public catalog
- The on-site product and storefront endpoints are private internal APIs that are not documented or supported for third-party use
- The TikTok Creative Center exposes some product trend data, but it is aggregated, lagged, and limited to TikTok's own selection criteria
What an Official API Would Miss
Even if TikTok did publish a full public catalog API, the most useful fields for retail intelligence — the precise current price across 8 regions, the rendered discount percentage, the live soldCount, the per-variant availableQuantity, and the full 1–5 star ratingDistribution — are merchandising-layer artifacts that change continuously and rarely make it into stable partner feeds. The public site exposes them to every visitor; an official API almost certainly would not.
The TikTok Shop Product Scraper gives you a practical alternative — structured catalog data from any product URL, product ID, or seller storefront, across 8 markets, without partner-program approval.
Why Use a TikTok Shop Scraper Instead of Building One
Building a custom TikTok Shop scraper sounds straightforward until you actually start:
- No discovery surface for scrapers — TikTok doesn't let you walk a category or run a keyword search from the web. You need to bring your own seeds, which means writing a seed-discovery layer on top of in-app exploration
- Region-aware request handling — the same product page returns different prices and stock for
us,gb, and Southeast Asian regions. Getting the multi-country fan-out right takes per-region session and currency handling - Mobile-mirrored rendering — the public web frontend mirrors mobile rendering and changes frequently. Custom scrapers break within weeks if not actively maintained
- Variant flattening — each product can have a dozen SKUs with arbitrary property pairs and per-variant stock. Flattening these into a clean dataset without losing the structure is non-trivial
- Sophisticated anti-bot — TikTok runs some of the most aggressive bot detection on the public internet. Naïve scrapers get blocked within seconds
- Currency precision pitfalls — IDR, VND, and PHP run into the millions; parsing them as plain JavaScript numbers without rounding errors requires explicit handling
- Opportunity cost — every hour spent fixing your scraper is an hour not spent on the social-commerce analysis the scraper exists to support
Unless you have very specific requirements that no existing tool can meet, a maintained scraper that already handles region routing, mobile rendering, variant flattening, and anti-bot lets you focus on insights instead of plumbing.
Pricing — Pay Only for Results
The TikTok Shop Product Scraper uses Apify's Pay-Per-Event pricing model. You only pay for products that actually land in your dataset — failed pages and retries are free. Compute units and proxy bandwidth are included in the per-event price.
Set maxProducts as a hard budget ceiling — especially important when expandRelated is enabled and a small seed list can fan out into thousands of related products. Multi-country runs are billed per (product × country), so a 100-product list with countries: ["us", "gb", "id"] is billed as 300 events.
Try the TikTok Shop Product Scraper
The TikTok Shop Product Scraper extracts structured data from TikTok Shop product detail pages and seller storefronts — product IDs, titles, brands, category paths, current prices, original prices, discount percentages, sold counts, available quantities, rating scores, full 1–5 star rating distributions, images, videos, per-variant SKUs, and full shop metadata.
What you get:
- Three input modes — product URLs, numeric product IDs, or seller storefronts — mix and match in a single run
- Multi-country support across the US, UK, and Southeast Asia in 8 local currencies
- Optional
expandRelatedfan-out from any seed product, withmaxProductsas a budget ceiling - Structured JSON, CSV, Excel, HTML, XML, or RSS output ready for any downstream tool
- Full rating distribution, per-variant stock, and an embedded shop metadata block on every record
- Pay-Per-Event pricing — only pay for products that actually land in your dataset
- Scheduled runs and API access for ongoing social-commerce intelligence
- No coding, no proxy management, no scraper maintenance
Start scraping TikTok Shop now — your first run takes less than 5 minutes to set up.
If you are building a social-commerce data pipeline, combine TikTok Shop data with other marketplace sources like AliExpress for cross-border price benchmarking, Amazon for Western marketplace comparison, or 1688 for upstream sourcing margin validation.
Legal and Ethical Considerations
Web scraping occupies a well-established legal space, but responsible practice matters:
- Public data only — the TikTok Shop scraper extracts publicly visible product information that anyone can see by visiting tiktok.com/shop. No login or authentication is required
- Respect rate limits — the scraper makes requests at a reasonable pace and retries failed pages instead of hammering them, to avoid overloading TikTok's infrastructure
- No misuse — use collected data for legitimate business purposes like price monitoring, catalog research, MAP enforcement, and competitive analysis. Do not use the data to create counterfeit listings or mislead buyers
- Compliance — if you operate in jurisdictions covered by GDPR, CCPA, or similar data-protection regimes, ensure your data handling complies with the relevant regulations. This primarily applies to how you store and process the data, not the collection itself
TikTok Shop product listings are public marketplace data — they are designed to be found by buyers. Scraping this data for catalog research and price intelligence is aligned with the platform's intended purpose.
Frequently Asked Questions
Is scraping TikTok Shop legal?
Scraping publicly available data from TikTok Shop is generally legal. Product detail pages, prices, reviews, and seller storefronts are visible to anyone who visits the site without logging in. You should always use the data responsibly, comply with applicable privacy regulations, and avoid overloading TikTok's servers with excessive requests.
Does TikTok Shop provide a public API?
TikTok offers a TikTok Shop Partner API, but it is gated behind seller-account approval and is scoped to managing your own listings, orders, and fulfillment — not the broader public catalog. For competitive intelligence, price monitoring, or cross-region research, a web scraper is the practical alternative.
What data can be extracted from TikTok Shop?
You can extract product title, brand, 4-level category path, current sale price, original price, discount percent, currency, sold count, available quantity, rating score, full 1–5 star rating distribution, review count, images, videos, SKUs and variant property pairs, plus shop-level metadata: shop name, shop rating, followers, total products on sale, total sold, video count, and region.
How do I use the TikTok Shop Product Scraper?
Provide one or more product URLs as startUrls, bulk product IDs as productIds, or seller IDs as sellerIds. Choose one or more country codes (us, gb, id, my, th, sg, vn, ph) and optionally enable expandRelated to fan out from each seed product into related and top-reviewed alternatives. Use maxProducts as a budget ceiling when fan-out is enabled.
Which countries does the TikTok Shop scraper support?
The scraper supports United States (us), United Kingdom (gb), Indonesia (id), Malaysia (my), Thailand (th), Singapore (sg), Vietnam (vn), and Philippines (ph). Each product is fetched once per country in the matching local currency — USD, GBP, IDR, MYR, THB, SGD, VND, or PHP.
How much does the TikTok Shop Product Scraper cost?
The actor uses Apify's Pay-Per-Event pricing. You only pay for products that actually land in your dataset — failed pages and retries are free. Compute units and proxy bandwidth are included in the per-event price.
About the Author
This guide was written by Piotr, a software engineer with hands-on experience building and maintaining web scrapers at scale. He develops and maintains a suite of data extraction tools on the Apify platform, helping businesses automate their data collection workflows.
Need help with your scraping project?
Book a free discovery call and let's scope your project together.
Book a Call