TikTok Shop Product Data Scraper - Sales, Prices & Reviews avatar

TikTok Shop Product Data Scraper - Sales, Prices & Reviews

Pricing

from $5.10 / 1,000 products

Go to Apify Store
TikTok Shop Product Data Scraper - Sales, Prices & Reviews

TikTok Shop Product Data Scraper - Sales, Prices & Reviews

[Limited Launch Offer $2/1K] TikTok Shop sales data from product or category URLs: units sold, prices, discounts, variants & stock, reviews, star ratings, seller info. No login.

Pricing

from $5.10 / 1,000 products

Rating

0.0

(0)

Developer

Scrape With Me

Scrape With Me

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Security

Limited permissions

Share

TikTok Shop Product Data Scraper extracts full product data from TikTok Shop product URLs (or product IDs) and category pages: units sold, price, original price and discount, variants with stock, rating with 1-5 star breakdown, the first reviews, and shop and seller details (followers, shop sales, business name and address). No login or cookies needed. US store by default, other markets through residential proxy. Input is product links/IDs or category links - there is no keyword search.

What TikTok Shop product data can you extract?

  • Units sold, price, original price and discount, currency.
  • Rating, review count, 1-5 star breakdown and the first reviews (text, rating, date, variant, photos).
  • Variants with their own price and stock, total stock, in-stock status.
  • Shop stats: shop name and link, shop rating, followers, units sold by the shop, shop reviews and videos.
  • Seller business name and address (the compliance info TikTok Shop shows on the product page).
  • Category path, specifications, description and images.

Scrape TikTok Shop categories (top products per category)

Add category URLs to get the top products of a category (and optionally of its sub-categories) - price, units sold, rating and shop for each, or full product rows with fetchProductDetails.

Why this one

  • Bulk input. Hundreds of product URLs or IDs in one run, not one product per run.
  • Seller intelligence included. Shop units sold, followers, rating and the seller's registered business name and address in the same row as the product.
  • Variant-level stock and prices. See which sizes or bundles sell and what is left.
  • Category discovery. Top products of a category and its sub-categories without a login or a search API.
  • Fast and light. Reads TikTok Shop's own page data - no browser.

Run it on a schedule to track TikTok Shop prices and sales

Schedule the actor on your own or competitors' products to follow price, discount, stock and units sold over time - each run is a fresh snapshot.

Use cases

  • Product research / dropshipping: units sold, price and rating of trending products in a category.
  • Competitor tracking: schedule the actor on your competitors' products to follow price, stock and sales over time.
  • Supplier and brand research: who sells a product, the company behind the shop, and how big the shop is.
  • Review mining: star breakdown and first reviews for many products at once.

Input example

{
"productUrls": [
"https://shop.tiktok.com/us/pdp/korean-toner-sadoer-with-collagen-hyaluronic-acid-niacinamide/1730075464618054254",
"1731753318135730868"
],
"categoryUrls": ["https://shop.tiktok.com/us/c/beauty-personal-care/601450"],
"includeSubcategories": true,
"maxSubcategories": 5,
"fetchProductDetails": false,
"maxItems": 200
}

Accepted product links: shop.tiktok.com/us/pdp/..., www.tiktok.com/shop/pdp/..., shop.tiktok.com/view/product/... or the bare product ID.

Output example

A product row (real data, shortened):

{
"type": "product",
"productId": "1730075464618054254",
"region": "us",
"url": "https://shop.tiktok.com/us/pdp/korean-toner-sadoer-with-collagen-hyaluronic-acid-niacinamide/1730075464618054254",
"title": "Korean Toner / Glass skin / Glowy Skin / Collagen+Hyaluronic Acid+Niacinamide#sohochic",
"price": 9.28,
"currency": "USD",
"priceIsRange": true,
"soldCount": 84566,
"rating": 4.5,
"reviewCount": 9945,
"ratingBreakdown": {"1": 678, "2": 201, "3": 473, "4": 880, "5": 7713},
"inStock": true,
"stock": 5003,
"categories": ["Beauty & Personal Care", "Skincare", "Skincare Tools"],
"shopName": "Lucky King JJ",
"shopUrl": "https://shop.tiktok.com/us/store/lucky-king-jj/7495948304225897070",
"shopRating": 4.5,
"shopFollowers": 1201,
"shopSoldCount": 240204,
"shopReviewCount": 19623,
"sellerBusinessName": "DESIGNS FOR HEALTH INC",
"sellerBusinessAddress": "Connecticut,The United States of America",
"variantCount": 4,
"variants": [
{"skuId": "1732322062736331374", "name": "Default / 1PCS", "price": 9.28, "stock": 1977, "available": true},
{"skuId": "1732322062736396910", "name": "Default / 2PCS", "price": 16.28, "stock": 2070, "available": true}
],
"topReviews": [
{"rating": 5, "text": "I love it. I make my face beautiful glow ...", "date": "2025-10-03T22:21:56Z", "verifiedPurchase": true, "variant": "Default", "country": "US"}
],
"source": "category: Beauty & Personal Care"
}

Category results without fetchProductDetails come as "type": "product-card" rows with title, brand, price, original price, discount, units sold, rating, review count, shop name and ID, image and URL.

Connect it to your tools and the API

Integrations (Actor → Integrations tab, no code):

  • Google Sheets — append every run's rows to a sheet.
  • Make, Zapier, n8n — start the actor from a scenario/zap/workflow and use the rows in the next steps.
  • Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
  • Slack / email — notify your team when a scheduled run finishes.

AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP server https://mcp.apify.com?actors=kalilfagundes.w/tiktok-shop-scraper (sign in with your Apify account) and ask for the data in plain language. The agent fills the input from the input schema and reads the dataset back.

API — call it from your code (pip install apify-client / npm i apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kalilfagundes.w/tiktok-shop-scraper").call(run_input={
"categoryUrls": [
"https://shop.tiktok.com/us/c/beauty-personal-care/601450"
],
"includeSubcategories": True,
"maxSubcategories": 3,
"maxItems": 60
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kalilfagundes.w/tiktok-shop-scraper').call({
"categoryUrls": [
"https://shop.tiktok.com/us/c/beauty-personal-care/601450"
],
"includeSubcategories": true,
"maxSubcategories": 3,
"maxItems": 60
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing

Pay per event, platform usage included: one product event per full product row and one product-card event per category product card. Higher Apify plans get lower prices (see the Pricing tab). Set a maximum cost per run in the run options; the actor stops cleanly when it is reached.

Limits

  • No keyword search in this version - start from product links/IDs or category pages.
  • A category page shows its top ~15 products; turn on includeSubcategories to cover more.
  • TikTok Shop shows a product only in its own market: US products work out of the box; other markets use the residential proxy of that country.
  • Products that are removed or not sold in the market are listed in the run summary (OUTPUT) with the reason.

Feedback

If this actor saves you time, a quick rating on its Store page helps other people find it. Something not working? Open an issue in the Issues tab and it gets fixed fast.