TikTok Shop Scraper - Products, Sales & Shops avatar

TikTok Shop Scraper - Products, Sales & Shops

Pricing

from $0.15 / 1,000 products

Go to Apify Store
TikTok Shop Scraper - Products, Sales & Shops

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

Mary Lou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 giveYou get
A search keywordThe products TikTok Shop's search finds for it, in its order: typically 150 to 250
A store linkEvery product the store has on sale
A category linkThe category's top products, then each subcategory's, all the way down: hundreds to thousands for a top-level category
A product link or idThat 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
}
FieldNotes
price, original_price, discountWhat 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_countTikTok'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
labelsThe badges on the product card: Free shipping, Flash sale, seasonal deals
videoThe TikTok video shown with the product: link, caption, plays, likes, length and date posted
source_type, source, positionWhat found the product (search, store, category, home or product link), which one, and the product's rank in it
description, images, specificationsWith details: the full listing
variants, variant_optionsWith details: every variant's options, price, stock and availability
categories, category_idWith details: the category path, top level first
shipping, seller_locationWith details: fee, free or not, delivery days, service; the business address the seller declares
rating_breakdown, top_reviewsWith 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.


  • 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