TikTok Shop Scraper - Products, Sales & Shops
Pricing
from $0.15 / 1,000 products
TikTok Shop Scraper - Products, Sales & Shops
Scrape TikTok Shop (US) products by keyword, store, category or product link. Get prices and discounts, sold counts, ratings, reviews, shops, brands, variants with stock, shipping and the TikTok video that sells each product. No login.
Pricing
from $0.15 / 1,000 products
Rating
5.0
(2)
Developer
Mary Lou
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok Shop Scraper
Scrape products from TikTok Shop (US):
- search by keyword
- scrape whole stores
- crawl categories
- get full details for product links
For every product you get the price and discount, units sold, rating and reviews, the shop, the brand, the badges, and the TikTok video that sells it. Turn on details for:
- the description and all images
- every variant, with its price and stock
- specifications and the category path
- shipping and the seller's location
- the rating breakdown and top reviews
No login, no TikTok account.
What you can do with it
- Product research: find what sells on TikTok Shop for a keyword or in a category, with units sold, ratings and reviews
- Competitor and brand monitoring: every product a store sells, with its prices, discounts and sales
- Price and discount tracking: run it on a schedule and compare
- Dropshipping and sourcing: seller locations, shipping times and fees, stock per variant
- Creator and affiliate research: the products alongside the TikTok videos that sell them, with plays and likes
- Market analysis: whole categories down to their smallest subcategories, with the shops behind them
How to scrape TikTok Shop
1. Enter Search keywords (phone case, stanley cup), paste
TikTok Shop links, or both.
2. Optionally turn on Scrape product details.
3. Set Max products, then press Start.
{"searchQueries": ["phone case", "led face mask"],"startUrls": ["https://shop.tiktok.com/us/store/goli-nutrition/7495794203056835079","https://shop.tiktok.com/us/c/beauty-personal-care/601450","https://shop.tiktok.com/us/pdp/1729527313880355335"],"maxProducts": 500,"scrapeProductDetails": true}
What each input gives
| You give | You get |
|---|---|
| A search keyword | The products TikTok Shop's search finds for it, in its order: typically 150 to 250 |
| A store link | Every product the store has on sale |
| A category link | The category's top products, then each subcategory's, all the way down: hundreds to thousands for a top-level category |
| A product link or id | That product, with every detail |
A keyword page link (/us/k/...) | Read as a search for its words |
The home page (shop.tiktok.com/us) | Its featured products, then every category (just the categories when TikTok refuses the home page itself) |
www.tiktok.com/shop/... links, tiktok.com/view/product/... share links
and vm.tiktok.com short links all work. A product found by several
searches or links appears once.
Output
One row per product. Export as JSON, CSV, Excel, XML or RSS. The dataset has views for an overview, the shops, the promoting videos and the product details.
{"product_id": "1729527313880355335","title": "Goli Ashwagandha & Vitamin D Gummy - Mixed Berry, KSM-66, Vegan, Plant Based, Non-GMO, Gluten-Free & Gelatin Free","url": "https://shop.tiktok.com/us/pdp/ashwagandha-gummies-by-goli-ksm-66-mixed-berry-vegan-non-gmo/1729527313880355335","price": 19.47,"original_price": 24.7,"discount": "21%","currency": "USD","rating": 4.5,"review_count": 94407,"sold_count": 1303951,"brand": "Goli","labels": ["Free shipping"],"shop_name": "Goli Nutrition","shop_url": "https://shop.tiktok.com/us/store/goli-nutrition/7495794203056835079","shop_rating": 4.6,"shop_followers": 600953,"shop_sold_count": 5773064,"categories": ["Health", "Nutrition & Wellness", "Vitamins, Minerals & Wellness Supplements", "Vitamins Supplements"],"variants": [{"sku_id": "1729527298861535751", "options": {"Size": "1 Bottle"}, "price": 19.47, "stock": 337626, "available": true}],"shipping": {"fee": 0, "free": true, "min_days": 3, "max_days": 6, "service": "Standard shipping"},"rating_breakdown": {"1": 5778, "2": 1513, "3": 3727, "4": 7809, "5": 75580},"source_type": "store","source": "Goli Nutrition","position": 1,"has_details": true}
| Field | Notes |
|---|---|
price, original_price, discount | What a buyer pays now, the price before the discount, and the discount TikTok shows. price_max is the dearest variant's price |
sold_count, rating, review_count | TikTok's own counts. Units sold are counted since the product was listed, minus returns |
shop_* | The shop's name, page, logo, rating, followers, units sold and products on sale |
labels | The badges on the product card: Free shipping, Flash sale, seasonal deals |
video | The TikTok video shown with the product: link, caption, plays, likes, length and date posted |
source_type, source, position | What found the product (search, store, category, home or product link), which one, and the product's rank in it |
description, images, specifications | With details: the full listing |
variants, variant_options | With details: every variant's options, price, stock and availability |
categories, category_id | With details: the category path, top level first |
shipping, seller_location | With details: fee, free or not, delivery days, service; the business address the seller declares |
rating_breakdown, top_reviews | With details: reviews per star rating, and the reviews the product page shows first |
Scrape product details opens each product's own page, one extra request per product. Product links always get them.
Reliable on big runs
- Inputs are read forgivingly. Links in any of TikTok's forms, bare product ids and keyword pages all work. Anything that cannot be read is skipped with a note in the log, not the whole run.
- Refusals are retried. A refused request moves to a new IP. Searches, stores and categories still refused at the end get a second pass on a US residential proxy, and one that fails costs only itself.
- No failed runs for blocks. If TikTok refuses everything, the run ends normally and its status message says why.
- Resumable. Progress is saved every 30 seconds.
FAQ
Do I need a TikTok account? No. TikTok Shop's pages are public, and the scraper reads them as a signed-out visitor.
Which countries are covered? The US TikTok Shop. The other countries' shops do not serve their pages to scrapers yet, so their links are skipped with a note.
Why does a search stop at around 200 products? That is as far as TikTok Shop's search goes. For more, use more keywords or more specific ones, or a category link. A product found twice is kept once.
How many products does a category give? TikTok shows the first 10 to 20 products of each category. With Include subcategories on, every subcategory adds its own, so a top-level category gives hundreds to thousands of products.
Which proxy should I use? The default: a US residential proxy. TikTok Shop answers US visitors only and refuses many datacenter IPs. A proxy set to another country is switched to the US.
Can I run it on a schedule? Yes. Schedule the same input daily or weekly to track prices, discounts and units sold.
Related scrapers
- TikTok Creative Center Top Ads Scraper: TikTok's best-performing ads, with CTR, likes and landing pages
- TikTok Ad Library Scraper: every ad an advertiser ran in the EU and UK
- Meta Ads Library Scraper: Facebook and Instagram ads
- Website Contact Scraper: emails, phones and social profiles from any website