TikTok Shop Product Scraper
Pricing
from $13.00 / 1,000 products
TikTok Shop Product Scraper
Scrape TikTok Shop products by keyword, category URL or product URL across 10 storefronts. Every row carries title, price, original_price, discount_percent, seller_name, rating, sold_count and the full category_path. Export JSON, CSV or Excel, or pull it from the API.
Pricing
from $13.00 / 1,000 products
Rating
0.0
(0)
Developer
herus13
Maintained by CommunityActor stats
1
Bookmarked
302
Total users
91
Monthly active users
12 days ago
Last modified
Categories
Share
TikTok Shop Product Scraper extracts product data from TikTok Shop by keyword search, category URL or direct product URL, across 10 storefronts — US, GB, VN, TH, PH, MY, SG, JP, MX and BR. Every row carries price, original price, discount, seller, rating, sold count and the full category breadcrumb.
中文说明
TikTok Shop 商品数据抓取工具,按关键词、类目页链接或商品链接采集,覆盖美国、英国、越南、泰国、菲律宾、马来西亚、新加坡、日本、墨西哥、巴西十个站点。
每条数据包含标题 title、售价 price、原价 original_price、折扣 discount_percent、店铺 seller_name、评分 rating、销量 sold_count 和完整类目路径 category_path。开启 scrape_product_details 后还会返回商品详情、完整图集、规格与库存。
运行自带住宅代理,无需自行配置代理。在 Apify Console 填好输入点击 Start 即可运行,也可以通过 Apify API 提交同样的 JSON。结果支持导出为 JSON、CSV 或 Excel。
What you get
One dataset row per product. Export as JSON, CSV or Excel.
{"product_id": "1729851384162063155","title": "Wireless Bluetooth Earbuds — Noise-Cancelling","price": 18.81,"original_price": 31.36,"discount_percent": 40.0,"currency": "$","seller_name": "SPRISE","rating": 3.3,"sold_count": 88,"product_url": "https://shop.tiktok.com/us/pdp/.../1729851384162063155"}
Rows also carry seller_id, review_count, main_image, image_urls, category_path (a list of {id, name} root to leaf), region and scraped_at. Turn on scrape_product_details, or pass product_urls, and each row adds the product description, the full image gallery, variants, stock_total and the seller's followers, rating and response rate.
Which regions support which features
Not every storefront exposes every surface on the web. This is what each region supports:
| Regions | Keyword search | Category URLs | Product URLs + details | Reviews |
|---|---|---|---|---|
US, VN, TH, PH, MY, SG | ✅ | ✅ | ✅ | ✅ |
ID Indonesia | ✅ | ✅ | ✅ | ✅ |
GB, JP, MX, BR | limited | limited | limited | limited |
Indonesia's TikTok Shop is Tokopedia; this actor reads it natively, so keyword search, category browse, product details and reviews all work there. For GB, JP, MX and BR the public web storefront often returns little or nothing to a keyword search — supply product_urls or category_urls you already have and expect partial coverage. France is not available (no public web storefront).
What it costs
| Event | Free | Bronze | Silver | Gold+ |
|---|---|---|---|---|
product (product-detail) | $0.018 | $0.01633 | $0.01467 | $0.013 |
result (product-search-result) | $0.008 | $0.00733 | $0.00667 | $0.006 |
Actor Start (apify-actor-start) | $0.002 | $0.002 | $0.002 | $0.002 |
You pay per product, not per minute: $0.008 for a product from search or a category, $0.018 for a product with the full detail set. A thousand search results is about $8.00, and the residential proxy is included in that price. Higher Apify subscription tiers pay the lower per-product rates shown above.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
search_terms | array | no | — | Keywords to search on TikTok Shop. Each term returns every matching product up to max_results, with price, seller, rating and sold count. Works on every supported storefront. Examples: wireless earbuds, silk pillowcase. Provide at least one of search_terms, category_urls or product_urls; leave empty to scrape only from the other two. |
product_urls | array | no | — | Direct product page URLs, one per entry. Most regions: https://shop.tiktok.com/{region}/pdp/{product_id}. For ID (Tokopedia): https://www.tokopedia.com/{shop}/{product-slug}. Each URL returns one product with the full detail set: description, image gallery, variants and the complete category breadcrumb. Provide at least one of search_terms, category_urls or product_urls; leave empty to scrape only from the other two. |
category_urls | array | no | — | Category browse URLs, one per entry. Most regions: https://shop.tiktok.com/{region}/c/{slug}/{id} (e.g. https://shop.tiktok.com/us/c/beauty-personal-care/601450). For ID (Tokopedia): https://www.tokopedia.com/p/{slug} (e.g. https://www.tokopedia.com/p/handphone-tablet). Each URL returns every product in that category up to max_results. Leave empty to scrape only from search_terms and product_urls. |
region | string | no | "US" | TikTok Shop storefront to scrape. It decides the catalogue, the language of the listings and the currency of every price. Default US. Supported: US United States, GB United Kingdom, VN Vietnam, TH Thailand, PH Philippines, MY Malaysia, SG Singapore, JP Japan, MX Mexico, BR Brazil, ID Indonesia. Indonesia is Tokopedia (search, category browse, product detail and reviews). France has no public web storefront. |
max_results | integer | no | 100 | Most products returned per search term and per category URL. Default 100, minimum 1, maximum 1000. product_urls returns one product each and ignores this cap. A keyword feed usually runs out after 50-200 products, so a wider crawl means more search terms rather than a higher cap. |
scrape_product_details | boolean | no | false | Add the full detail set to every product found by a search term or a category URL: product description, full image gallery, variants, stock and the complete category breadcrumb root to leaf. Default false, which returns the listing fields only. Each enriched product is charged as a product detail instead of a search result. Products given in product_urls always carry the detail set, so this setting does not change them. |
browser_endpoint | string | no | — | WebSocket URL of a remote browser service you already pay for, used instead of the one this actor ships with. One URL, shaped wss://user:password@host:9222. Leave empty to use the browser included in the price of the run. |
proxyUrls | array | no | — | Leave empty: the run uses the residential proxy this actor ships with, included in the price of the run. To route the run through your own provider instead, add one gateway URL per entry, for example http://user:pass@host:port — works with any provider that issues URLs (DataImpulse, Bright Data, Oxylabs, Smartproxy, or your own). When set, these are used exactly as entered and nothing else is. |
How to run it
- Open the actor on Apify Console.
- Enter one or more search terms, or paste category URLs or product URLs.
- Pick the region, then Run. Export JSON, CSV or Excel from the dataset.
{"search_terms": ["wireless earbuds"],"category_urls": ["https://shop.tiktok.com/us/c/beauty-personal-care/601450"],"region": "US","max_results": 100,"scrape_product_details": true}
Minimal input:
{"search_terms": ["wireless earbuds"]}
Available as the MCP tool herus13--tiktok-shop-scraper on mcp.apify.com and through the Apify API; send the same JSON.
Why this scraper
- Three ways in, every market — keyword search, category URLs and direct product URLs all work on all 10 storefronts, so a Vietnamese or Thai catalogue is as reachable as the US one.
- Fields that arrive filled — seller IDs, original prices, discount percentages and category IDs come back populated rather than "Unknown", which is what makes discount depth and share-of-shelf computable.
- Detail on demand — pay the listing rate for a wide sweep, then enrich only the products worth the description, gallery and full breadcrumb.
- Nothing to set up — no account, no cookies, no proxy configuration; a residential proxy is included in the price of the run.
Use cases
- Competitor price tracking — Title, price, original price and discount per product across ten storefronts give the discount depth a competitor is actually running, not the headline promotion.
- TikTok Shop product databases — Seller, rating, sold count, images and the full category breadcrumb make a catalogue that supports both browsing and analysis.
- Trend and demand spotting — Sold count against rating shows which products are genuinely moving versus which are merely well listed — the distinction that matters when deciding what to stock.
- Share-of-shelf analysis — Category breadcrumbs let products roll up into a category hierarchy, so you can measure how much of a category one seller holds.
- Product research for sourcing — Pull a whole category, sort by sold count, and read the variants and stock of the winners before committing to an order.
FAQ
Which TikTok Shop markets are covered? Ten web storefronts: US, GB, VN, TH, PH, MY, SG, JP, MX and BR. France has no public web storefront, and Indonesia's TikTok Shop redirects to Tokopedia, so neither is available.
What is the category_path format? A list of {id, name} objects ordered root to leaf. id is stable and joins across regions; name is the localized display string. Listing-only rows carry the route's category, and the detail set fills the full breadcrumb.
Can I scrape TikTok Shop reviews? Aggregate rating and review_count ship today. Individual review text is planned for a later version.
Is a proxy included? A residential proxy is included in the price of the run. To use your own, paste gateway URLs into Your own proxy URLs. Scraping at volume? Your own DataImpulse account is cheaper per GB.
Is scraping TikTok Shop legal? This actor collects only publicly available product data. You are responsible for complying with TikTok's terms and applicable laws. Do not collect personal data without a lawful basis.
Related actors
Southeast Asia marketplace data — Singapore, Malaysia, Vietnam, Thailand, Philippines, Indonesia:
- Lazada Scraper — one product row per Lazada search result.
- Shopee Shop Scraper — one official-shop row from Shopee's shop directory.
- Shopee Category Lister — one country's full Shopee category tree.
- Amazon Scraper — one product row, including Amazon Singapore.
Building a wider pipeline? Pair this actor with:
- TikTok Video Scraper — video metadata, stats and optional video files.
- TikTok Profile Scraper — creator profiles with follower and engagement counts.
- Google Maps Business & Contact Scraper — businesses with emails, phone numbers, reviews and social links.