TikTok Shop Scraper — Products, Prices & Sales avatar

TikTok Shop Scraper — Products, Prices & Sales

Pricing

from $3.00 / 1,000 product scrapeds

Go to Apify Store
TikTok Shop Scraper — Products, Prices & Sales

TikTok Shop Scraper — Products, Prices & Sales

Scrape TikTok Shop US products by keyword, shop, category or product URL: price, discount, units sold, rating, shop, variants with stock, shipping and top reviews. No login.

Pricing

from $3.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

9 days ago

Last modified

Categories

Share

Scrape TikTok Shop (US) products by keyword, shop, category or product URL: price, original price, discount, units sold, rating, review count, shop name and rating, and, with details on, every variant / SKU with its own price and stock, shipping fee and delivery estimate, the shop profile (followers, products sold, response scores), specifications, images, rating breakdown and the top reviews shown on the page.

No login, no cookies, no TikTok account. Export to JSON, CSV or Excel, or pull the dataset through the API into your own app, Google Sheets or an LLM pipeline. You pay per product.

What data does TikTok Shop Scraper extract?

Every product (search, shop, category):

FieldDescription
productId, urlTikTok Shop product id and product page URL
title, imageUrlProduct title and main image
price, originalPrice, discountPercent, currencyCurrent price, crossed-out price and discount as shown (USD)
minPrice, maxPrice, isPriceFromPrice range across variants ("From $x")
soldCountUnits sold as shown by TikTok ("items sold globally since listed")
rating, reviewCountProduct rating (1-5) and number of reviews
shopId, shopNameSeller (shop) id and name
shopUrl, shopRating, shopFollowerCountFilled for shop URLs and with details on
labels, freeShippingBadges such as "Flash sale", "Limited time deal", "Free shipping"
skuCountNumber of variants / SKUs
position, page, source, searchTerm, sourceUrlWhere the product was found (rank in the results)
categoryPath, categoryIdFor category URLs and with details on
scrapedAtTime of the scrape (UTC)
changeType, previousValuesOnly with Only new or changed items on: new or changed, and for changed products the old values of the fields that changed

With Include product details (and always for product URLs):

FieldDescription
variants[]Every SKU: skuId, options (e.g. Color / Size), title, price, originalPrice, discountPercent, stock, inStock, purchaseLimit
variantOptions[]Option names and their values
stockTotalSum of the SKU stock counts
shippingfreeShipping, shippingFee, originalShippingFee, deliveryName ("3-day delivery"), deliveryMinDays, deliveryMaxDays, estimatedDelivery, shipping texts
shopShop profile: name, URL, rating, followers, product count, units sold, review count, video count, logo, service scores (positive feedback, on-time delivery, response time)
sellerBusinessNameThe business name from the page's "Seller information" block
description, specifications, images[]Product description, attribute table and all images
ratingBreakdownNumber of 1-5 star ratings
topReviews[]The reviews TikTok shows on the product page (up to 3): rating, text, date, reviewer name as shown (TikTok masks it, e.g. "d**a"), variant bought, photos, verified purchase, incentivized flag, country

How to scrape TikTok Shop products by keyword

  1. Enter one or more Search terms (e.g. bluetooth speaker, lip gloss).
  2. Optionally choose Sort search results (best sellers, price, newest).
  3. Set Max items and click Start.

Each search request returns 25-30 products. TikTok's web shop stops after roughly 100-150 products per keyword; use more specific keywords to go deeper.

How to scrape all products of a TikTok Shop seller

Paste the shop URL, e.g. https://shop.tiktok.com/us/store/blissblissbronzed/7496079388287011643 (the www.tiktok.com/shop/store/... form works too), into Start URLs. The actor pages through the whole shop (20 products per request) and adds the shop rating and follower count to every product.

Other accepted URLs:

  • Product pages: https://shop.tiktok.com/us/pdp/<name>/<id>, https://www.tiktok.com/shop/pdp/<name>/<id>, https://shop.tiktok.com/view/product/<id> or just the product id. Always returned with full details.
  • Category pages: https://shop.tiktok.com/us/c/<name>/<id>. TikTok's public category page lists 10-15 products, so the actor continues with the category's subcategories (turn off Follow subcategories to stay on the one page).
  • Keyword pages: https://shop.tiktok.com/us/k/<keyword> and https://shop.tiktok.com/us/s?q=<keyword> run as a keyword search.

Input example

{
"searchTerms": ["bluetooth speaker"],
"startUrls": [
{ "url": "https://shop.tiktok.com/us/store/blissblissbronzed/7496079388287011643" },
{ "url": "https://shop.tiktok.com/us/pdp/1730770580795069243" }
],
"maxItems": 200,
"includeDetails": true,
"sortBy": "best_sellers"
}

Output example

A product with details (real output from 2026-10-07; long URLs and lists shortened):

{
"type": "product",
"productId": "1732515696294793480",
"title": "6.34QT Stainless Steel Air Fryer - Kitchen Appliance, Kitchen Supplies for Daily Use, Window, 8 Food Presets, Adjustable Heat Settings Fryers (Max 400°F), 90-Min Timer, Nonstick Dishwasher-Safe Basket, Auto Shut-Off (Air Fry, Roast, Bake)",
"url": "https://shop.tiktok.com/us/pdp/stainless-steel-air-fryer-6-34qt-8-presets-90-min-timer/1732515696294793480",
"price": 59.99,
"originalPrice": 99.99,
"discountPercent": 40,
"currency": "USD",
"minPrice": 59.99,
"maxPrice": 59.99,
"isPriceFrom": false,
"soldCount": 206,
"rating": 4.9,
"reviewCount": 47,
"shopId": "7494598898067735816",
"shopName": "NOVA CASA",
"shopUrl": "https://shop.tiktok.com/us/store/nova-casa/7494598898067735816",
"shopRating": 4.5,
"shopFollowerCount": 11271,
"imageUrl": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/f4c9875ef4c3410996cf621a98eb1668~tplv-fhlh96nyum-crop-webp:800:800.webp?…",
"labels": [
"Flash sale",
"Fall Deals",
"Free shipping"
],
"freeShipping": true,
"skuCount": 3,
"position": 3,
"detailsScraped": true,
"source": "search",
"searchTerm": "air fryer",
"sourceUrl": null,
"page": 1,
"scrapedAt": "2026-10-07T20:42:21Z",
"available": true,
"images": [
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/f4c9875ef4c3410996cf621a98eb1668~tplv-fhlh96nyum-crop-webp:800:800.webp?…"
],
"description": "Premium Materials \nCrafted with a stainless steel exterior, this air fryer boasts exceptional durability. Its wear-resistant design ensures long-lasting perform…",
"specifications": {
"Dangerous goods or hazardous materials": "No"
},
"categoryPath": [
"Household Appliances",
"Kitchen Appliances",
"Fryers"
],
"categoryId": "935304",
"variantOptions": [
{
"name": "Color",
"values": [
"Black",
"Grey",
"White"
]
}
],
"variants": [
{
"skuId": "1732515715311702280",
"options": {
"Color": "Black"
},
"title": "Black",
"price": 59.99,
"originalPrice": 99.99,
"discountPercent": 40,
"stock": 344,
"inStock": true,
"purchaseLimit": 200
},
{
"skuId": "1732515715311767816",
"options": {
"Color": "Grey"
},
"title": "Grey",
"price": 59.99,
"originalPrice": 99.99,
"discountPercent": 40,
"stock": 201,
"inStock": true,
"purchaseLimit": 200
}
],
"stockTotal": 946,
"shipping": {
"freeShipping": true,
"shippingFee": 0,
"originalShippingFee": 7.99,
"currency": "USD",
"deliveryName": "3-day delivery",
"deliveryMinDays": 4,
"deliveryMaxDays": 6,
"estimatedDelivery": "Oct 11 - Oct 13",
"text": [
"Free 3-day delivery",
"Estimated delivery Oct 11 – 13",
"Usually ships next day"
]
},
"shop": {
"shopId": "7494598898067735816",
"name": "NOVA CASA",
"url": "https://shop.tiktok.com/us/store/nova-casa/7494598898067735816",
"rating": 4.5,
"followerCount": 11271,
"productCount": 264,
"soldCount": 50248,
"reviewCount": 5594,
"videoCount": 2718,
"logoUrl": "https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/ee6495c0dba64e82ad2fd48a23916920~tplv-fhlh96nyum-resize-webp:300:300.webp?…",
"scores": {
"Positive feedback": "84%",
"On-time delivery": "99%",
"Issue resolution": "<19h",
"Chat satisfaction": "Fair"
}
},
"sellerBusinessName": "MAKKUSU LLC",
"ratingBreakdown": {
"1": 1,
"2": 0,
"3": 0,
"4": 1,
"5": 45
},
"topReviews": [
{
"reviewId": "7670175333978490638",
"rating": 5,
"text": "Me encantó, la recomiendo 100/100, la amé",
"date": "2026-08-04T13:57:58Z",
"reviewerName": "🌻**",
"variant": "Black",
"skuId": "1732515715311702280",
"images": [
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/221a856b9d5245d89895ae3f86b7ff6d~tplv-fhlh96nyum-crop-webp:300:300.webp?…"
],
"verifiedPurchase": true,
"incentivized": false,
"country": "US"
}
]
}

Without details the item stops at scrapedAt and has detailsScraped: false.

Monitor changes on a schedule

Turn on Only new or changed items and the actor remembers what earlier runs of the same input returned: each run outputs only products that are new or whose price, crossed-out price or lowest / highest variant price changed. Unchanged products are dropped before anything is saved or any product page is opened, so they are not charged. Save the input as a task (for example one keyword with Max items 50: the first 50 results are checked every run), then add a Schedule to it in Apify Console (Schedules → Create new, e.g. daily). Every output product carries changeType (new or changed), and changed ones carry previousValues, e.g. {"price": 29.99} for a product now at 24.99. Sold counts and review counts are not compared (they move with every order), and Monitoring key keeps several schedules on the same search separate.

Can I get TikTok Shop sales data?

Yes. soldCount is the units-sold figure TikTok prints on the product ("items sold globally since this item was listed, excluding returns"). With details on you also get stockTotal, per-variant stock and the shop's total units sold (shop.soldCount). The actor does not estimate revenue (GMV); multiply soldCount by price if you need a rough figure.

Does it work without login?

Yes. It reads TikTok Shop's public US web shop (shop.tiktok.com/us) the way a logged-out visitor sees it: no account, no cookies, no captcha solving. TikTok shows a "Security Check" page to some requests; those are retried automatically on another IP.

Can it scrape TikTok Shop reviews?

Partly. Each detailed product includes the rating breakdown (count of 1-5 star ratings) and the top reviews the public product page shows (up to 3, with text, date, variant bought and photos). The full review list is only available to TikTok's app and signed requests, which this actor does not use.

Which countries are supported?

The US shop (shop.tiktok.com/us). Prices are in USD as shown to US visitors. The UK web shop returned no product data to logged-out visitors in our tests, so other countries are not supported.

Pricing

Pay per event, no subscription:

  • $0.003 per product (search, shop or category result).
  • +$0.004 per product page opened (detail event): with Include product details on, or for product URLs.

1,000 products from searches cost $3; 1,000 fully detailed products cost $7. Apify platform usage is billed to you at cost and is small: about $0.01 per 1,000 listed products and about $0.08 per 1,000 detailed products in our test runs.

Proxy note. The default Apify datacenter proxy works and carries no per-request proxy fee. Residential proxies are not needed. Sorting is best effort: TikTok sometimes answers sorted searches with a short unsorted list; the actor asks again several times and, if TikTok keeps refusing, continues in relevance order (shown as sortFallback in the run's SUMMARY record).

Integrations and API

Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client. See the API tab for ready-made snippets.

The actor collects only data that TikTok Shop shows publicly to logged-out visitors: product listings, prices, sales counts, shop profiles and the seller business name TikTok publishes on the product page. Reviewer names are exported exactly as TikTok shows them, already masked by TikTok (e.g. "d**a"); hidden reviewer ids are not exported. Review texts are written by users and can contain personal details. You are responsible for how you use the data and for complying with TikTok's terms and applicable law (GDPR, CCPA).

Support

Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.