TikTok Shop Scraper
Pricing
from $5.00 / 1,000 search products results
TikTok Shop Scraper
TikTok Shop scraper — product listings, prices, ratings, sellers, and search results across US, UK, Singapore, Malaysia, Philippines, Thailand, Vietnam, and Indonesia. Two operations, one clean dataset per run. No API key required, no account setup.
Pricing
from $5.00 / 1,000 search products results
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
1.3K
Total users
21
Monthly active users
9 days ago
Last modified
Categories
Share
TikTok Shop Scraper — Products, Prices, Sellers, Multi-Region Search 🛒
🎉 Two scrapers in one — extract TikTok Shop product details, prices, sellers, and keyword search across 6 regions
Built for dropshippers, e-commerce sellers, market researchers, brand teams, and creator-affiliate agencies who need clean structured TikTok Shop data — no API key, no setup, no scraping headaches
🔍 What is the TikTok Shop Scraper — and when should you use it?
The TikTok Shop Scraper turns a keyword or a product ID into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No TikTok Shop seller account, no portal API key, no browser automation to maintain.
Use it when you need: product titles, sale and original prices, discount rates, currency, ratings, review counts and lifetime sold counts. Detail rows add SKU variants, image galleries, shop ratings and follower counts. Six live markets are covered: US, Singapore, Malaysia, Philippines, Thailand and Vietnam.
Use something else when: the marketplace is not TikTok Shop. Use Taobao & Tmall Product Scraper for China's domestic marketplace, or AliExpress Product Scraper for cross-border listings. This Actor reads shop listings only — it does not touch TikTok videos, creators or comments.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/tiktok-shop-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want to research products on TikTok Shop using the Apify Actor `sian.agency/tiktok-shop-scraper`.Use it when I need: product titles, prices, discounts, ratings, sold counts, SKU variants, image galleries and seller details from TikTok Shop in the US, SG, MY, PH, TH or VN.Don't use it when: I ask about a different marketplace — use `taobao-tmall-product-scraper` for Taobao and Tmall, or `aliexpress-product-scraper` for AliExpress.How to call it: pick ONE operation per run.- "searchProducts" takes a `keyword` and returns paginated results with real prices.- "productDetail" takes a `productId` and returns the full description, SKU list and seller stats.Start with this input:{"operation": "searchProducts","keyword": "phone case","region": "US","maxPages": 2}Ask me for the keyword or product ID and the region, then run the Actor and summarise the results as a table sorted by sold count.
Things you can ask your agent for:
- "Find the 20 best-selling phone cases on TikTok Shop in the UK and rank them by discount."
- "Compare prices for wireless earbuds across Singapore, Malaysia and Thailand, then tell me which market is cheapest."
- "Pull the full detail for product 1731743608991158724 and summarise its SKU variants and seller reputation."
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/tiktok-shop-scraper.md.
📋 Overview
Tired of brittle DIY scrapers that break every time TikTok Shop ships a UI tweak? This actor delivers reliable, flat structured datasets from the fastest-growing live commerce platform of 2026 — one clean run per task, one tidy dataset out.
What you get:
- ✅ Two operations, one actor: product detail (deep) · product search (paginated, real prices)
- 🌍 6 regions covered: United States, Singapore, Malaysia, Philippines, Thailand, Vietnam
- 💰 Real prices from search: sale price, original price, currency, discount %, sold count — no masking on the search endpoint
- 🏪 Deep seller intelligence on detail: shop name, rating, sold count, followers, products count, region, business compliance info
- 🎯 Production-ready data shape: curated camelCase aliases (productId, productTitle, price, sellerName…) PLUS the raw source fields for power users
- 💎 No API key, no setup, no proxies — paste a keyword or product ID and run
- ✨ NEW: 19-digit TikTok Shop product IDs preserved at full precision; HTTPS auto-normalized on every image URL; automatic retries ride out the flaky moments so a run finishes instead of half-failing
✨ Features
- 🛒 Product Detail: title, description (decoded from rich-text blocks), full SKU list with variants & stock, seller profile (rating, sold count, followers, region, products count), product rating, review count, business compliance info, image gallery
- 🔍 Search Products: keyword-based product search with real prices (sale + original + discount %), rating, sold count, seller info, slug-based product URL — up to ~55 unique products per keyword
- 🌍 Multi-region: US · SG · MY · PH · TH · VN — same keyword, different markets
- 🖼️ HTTPS-normalized URLs: every product image and seller logo ready to embed
- 🆔 BigInt-safe IDs: 19-digit TikTok Shop product/seller IDs preserved (no precision loss → no broken cross-operation joins)
- 📄 Smart pagination + dedup: stream through search results with auto-stop when the catalogue is exhausted; duplicates removed and not charged
- 🛡️ Automatic retries: transient hiccups are retried with backoff before anything reaches your dataset, so a slow moment does not turn into an error row
- 📄 Run report on every run: product count, a copy-ready list of the IDs found, a preview table, an itemized statement of what the run cost, and retry advice for anything that failed
🎬 Quick Start
Paste a keyword to search trending TikTok Shop products across any region — no TikTok Shop API or developer account required.
curl -X POST https://api.apify.com/v2/acts/sian.agency~tiktok-shop-scraper/runs?token=YOUR_TOKEN \-d '{"operation":"searchProducts","keyword":"phone case","region":"US","maxPages":2}'
🚀 Getting Started (3 Simple Steps)
Step 1: Pick an operation
Choose what you want to extract: Search Products (keyword discovery) or Product Detail (deep single-product scrape).
Step 2: Enter the input
A keyword (search) or a numeric product ID (detail), plus optionally a target region.
Step 3: Click "Start"
Results stream into the Apify dataset as they come back. Download as JSON, CSV, or Excel directly from the Console.
That's it! In under 60 seconds, you'll have:
- A flat, structured dataset (no nested page-bundle JSON to parse)
- Curated camelCase fields plus the raw response for power users
- An HTML report summarizing the run
- Ready-to-embed HTTPS image URLs
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string (enum) | Yes | One of: productDetail · searchProducts |
productId | string | If operation is productDetail | TikTok Shop product ID (18–19 digits). Find it in any product URL: tiktok.com/shop/pdp/{slug}/{ID}, or in the productId field of any Search Products result row. |
keyword | string | If operation is searchProducts | Search query (English or native-language — e.g. phone case, wireless earbuds, 護膚) |
region | string (enum) | No | Target region: US · GB · SG · MY · PH · TH · VN · ID (default US) |
maxPages | integer | No | Pages to fetch for Search Products (default 2, max 3 — TikTok Shop caps ~55 unique products per keyword) |
Example — Search trending TikTok Shop products in the US:
{"operation": "searchProducts","keyword": "phone case","region": "US","maxPages": 2}
Example — Pull a product's full detail (description, SKUs, seller, ratings):
{"operation": "productDetail","productId": "1731743608991158724","region": "US"}
Example — Compare the same product across regions:
{"operation": "searchProducts","keyword": "wireless earbuds","region": "SG","maxPages": 2}
📤 Output
Results are saved to the Apify dataset with 30+ curated fields plus all raw source fields. Filter by _operation to split modes.
| Field | Type | Description |
|---|---|---|
productId | string | TikTok Shop product ID (19-digit, precision preserved) |
productTitle | string | Product display title |
productDescription | string | Full description (decoded from rich-text blocks) — detail rows only |
productUrl | string | Direct link to the product on TikTok Shop |
productSlug | string | SEO slug from search results |
price | number | Current sale price (real value — not masked on search rows) |
originalPrice | number | Pre-discount price |
currency | string | ISO currency code (e.g. USD, GBP, SGD) |
currencySymbol | string | Display symbol (e.g. $, £, S$) |
discountRate | number | Discount fraction (e.g. 0.59 = 41% off) |
discountFormat | string | Human-readable discount label (detail rows) |
sellerSubsidy | number | Seller-funded deduction on top of base discount (detail rows) |
priceRange | object | SKU-level price band ({min, max}, detail rows) |
coverUrl | string | Primary product thumbnail (HTTPS) |
gallery | array | Up to 9 product images (HTTPS) |
rating | number | Product overall rating (0–5) |
ratingCount | integer | Review count |
soldCount | integer | Lifetime units sold |
skuCount | integer | Number of SKU variants |
skus | array | SKU list with variants and stock |
sellerId | string | Seller / shop numeric ID |
sellerName | string | Shop display name |
sellerLogo | string | Shop avatar (HTTPS) |
sellerRating | number | Shop rating (detail rows) |
sellerSoldCount | integer | Shop lifetime units sold (detail rows) |
sellerFollowersCount | integer | Shop followers (detail rows) |
sellerProductsCount | integer | Total products in the shop (detail rows) |
sellerReviewCount | integer | Shop review count (detail rows) |
sellerRegion | string | Shop registered region (detail rows) |
sellerUrl | string | Direct link to the shop |
businessName | string | Business compliance name (detail rows) |
businessAddress | string | Business compliance address (detail rows) |
Example dataset row (Search Products):
{"_operation": "searchProducts","_sourceKeyword": "phone case","_sourceRegion": "US","productId": "1731743608991158724","productTitle": "Cute Soft Silicone Phone Case","price": 6.99,"originalPrice": 16.99,"currency": "USD","currencySymbol": "$","discountRate": 0.41,"rating": 4.7,"ratingCount": 1342,"soldCount": 12000,"sellerId": "7494516024328356","sellerName": "GadgetHaus","coverUrl": "https://p16-oec-general.ttcdn-us.com/...","productUrl": "https://www.tiktok.com/shop/pdp/cute-soft-silicone-phone-case/1731743608991158724","status": "success"}
💼 Use Cases & Examples
1. Dropshipping Product Discovery
Dropshippers and DTC operators hunting winning SKUs before they hit saturation.
Input: Search Products with keyword "phone case", "kitchen gadgets", or "skincare" across US and GB
Output: 50+ trending products with price, sold count, rating, and seller info per region
Use: Spot velocity SKUs hours before they trend. Pivot on soldCount and discountRate to rank winners.
2. Competitor Price Monitoring
E-commerce sellers tracking competitor pricing, discounts, and stock movement.
Input: Scheduled Product Detail runs across a watchlist of competitor product IDs
Output: Daily snapshots of price, originalPrice, discountRate, soldCount, rating
Use: Auto-alert on price drops, restocks, and rating shifts. Feed a competitive intelligence dashboard.
3. Seller & Brand Intelligence
Brand teams and category managers mapping the seller landscape in any niche.
Input: Search Products + Product Detail across a category keyword Output: Full seller catalog with shop ratings, followers, products count, region Use: Identify rising brands, benchmark against incumbents, surface partnership candidates.
4. Multi-Region Market Entry Research
Market intelligence analysts comparing TikTok Shop demand across regions before launching a new SKU.
Input: Same Search Products keyword across US, GB, SG, MY, PH, TH, VN, ID
Output: Per-region price bands, rating distributions, top sellers, and demand signals
Use: Spot markets where a product is winning before competition arrives. Validate pricing for a regional launch.
5. Creator-Affiliate Sourcing
Influencer marketing and affiliate agencies building a TikTok Shop creator-affiliate pipeline.
Input: Search Products with category keyword, filter for rating >= 4.5 and soldCount >= 10000
Output: A vetted list of products with proven sales velocity to brief to creators
Use: Match creator audience demographics to product fit; build affiliate-ready product feeds.
6. Trend Mining & Viral SKU Detection
Trend analysts and content strategists spotting breakout products before they go mainstream.
Input: Daily scheduled Search Products across rotating trend keywords
Output: Time-series of soldCount, rating, and discount activity per SKU
Use: Surface SKUs with sudden velocity spikes. Feed a viral-product dashboard or Slack alert.
7. Marketplace Reseller Sourcing
Amazon / eBay resellers sourcing products that haven't yet saturated Western marketplaces.
Input: Search Products across SG, MY, TH, VN, ID for low-competition niches
Output: SEA-side prices + product details for arbitrage analysis
Use: Identify cross-border arbitrage opportunities; price-test against Amazon Best Sellers.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/tiktok-shop-scraper').call({operation: 'searchProducts',keyword: 'phone case',region: 'US',maxPages: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/tiktok-shop-scraper').call(run_input={'operation': 'productDetail', 'productId': '1731743608991158724', 'region': 'US'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~tiktok-shop-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"searchProducts","keyword":"wireless earbuds","region":"SG","maxPages":2}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: schedule daily or webhook from a category-watcher
- HTTP Request: call the actor's run-sync endpoint with
operation+ input - Process: filter by
_operationand pivot onproductId/sellerId - Action: push to BigQuery, Notion, Airtable, or a Slack price-drop alert
📊 Performance & Pricing
FREE Tier (Try It Now)
- Full feature access — every operation, every field, all 6 regions
- Up to 25 products per run, plus a daily run allowance — enough to judge the data depth before you commit
- Run it straight from the Apify Console: no credit card, no setup
- API and scheduled runs are a paid-plan feature
PAID Tier (Production Ready)
- Unlimited results per run — every product a search finds
- API access and scheduling for recurring price and trend monitoring
- Pay-per-result: only charged for successful rows, never for errors or deduplicated entries
- Volume discounts up to 50% off at GOLD/PLATINUM/DIAMOND Apify tiers
💰 Best price on the market for premium TikTok Shop data — see the pricing tab for the full per-event ladder. Product Detail carries richer payloads at premium pricing; Search Products is priced to scale with you.
❓ Frequently Asked Questions
Q: How many products can I extract per search? A: TikTok Shop caps at ~55 unique products per keyword across pages. To extend coverage, run the same keyword in multiple regions or use narrower queries.
Q: What do I get on a free Apify plan? A: Every operation, every field and all 6 regions, capped at 25 products per run plus a daily run allowance. Free runs work from the Apify Console; API and scheduled runs need a paid plan. A paid plan lifts the per-run cap entirely.
Q: Why does Product Detail mask the unit price?
A: TikTok Shop hides raw unit prices on the detail endpoint as an anti-scraping measure. For real prices, use the Search Products operation — it returns clean price, originalPrice, and discountRate. Product Detail still gives you the full description, SKU list, seller stats, ratings, sold count, and image gallery.
Q: Does it work with regions outside the listed 8? A: This Actor currently covers US, Singapore, Malaysia, Philippines, Thailand and Vietnam.
United Kingdom and Indonesia were removed on 2026-08-26: no products can be returned for those two markets at the moment, so leaving them selectable would only have cost you a run for an empty result. A run that still asks for them stops immediately with a clear message and is not charged for results. They will be restored as soon as data is available again, along with any new markets that open.
Q: What output formats are available? A: JSON, CSV, Excel, RSS, HTML, XML — export directly from the Apify dataset UI or via API.
Q: Are product image URLs permanent? A: TikTok Shop CDN URLs are stable for several days. For long-term archival, download images at scrape time.
Q: Why are TikTok Shop product IDs 19 digits — does the dataset preserve them?
A: Yes. We use a bigint-safe JSON parser so 19-digit IDs (productId, sellerId) round-trip without precision loss. Most scrapers silently corrupt these and break cross-operation joins.
Q: Can I search in non-English keywords?
A: Absolutely. Native-language queries work — 護膚 (Chinese skincare), kulit (Malay skin), กระเป๋า (Thai bags). Native queries surface more region-relevant results.
Q: Is this legal? A: Yes — we only extract publicly available product listings. See the Legal section below.
Q: How long does processing take? A: ~3–10 seconds per page for Search Products; ~5–10 seconds for Product Detail.
🐛 Troubleshooting
Search returned fewer products than expected
- TikTok Shop caps at ~55 unique products per keyword. The actor auto-dedupes across pages and stops when results start repeating back. Run the same keyword in multiple regions to expand coverage.
Product Detail returns "not exist" or empty product
- The product may have been delisted or restricted in the requested region. Verify the URL works in a browser, and try a different
region.
HTTP errors / "Data source temporarily unavailable" rows
- The actor already retries transient failures with backoff before writing an error row. If you still see them, TikTok Shop is throttling or down — wait a few minutes and re-run. Error rows are never charged.
19-digit product IDs look truncated in spreadsheet exports
- Spreadsheet apps (Excel, Google Sheets) auto-cast long integers to scientific notation. The actor preserves them as strings in JSON; in CSV exports, format the
productIdandsellerIdcolumns as Text before opening.
Different prices in different runs
- TikTok Shop runs frequent flash sales. Schedule recurring runs to track price history rather than relying on a single snapshot.
⚠️ Trademark Disclaimer
This actor is an independent scraping tool and is not affiliated with, endorsed by, or sponsored by TikTok Pte. Ltd., ByteDance Ltd., or any of their subsidiaries. "TikTok" and "TikTok Shop" are used solely in a descriptive sense to identify the public data source the actor reads from. TikTok® and TikTok Shop® are trademarks of their respective owners. All other trademarks are the property of their respective owners.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the seller has chosen to make publicly available on TikTok Shop. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data (seller business compliance info is published by TikTok Shop itself for consumer-protection reasons). Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
✨ More by SIÁN Agency
Part of the SIÁN Agency Apify portfolio — production-grade scrapers and AI tools used by agencies, research teams, and brands. A few that pair well with TikTok Shop:
China & E-commerce
- Taobao & Tmall Product Scraper — China's #1 marketplace: products, search, shop catalogs
- Uber Eats Menu Scraper — restaurant menus + prices
Short-Video & Creator Discovery
- Kwai & Kuaishou Scraper — China's #2 short-video platform: KOL data, video metrics, comments
- Douyin Scraper — Chinese TikTok counterpart with deep KOL & video data
- Best TikTok AI Transcript Extractor — TikTok video → text with metadata
- Instagram AI Transcript Extractor — Reels & Stories transcription
Real Estate (Global)
- Zillow Property Scraper · Airbnb Scraper · Bayut (Dubai) · Redfin · StreetEasy (NYC) · Zoopla (UK) · Realtor.com
⭐ Leave a 5-Star Review
Love this actor? Leave a 5-star review here — it helps us build more features for you and lets other teams find it.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's Apify Console Issues tab
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools