TikTok Shop Scraper - Products, Sales & Sellers
Pricing
from $7.00 / 1,000 product scrapeds
TikTok Shop Scraper - Products, Sales & Sellers
Scrape TikTok Shop by category, product URL or shop (US) and get prices, cumulative units sold, revenue estimates, ratings and images. Product and Shop modes add full seller data; Product mode also returns SKU variants and recent review texts. For dropshippers, sellers and agencies.
Pricing
from $7.00 / 1,000 product scrapeds
Rating
1.1
(2)
Developer
WebDataLabs
Maintained by CommunityActor stats
9
Bookmarked
289
Total users
30
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape TikTok Shop by category, product URL, or shop and get pricing, units sold, ratings, review counts, images, and full seller data (shop rating, product count, followers). In Product mode you additionally get every SKU with its price, stock level and attributes plus the recent review bodies. The all-in-one TikTok Shop scraper and product-research tool for dropshippers, sellers, and agencies. Export to CSV, JSON, Excel, or Google Sheets.
What can you do with this TikTok Shop scraper?
- Product research & winning-product discovery — browse any category and surface best-selling products by units sold
- Competitor & shop monitoring — pull a seller's full catalog, ratings, and follower count
- Price & inventory tracking — prices, discounts, and (Product mode) SKU-level variants with real stock levels for dropshipping or reselling
- Sales sizing — cumulative units sold + lifetime revenue estimate on every product
- Market & category analysis — map pricing and demand across any TikTok Shop category
- Automation — feed TikTok Shop data into n8n, Make, Zapier, or Google Sheets
Three ways to scrape
| Mode | You provide | Best for |
|---|---|---|
| Category | Category slug/id or URL | Winning-product discovery & market research |
| Product | Product URLs | Deep data on specific products — the only mode with SKU variants, stock and review bodies |
| Shop | Store URLs | Competitor catalog & shop-level stats |
What data do you get?
Every product record includes:
- productId, productTitle, productUrl — identity
- currentPrice, originalPrice, discount, currency — pricing
- soldCount — cumulative units sold since launch
- estimatedRevenue — lifetime revenue estimate (soldCount × price)
- rating, reviewCount — ratings
- images — product image URLs
- shopName, shop — seller name + full shop object (rating, total products, follower count, store URL)
- scrapedAt — ISO timestamp
Product mode only — three extra keys, because TikTok publishes this data on the product page and nowhere else:
- variants — every SKU with its
name("White / US5.5"),price,stockandattributes - stock — total units available across all SKUs (a real
0means sold out) - reviews — the recent reviews TikTok renders on the page (~3), each with
rating,text,author(masked by TikTok), ISOdateand photo URLs
In Category and Shop mode these three keys are not present in the record at all — TikTok's listing
pages carry no SKU, inventory or review-body data, and shipping an empty array would falsely claim the
product has none. reviewCount and rating are available in every mode.
Anything TikTok does not publish comes back as null, never a filler value. In Category mode the shop
object only carries shopId and shopName (TikTok's category feed does not include seller stats); the
remaining seller fields are null there and populated in Product and Shop modes.
Quick start
- Choose a mode (start with Category).
- Enter your input — e.g. category
beauty-personal-care/601450— and set Max results. - Set the run timeout to at least 600 seconds (see below — short timeouts cannot succeed).
- Run it, then download CSV/JSON/Excel or push to Google Sheets / n8n / Zapier.
Finding a category id
A category is a slug plus a number, e.g. beauty-personal-care/601450. The number is what TikTok
actually resolves — a made-up number returns an empty page, not an error, so don't guess it. Open
https://shop.tiktok.com/us/c, click into any category, and copy the last two parts of the address
bar. Known-working examples: beauty-personal-care/601450, women-s-shoes/900488, shoes/601352.
If a category you enter returns nothing, the run fails with a message naming that exact input rather than reporting a green run with an empty dataset.
Run timeout
Getting past TikTok's verification challenge takes 30–240 seconds before the first product page even loads. A 120-second run timeout can therefore never succeed. Use 600 s or more. The actor prints a warning at startup if the timeout is under 300 s.
Input
| Field | Description |
|---|---|
mode | category | product | shop |
categoryUrls | Category URL or slug/id shorthand, e.g. beauty-personal-care/601450 (Category mode) |
productUrls | Product URLs (Product mode) |
shopUrls | Store URLs (Shop mode) |
maxResults | Total products for the whole run (1–2000), shared evenly between the inputs you entered. Two categories with maxResults: 40 gives you ~20 from each, 40 in total. maxItems is accepted as an alias and wins if you set both. |
proxyConfiguration | US residential proxies (required; default is correct) |
Output example
{"productId": "1730986220018765913","productTitle": "Advanced Hair Density Roll-On Serum","productUrl": "https://shop.tiktok.com/us/pdp/.../1730986220018765913","region": "US","currentPrice": 30,"originalPrice": 45,"discount": 33,"currency": "USD","soldCount": 477547,"estimatedRevenue": 14326410,"rating": 4.2,"reviewCount": 19254,"images": ["https://..."],"shopName": "RootLabs","shop": { "shopId": "...", "shopName": "RootLabs", "shopUrl": "https://shop.tiktok.com/us/store/rootlabs/...", "rating": 4.4, "totalProducts": 18, "followerCount": 65074 },"scrapedAt": "2026-06-30T10:00:00.000Z"}
In Product mode the same record additionally carries:
{"stock": 195,"variants": [{ "skuId": "1732416676642460223", "name": "White / US5.5", "price": 14.67, "stock": 7, "attributes": { "Color": "White", "Size": "US5.5" } },{ "skuId": "1732416676642525759", "name": "White / US6", "price": 14.67, "stock": 5, "attributes": { "Color": "White", "Size": "US6" } }],"reviews": [{ "reviewId": "7660230607552677645", "rating": 5, "text": "Works exactly as described.", "author": "m**i", "date": "2026-07-08T12:07:06.700Z", "images": [] }]}
Advanced: monthly sales velocity & trending (optional)
TikTok shows cumulative units sold, not a monthly figure — so monthly sales can't be derived from a single run. This actor can compute estimatedMonthlySales + trendingScore from the change in units sold across scheduled repeat runs (it stores snapshots and diffs them). These fields are omitted until enough history exists, so your normal one-off output stays clean.
This is an advanced feature: it requires running the actor with full permissions (so it can persist its cross-run snapshot store) and on a schedule (daily/weekly). Without that, you still get everything above — products, prices, units sold, lifetime revenue, ratings, review counts, and full seller data.
Pricing
Pay-per-event: a small per-run start fee plus a charge per product scraped — that's it. Transparent and predictable; no subscription.
Reliability & proxies
TikTok Shop has strong anti-bot protection. This actor handles it for you: it warms up a verified session, solves the verification challenge, and rotates residential IPs automatically. US residential proxies are required and are the default. Warmup takes 30–240 s depending on the IP it lands on, so give runs at least a 600 s timeout.
A run never lies about what it delivered
- Blocked end-to-end, or our parser broke → the run fails and the error says which of the two it was.
- Every input you gave returned a real page with no products → the run fails and names each dead input.
- Some inputs worked and some didn't → the run succeeds, and every input that returned nothing is listed
in the log and in the
OUTPUTrecord in the key-value store. - Fields TikTok did not publish are
null— never0,"", or"Unknown". Aratingofnullmeans "no rating yet", which is a different fact from a rating of0.
Every run writes an OUTPUT record to the key-value store with a per-input breakdown
(input, outcome, products, detail), the total actually stored, and whether the cap was hit.
FAQ
Which region? United States.
Do I need proxies? Yes — US residential. The default proxy configuration handles it.
Can I get monthly sales / trending? Yes, as an advanced feature — run with full permissions on a schedule (see "Advanced" above). A normal one-off run returns cumulative units sold + lifetime revenue instead.
Is this legal? It collects public, commercial product and shop data (not personal creator data). You are responsible for complying with TikTok's Terms of Service and applicable laws in your jurisdiction.
Can I use it with Google Sheets / n8n / Zapier / Make? Yes — export CSV/JSON/Excel or connect via Apify integrations and webhooks.
How do I get a product or shop URL? Open the product or store on shop.tiktok.com and copy the URL from your browser.
Related actors
- Etsy Scraper Pro — Etsy product & shop data
- Reddit Scraper Pro — posts, comments & sentiment
Leave a review
Is this actor saving you time? A quick review on the Store helps other people find it — and tells us which fields to add next. Rate this actor →