TikTok Shop Product Scraper
Under maintenancePricing
from $4.00 / 1,000 dataset items
TikTok Shop Product Scraper
Under maintenanceScrape TikTok Shop US products by keyword, category, or URL — title, price, rating, sold count, seller, and images as clean JSON. Reads the real US storefront a shopper sees, with slider-captcha handling built in. Great for product research and trend spotting. Pay only for results.
Pricing
from $4.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract TikTok Shop (US) product data at scale — by keyword, category, or product URL. This Actor reads the real US TikTok Shop storefront a shopper actually sees and returns clean, structured JSON: title, price, discount, rating, sold count, seller, images, and full product detail.
Unlike scrapers that call TikTok's private mobile API (which breaks every time ByteDance rotates its app request-signing), this Actor reads the storefront's server-rendered data directly — no fragile app signing — and includes a built-in slider-captcha solver so it keeps working when TikTok challenges a session.
⚠️ Proxy requirement — please read first
The TikTok Shop US storefront is US-geo-gated and protected by a slider captcha. This Actor solves the captcha automatically, but TikTok's anti-bot flags shared/overused residential IPs. For reliable results you must run it through a US residential or — best of all — mobile proxy:
- Recommended: a premium US mobile proxy (TikTok trusts mobile carrier IPs most), or a clean premium US residential proxy.
- Often blocked: large shared residential pools (including Apify's default RESIDENTIAL and other shared pools) are frequently flagged by TikTok and may return few or no results.
Set your proxy in Proxy configuration (or
proxyProvider/ bring-your-own). Because pricing is pay-per-result, a run that is fully blocked costs only the small start fee — you are never charged for results you don't receive.
Who is this for?
| You are… | You use it to… |
|---|---|
| Dropshippers & TikTok Shop sellers | Find trending products before they blow up; track price and units sold over time |
| E-commerce & brand analysts | Monitor a category, benchmark competitor pricing, snapshot catalogs |
| Agencies & market researchers | Build product datasets, spot demand signals, report on TikTok commerce trends |
| SaaS / AI developers | Feed a stable product JSON schema into an app, dashboard, or AI agent via MCP |
What you get — output fields
Each result is one product:
| Field | Type | Description |
|---|---|---|
product_id | string | TikTok Shop product ID (19-digit) |
title | string | Product title |
url | string | Product detail page URL |
price | number | Current displayed price |
original_price | number | List price before discount (when shown) |
currency | string | Currency code (USD for the US storefront) |
rating | number | Average star rating (0–5) |
review_count | integer | Number of reviews/ratings |
sold_count | string | Units-sold label, e.g. 10,000+ sold |
seller_name | string | Seller / shop name |
seller_id | string | Seller / shop ID |
category | string | Category name (when available) |
description | string | Product description (with Fetch full product detail) |
image | string | Primary image URL |
images | array | All product image URLs |
in_stock | boolean | In-stock flag, when derivable |
source_query | string | Which input produced the row (search: / category: / url:) |
scraped_at | string | ISO-8601 scrape timestamp |
High-value use cases
- Winning-product research — search a niche (
"skincare","kitchen gadgets"), sort by sold count, and surface fast-movers before they saturate. - Price & promo monitoring — schedule daily runs on your competitors' products and track
price/original_pricedrift. - Category intelligence — harvest a category/mall URL to map what's selling and at what price points.
- Catalog enrichment — feed a list of
productUrlswith Fetch full product detail on to pull seller, description, and full image sets into your PIM/CRM. - Trend datasets for AI — pipe structured rows into a vector store or spreadsheet for an LLM to analyze demand.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | [] | Keywords to search (one search per keyword) |
categoryUrls | string[] | [] | Listing/category/mall URLs (harvested by scrolling) |
productUrls | string[] | [] | Product URLs or bare IDs (always fetched with full detail) |
maxItems | integer | 100 | Global cap across all inputs |
maxItemsPerQuery | integer | 100 | Cap per keyword / category |
fetchProductDetails | boolean | false | Open each product page for full detail (slower, richer) |
solveCaptcha | boolean | true | Auto-solve the OEC slider captcha (else reload-only) |
proxyProvider | string | apify | apify (your Apify Proxy) or massive (shared pool) |
proxyCountry | string | US | Residential exit-IP country (keep US) |
headless | boolean | true | Run the stealth browser headless |
proxyConfiguration | object | Apify RESIDENTIAL US | Used when proxyProvider = apify; US IP required |
A US residential (ideally mobile) proxy is required. TikTok Shop serves the US storefront only to US IPs, and its captcha flags shared/overused residential pools — for reliable results use a premium US residential or mobile proxy. See the proxy note at the top.
Example input
{"searchQueries": ["wireless earbuds", "skincare"],"maxItems": 100,"maxItemsPerQuery": 50,"fetchProductDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Example output
{"product_id": "1729546869661337000","title": "Wireless Earbuds Bluetooth 5.3, 40H Playtime","url": "https://shop.tiktok.com/view/product/1729546869661337000","price": 19.99,"original_price": 39.99,"currency": "USD","rating": 4.8,"review_count": 1203,"sold_count": "10,000+ sold","seller_name": "Acme Audio","seller_id": "740000000000","category": "Electronics","image": "https://p16-oec-sg.ibyteimg.com/…/main.jpg","images": ["https://…/1.jpg", "https://…/2.jpg"],"in_stock": true,"source_query": "search:wireless earbuds","scraped_at": "2026-07-29T12:00:00+00:00"}
Scheduling & integrations
- Schedule runs (hourly/daily) from the Apify Console to keep a product feed fresh.
- Webhooks — trigger a downstream service when a run finishes.
- Export to JSON, CSV, Excel, or Google Sheets; push to S3 or your DB via the Apify API/integrations (Make, Zapier).
- Every run's data is available via the Dataset API for programmatic pulls.
Use it from an AI agent (MCP)
Apify Actors are callable over the Model Context Protocol, so assistants like Claude or ChatGPT can run this scraper as a tool. Point your MCP client at the Apify MCP server and call tiktok-shop-product-scraper with the same input as above — great for "find me the top-selling earbuds on TikTok Shop right now" style prompts.
FAQ
Do I need a proxy? Yes — a US residential or mobile proxy (the storefront is US-geo-gated). Because TikTok flags shared/overused residential IPs, a premium US residential or mobile proxy is strongly recommended for reliable results; large shared pools may be blocked. See the proxy note at the top.
How many products can I get per keyword? As many as the storefront renders while scrolling, bounded by maxItemsPerQuery and the global maxItems. Very deep result sets are limited by what TikTok surfaces in the listing.
Why do some rows have fewer fields? List/search cards carry the headline fields (title, price, image, id). Turn on Fetch full product detail to also pull seller, description, category, and full image sets from each product page.
How does it handle the captcha? When TikTok shows the OEC "Lucifer" slider, a built-in computer-vision solver intercepts the challenge images, locates the gap, and drags the real handle so TikTok's own SDK builds the verification. It works reliably from a clean (non-flagged) US IP; from a flagged shared-pool IP the challenge may keep rejecting even a correct solve, so a clean US residential/mobile proxy matters.
Is the data fresh? Every field is read live from the storefront at scrape time (scraped_at records when).
Is scraping TikTok Shop legal? The Actor collects publicly visible product information. You are responsible for complying with TikTok's terms and applicable laws (e.g. GDPR/CCPA) and for how you use the data. No login/private data is accessed.
A run returned zero results. Almost always the proxy: TikTok's captcha is blocking the exit IP. Switch to a premium US residential or mobile proxy (shared residential pools are often flagged). The Actor rotates IPs and retries automatically, and pay-per-result means a fully-blocked run only costs the small start fee.
Can I get reviews / seller catalogs? Not in this Actor — it focuses on product data. Reviews and seller-catalog Actors are planned separately.