TikTok Shop Scraper avatar

TikTok Shop Scraper

Pricing

from $5.00 / 1,000 search products results

Go to Apify Store
TikTok Shop Scraper

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Ü

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

1.3K

Total users

21

Monthly active users

9 days ago

Last modified

Share

TikTok Shop Scraper — Products, Prices, Sellers, Multi-Region Search 🛒

SIÁN Agency Store Taobao & Tmall Product Scraper AliExpress Product Scraper TikTok AI Transcript Extractor

🎉 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

FieldTypeRequiredDescription
operationstring (enum)YesOne of: productDetail · searchProducts
productIdstringIf operation is productDetailTikTok 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.
keywordstringIf operation is searchProductsSearch query (English or native-language — e.g. phone case, wireless earbuds, 護膚)
regionstring (enum)NoTarget region: US · GB · SG · MY · PH · TH · VN · ID (default US)
maxPagesintegerNoPages 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.

FieldTypeDescription
productIdstringTikTok Shop product ID (19-digit, precision preserved)
productTitlestringProduct display title
productDescriptionstringFull description (decoded from rich-text blocks) — detail rows only
productUrlstringDirect link to the product on TikTok Shop
productSlugstringSEO slug from search results
pricenumberCurrent sale price (real value — not masked on search rows)
originalPricenumberPre-discount price
currencystringISO currency code (e.g. USD, GBP, SGD)
currencySymbolstringDisplay symbol (e.g. $, £, S$)
discountRatenumberDiscount fraction (e.g. 0.59 = 41% off)
discountFormatstringHuman-readable discount label (detail rows)
sellerSubsidynumberSeller-funded deduction on top of base discount (detail rows)
priceRangeobjectSKU-level price band ({min, max}, detail rows)
coverUrlstringPrimary product thumbnail (HTTPS)
galleryarrayUp to 9 product images (HTTPS)
ratingnumberProduct overall rating (0–5)
ratingCountintegerReview count
soldCountintegerLifetime units sold
skuCountintegerNumber of SKU variants
skusarraySKU list with variants and stock
sellerIdstringSeller / shop numeric ID
sellerNamestringShop display name
sellerLogostringShop avatar (HTTPS)
sellerRatingnumberShop rating (detail rows)
sellerSoldCountintegerShop lifetime units sold (detail rows)
sellerFollowersCountintegerShop followers (detail rows)
sellerProductsCountintegerTotal products in the shop (detail rows)
sellerReviewCountintegerShop review count (detail rows)
sellerRegionstringShop registered region (detail rows)
sellerUrlstringDirect link to the shop
businessNamestringBusiness compliance name (detail rows)
businessAddressstringBusiness 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 ApifyClient
client = 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)

  1. Trigger: schedule daily or webhook from a category-watcher
  2. HTTP Request: call the actor's run-sync endpoint with operation + input
  3. Process: filter by _operation and pivot on productId / sellerId
  4. 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
  • 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.

🔗 View current pricing


❓ 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 productId and sellerId columns 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.


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

Short-Video & Creator Discovery

Real Estate (Global)

Browse all SIÁN actors →


⭐ 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

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools