TikTok Shop Scraper | Products, Sellers and Creator Videos
Pricing
from $4.50 / 1,000 results
TikTok Shop Scraper | Products, Sellers and Creator Videos
Scrape TikTok Shop without an account: products with variants, stock and up to 1,000 reviews, the creator videos that sell them, every product of a store or a creator, keyword search in 6 markets, categories in 10, and price and sales changes between runs.
Pricing
from $4.50 / 1,000 results
Rating
0.0
(0)
Developer
SilentFlow
Maintained by CommunityActor stats
1
Bookmarked
79
Total users
17
Monthly active users
5 days ago
Last modified
Categories
Share
TikTok Shop Scraper | Products, Prices, Sellers and Creator Videos (2026)
From SilentFlow. Creators of Pinterest Scraper (#1 for โpinterest pins scraperโ in Apify Store search) and Leboncoin Scraper, with 260,000+ combined lifetime runs.
Every TikTok Shop product as a clean record: variants with stock, prices, shipping and delivery, shop scores, up to 1,000 reviews and the creator videos that sell it. Ten products in under a minute, a whole keyword search (190 products for "face cream") in 20 seconds, every product of a 672-product store in under a minute.
Why choose this actor?
Copying TikTok Shop listings into a spreadsheet one tab at a time? Paying for a product scraper, then a second one for search, then a third for categories? Losing a quarter of your runs to scrapers that come back empty?
- See which creators sell each product, and what each creator sells. Every US product comes with the creator videos promoting it on TikTok: views, likes, creator name, posting date and link, up to 20 videos per product. The other way round, paste a creator's @username and get every TikTok Shop product their videos promote, with how many videos show it and their views: 76 products for a UK creator, 158 and 171 for two Malaysian creators, in about 20 seconds each, in the US, the UK, Thailand and Malaysia.
- Up to 1,000 reviews per product, at no extra cost. Newest first, each with its rating, text, photos, variant, country and verified-purchase flag, and filtered by star rating, photos or verified purchases when you want. A product with 48,333 reviews gave 1,000 distinct ones in 86 seconds, and UK, Thai and Vietnamese products returned theirs too. The reviews are part of the product row: no extra charge, whatever their number.
- 61 fields per product, not 15. On a 10-product US run, each record filled 60.7 fields on average: every variant with its own price, stock and purchase limit, the variant options and which ones are sold out, the promotion tags, the saving and the revenue its sales imply, the shipping fee and the fee before discount, the delivery window and estimated dates, whether TikTok ships it, the shop's rating, followers, badge and service scores, the seller's registered business name and address, specifications, the category path and the reviews shown on the page.
- Every product of a store, with its revenue. Paste a store link and get one row for the store (rating, followers, units sold, service scores and an estimated revenue) then every product it sells. Planet Beauty's 672 products came back in under a minute, and stores in the UK, Mexico, Malaysia, Thailand, Vietnam and Japan work too.
- Search, categories, stores and product pages in one run, across 10 markets. Keyword search works in the US and five Southeast Asian markets: 185 products for "face cream" in Singapore, 165 in Thailand, 155 in the Philippines, 150 in Vietnam, each in under 10 seconds. A US category returned 105 products in 12 seconds. Product pages read 10 of 10 in the US, and 35 of 35 across Malaysia, Thailand, Vietnam, the Philippines, Mexico, Japan and Singapore.
- See what changed since your last run. Turn on change tracking and every product gets its previous price and price change, the units sold since the last run and per day, its stock change and the date it first appeared. It works for product links, searches, categories and stores, in every market: schedule the run daily and follow a niche or a competitor's store.
- No account, no cookies. Paste links, type keywords, hit Start. Nothing to log in to, nothing to refresh.
Try your first products
Paste this input in the Input tab and press Start. It scrapes one product in full with 50 of its reviews, a keyword search and a category, 41 rows in about a minute:
{"productUrls": ["https://shop.tiktok.com/us/pdp/johnny-b-mode-styling-gel-medium-hold-thick-finish/1731647788492165274"],"searchKeywords": ["face cream"],"categoryUrls": ["https://shop.tiktok.com/us/c/moisturizers-mists/601615"],"region": "us","maxItems": 20,"maxReviewsPerProduct": 50}
Works on the Apify free plan: the monthly free credit covers hundreds of products, enough to test the Actor on your own catalog before you commit.

Copy to your AI assistant
Paste this block into Claude, ChatGPT, or Cursor to give it full context about this scraper:
You have access to the TikTok Shop Scraper on Apify: silentflow/tiktok-shop-scraperInput (every filled field is scraped in the same run):- productUrls (array of strings): product links in any form (shop.tiktok.com/us/pdp/<slug>/<id>,shop.tiktok.com/view/product/<id>, tiktok.com/shop/pdp/..., Tokopedia links) or bare product IDs- searchKeywords (array of strings): keyword searches in the us, sg, my, ph, th or vn market- categoryUrls (array of strings): category pages, any of the 10 markets- storeUrls (array of strings): store links (shop.tiktok.com/<cc>/store/<name>/<id>,tiktok.com/shop/store/<name>/<id>) or bare seller IDs (us, gb, mx, my, th, vn, jp), and creatorsas @username or tiktok.com/@username (read in the region market)- region (string, default "us"): us, gb, mx, my, ph, sg, th, vn, jp, id. Used for keywords and bare IDs- maxItems (integer, default 0 = no cap): products per keyword, per category and per store- includeDetails (boolean, default false): open every product found by search, category or store in full- maxReviewsPerProduct (integer 0 to 1000, default 0): reviews collected per product opened in full,newest first; 0 keeps the reviews shown on the product page (usually 3)- reviewFilter (string, default "all"): all, 5, 4, 3, 2, 1 (one star rating), media (with photos orvideos), verified (verified purchases)- trackChanges (boolean, default false): compare every product with the previous run that had thisoption on, and add the change fields belowOutput, one row per product.Full product rows (product links, or search/category with includeDetails):- identity: product_id, product_url, product_name, brand, region, keyword, position- price: price, discounted_price, discount_percentage, savings, price_min, price_max, currency, tags- sales and reputation: sales_count, estimated_revenue, rating, rating_count, reviews_total,rating_distribution- content: description, specifications, ai_title, ai_description, ai_keywords, category, categories,category_id, category_url, image_url, images- stock: in_stock, total_stock, variant_count, variants[] (sku_id, name, price, original_price, stock,in_stock, purchase_limit, warehouse_id, image), variant_options, in_stock_variants,sold_out_variants, inventory_value- shipping: shipping_fee, original_shipping_fee, free_shipping, delivery_min_days, delivery_max_days,delivery_estimate, delivery_option, ship_from, fulfilled_by_tiktok- shop: shop_id, shop_name, shop_url, shop_logo, shop_badge, average_rating, shop_rating_count,follower_count, total_products, shop_sold_count, shop_video_count, shop_scores, seller_location,seller_business_name, seller_business_address- reviews[] (review_id, rating, text, reviewer_name, reviewer_id, verified_purchase, incentivized,variant, sku_id, country, images, date, reviewer_avatar), up to maxReviewsPerProduct- US only: affiliate_videos[] (video_id, url, title, views, likes, author_id, author_name, posted_at,duration_seconds, cover_url), affiliate_video_count, seller_other_products[],shop_top_reviewed_products[] (with review_text)- timestamp (RFC 3339)Listing rows (search, category and store without includeDetails):- product_id, title, product_url, position, price, original_price, price_min, price_max, currency,discount, discount_percent, savings, tags, free_shipping, deal_ends_at, variant_count, rating,review_count, sold_count, estimated_revenue, image, seller_id, seller_name, brand, video_views,video_author, keyword, region, timestampChange fields (product and listing rows, with trackChanges, from the second run on):- previous_price, price_change, price_change_percent, previous_sold_count, sold_since_last_run,sold_per_day, stock_change (full rows), first_seen_at, previous_run_atStore rows (one per store link, before its products):- shop_id, shop_name, shop_url, shop_logo, region, products_found, products_sold_count,estimated_revenue (price x units sold over the products found), currency, timestamp- US stores also: shop_badge, verified, tiktok_account_name, tiktok_account_id, average_rating,shop_rating_count, follower_count, total_products, shop_sold_count, shop_video_count, shop_scoresCreator rows (one per creator, before their products):- creator_username, creator_name, creator_url, creator_avatar, bio, verified, follower_count,following_count, likes_count, video_count, videos_scanned, shop_videos, products_found, regionCreator product rows (products the creator's videos tag; no price: use includeDetails for it):- product_id, title, product_url, image, category, seller_id, currency, sponsored, creator_videos,creator_video_views, last_promoted_at, keyword (@username), position, region, timestampUse apify-client for Python or JavaScript to run it and read the default dataset.
How to scrape TikTok Shop products
Get one product in full, with its creator videos
{"productUrls": ["https://shop.tiktok.com/us/pdp/johnny-b-mode-styling-gel-medium-hold-thick-finish/1731647788492165274"]}
One row with variants, stock, shipping, shop details, reviews and the creator videos that promote it.
Map a keyword niche in the US
{"searchKeywords": ["face cream", "led face mask"],"region": "us","maxItems": 200}
Each keyword returns its listing: price, rating, sold count, shop, brand and the views of the product's promotion video. "face cream" gave 190 products, "led face mask" 40, which is everything TikTok lists for it.
Collect 1,000 reviews of a product
{"productUrls": ["https://shop.tiktok.com/us/pdp/1729602706345005815"],"maxReviewsPerProduct": 1000}
One row with the full product and its 1,000 most recent reviews, in 86 seconds on our latest run. Add "reviewFilter": "1" to get only the 1-star reviews, the fastest way to see what buyers complain about.
Search a keyword in Southeast Asia
{"searchKeywords": ["sunscreen", "tudung"],"region": "my","maxItems": 100}
Keywords work in English or the local language. This Malaysia run returned 100 products per keyword in 6 seconds, priced in ringgit.
List every product of a store
{"storeUrls": ["https://shop.tiktok.com/us/store/planet-beauty/7495863828072663194","https://shop.tiktok.com/gb/store/perfume-home/7494222496103564379"]}
Each store gives one store row, then all its products, best sellers first. Planet Beauty returned its 672 products, and its store row carries the rating, 36,000 followers, 76,651 units sold, its service scores and an estimated revenue.
See what a creator sells
{"storeUrls": ["@abi.stanfordx"],"region": "gb"}
One row for the creator, then every TikTok Shop product their recent videos promote, with how many of their videos show it, the views of those videos and the date of the latest one. This UK creator promoted 76 products across 302 videos. Set region to the creator's market: TikTok shows a video's products only to viewers of that market. Turn on includeDetails to get each product's price, stock and reviews.
Read a whole category in another market
{"categoryUrls": ["https://shop.tiktok.com/my/c/beauty-personal-care/601450"],"maxItems": 100}
The market comes from the link. This Malaysia beauty category returned 100 products in 12 seconds.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
productUrls | array | empty | Product links or bare product IDs, scraped in full |
searchKeywords | array | empty | Keyword searches in the US, Singapore, Malaysia, Philippines, Thailand or Vietnam |
categoryUrls | array | empty | Category pages in any of the 10 markets |
storeUrls | array | empty | Store links or bare seller IDs (US, UK, Mexico, Malaysia, Thailand, Vietnam, Japan), and creators as @username or a profile link |
region | string | us | Market for keywords, bare product IDs and bare seller IDs: us, gb, mx, my, ph, sg, th, vn, jp, id |
maxItems | integer | 0 | Products per keyword, per category and per store. 0 means no cap |
includeDetails | boolean | false | Open every product found by search, category or store in full |
maxReviewsPerProduct | integer | 0 | Reviews per product opened in full, newest first, up to 1,000. 0 keeps the reviews shown on the product page |
reviewFilter | string | all | all, one star rating (5 to 1), media (with photos or videos) or verified (verified purchases) |
trackChanges | boolean | false | Compare every product with the previous run that had this option on: price change, units sold since then and per day, stock change, first seen |
Every field you fill is scraped in the same run: you can mix product links, keywords, categories and stores.
Accepted product link formats:
https://shop.tiktok.com/us/pdp/<product-name>/<id>(the address bar on TikTok Shop)https://shop.tiktok.com/us/pdp/<id>https://shop.tiktok.com/view/product/<id>(share links)https://www.tiktok.com/shop/pdp/<product-name>/<id>https://shop-id.tokopedia.com/pdp/<product-name>/<id>(Indonesia)- a bare product ID such as
1731647788492165274, read in theregionmarket
What data can you extract from TikTok Shop?
A full product row has up to 70 top-level fields (66 on our latest 10-product US run, 60.7 of them filled on average), and 9 more with change tracking. The nested lists add more:
| Group | Fields |
|---|---|
| Identity | product_id, product_url, product_name, brand, region, keyword, position (rank in the search, category or store it was found in) |
| Price | price, discounted_price, discount_percentage, savings, price_min, price_max, currency, tags (promotion labels such as Free shipping or Flash sale) |
| Sales and reputation | sales_count, estimated_revenue (price times units sold), rating, rating_count, reviews_total, rating_distribution (1 to 5 stars) |
| Content | description, specifications, ai_title, ai_description, ai_keywords |
| Category | category, categories, category_id, category_url |
| Media | image_url, images |
| Stock | in_stock, total_stock, variant_count, variants (up to 9 fields each: sku_id, name, price, original_price when discounted, stock, in_stock, purchase_limit, warehouse_id, image), variant_options (SIZE: 16.OZ, 32.OZ...), in_stock_variants, sold_out_variants, inventory_value (price times stock over the variants) |
| Shipping | shipping_fee, original_shipping_fee, free_shipping, delivery_min_days, delivery_max_days, delivery_estimate, delivery_option, ship_from, fulfilled_by_tiktok |
| Shop | shop_id, shop_name, shop_url, shop_logo, shop_badge, average_rating, shop_rating_count, follower_count, total_products, shop_sold_count, shop_video_count, shop_scores, seller_location, seller_business_name, seller_business_address |
| Reviews | reviews, up to 1,000 per product with maxReviewsPerProduct (13 fields each: review_id, rating, text, reviewer_name, reviewer_id, reviewer_avatar, verified_purchase, incentivized, variant, sku_id, country, images, date) |
| Creator videos (US) | affiliate_videos (10 fields each: video_id, url, title, views, likes, author_id, author_name, posted_at, duration_seconds, cover_url), affiliate_video_count |
| Shop context (US) | seller_other_products (9 fields each), shop_top_reviewed_products (10 fields each, with a review text) |
Changes (with trackChanges) | previous_price, price_change, price_change_percent, previous_sold_count, sold_since_last_run, sold_per_day, stock_change, first_seen_at, previous_run_at |
| Meta | timestamp |
Search, category and store results without includeDetails are listing rows of up to 29 fields: product_id, title, product_url, position, price, original_price, price_min, price_max, currency, discount, discount_percent, savings, tags, free_shipping, deal_ends_at (when the flash sale ends), variant_count, rating, review_count, sold_count, estimated_revenue, image, seller_id, seller_name, brand, video_views, video_author, keyword, region, timestamp, plus the change fields with trackChanges.
Each store link also gives one store row, before its products: shop_id, shop_name, shop_url, shop_logo, region, products_found, products_sold_count, estimated_revenue and currency. A US store adds its own record: shop_badge, verified, tiktok_account_name and tiktok_account_id (the TikTok account behind the store), average_rating, shop_rating_count, follower_count, total_products, shop_sold_count, shop_video_count and shop_scores (positive feedback, on-time delivery, chat satisfaction, replies within 24h). The Stores tab of the output shows them in one table.
Each creator gives one creator row (username, name, followers, likes, videos, videos read, videos with products, products found), then one row per product their videos promote: product_id, title, product_url, image, category, seller_id, sponsored, creator_videos, creator_video_views, last_promoted_at and position. TikTok's product tag carries no price: turn on includeDetails to open each product in full.
Good to know when you store the data:
product_idis stable, andproduct_urlis the product's canonical address on TikTok Shop.- Dates (
timestamp, reviewdate, videoposted_at) are RFC 3339 in UTC. - Image and video links are TikTok media links: keep the IDs and canonical URLs for archiving, media links can expire.
sales_countis the number of items sold since the product was listed, as TikTok Shop shows it.- The output's "Reviews, one per row" tab lists every review collected on its own row, with its product, ready to export as CSV or Excel.
Output example
One US product, with the lists shortened to two items:
{"product_id": "1731355078817452186","product_url": "https://shop.tiktok.com/us/pdp/k18-leave-in-hair-mask-biomimetic-molecular-repair-for-damaged-hair/1731355078817452186","product_name": "TT Biomimetic Leave-In Molecular Repair Hair Mask - Vegan, Artificial Color-Free Haircare Product for Adults with Strengthening Hair Benefits, Powered by Bio...","region": "us","price": 36.99,"discounted_price": 36.99,"discount_percentage": 0,"price_min": 36.99,"price_max": 82.99,"currency": "USD","sales_count": 3454,"rating": 4.7,"rating_count": 224,"reviews_total": 224,"rating_distribution": {"1": 16,"2": 1,"3": 5,"4": 11,"5": 191},"description": "๐ K18 Biomimetic Hairscience Leave-In Hair Mask ๐\n\nTransform your hair care with the K18 Biomimetic Hairscience Leave-In Hair Mask. This innovative formula t...","specifications": {"Aerosols": "No","Age group": "Adults","Contains batteries or cells?": "None","Dangerous goods or hazardous materials": "No","Flammable liquid": "No","Hair type": "Damaged,Color and chemically treated","Ingredients": "Water (Aqua) (Eau),Alcohol Denat.,Propylene Glycol,Cetearyl Alcohol,Dicaprylyl Ether,Cetyl Esters,Behentrimonium Chloride,Polysorbate 20,sh-Oligopeptide-78 (...","Manufacturer": "k18","Packaging type": "Jar,Bottle","Product form": "Cream","Region of origin": "US","Scent": "Fresh"},"ai_title": "TT Biomimetic Leave-In Molecular Repair Hair Mask - Nourishing Haircare Essential","ai_description": "Repair extreme hair damage with TT Biomimetic Leave-In Molecular Repair Hair Mask, featuring patented K18Peptide for healthier, renewed hair.","ai_keywords": ["molecular repair hair mask","leave-in hair treatment"],"category": "Beauty & Personal Care > Haircare & Styling > Hair Oils & Treatments > Hair Masks","categories": ["Beauty & Personal Care","Haircare & Styling","Hair Oils & Treatments","Hair Masks"],"category_id": "1405968","category_url": "https://shop.tiktok.com/us/c/hair-oils-treatments/981512","image_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/6f8bd8a6cd3443cbb0cabc7f8a84dd0b~tplv-fhlh96nyum-crop-webp:800:800.webp?dr=12190&t=5...","images": ["https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/6f8bd8a6cd3443cbb0cabc7f8a84dd0b~tplv-fhlh96nyum-crop-webp:800:800.webp?dr=12190&t=5...","https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/6b4e017a76e74077988c8a41fefd545e~tplv-fhlh96nyum-crop-webp:800:800.webp?dr=12190&t=5..."],"in_stock": true,"total_stock": 260,"variant_count": 2,"variants": [{"sku_id": "1731355079990087834","name": ".5OZ","price": 36.99,"stock": 80,"in_stock": true,"purchase_limit": 200,"warehouse_id": "7652182050347566861","image": "https://p16-oec-general.ttcdn-us.com/tos-maliva-i-o3syd03w52-us/1cc36195a89d8712bcc0b67ebb692f92~tplv-fhlh96nyum-resize-jpeg:800:800.jpeg?dr=12186&t=555f072d..."},{"sku_id": "1731355079990022298","name": "1.7OZ","price": 82.99,"stock": 180,"in_stock": false,"purchase_limit": 200,"warehouse_id": "7468284108785714990","image": "https://p16-oec-general.ttcdn-us.com/tos-maliva-i-o3syd03w52-us/6ce15fb3438c946c728a25d7cfd51384~tplv-fhlh96nyum-resize-jpeg:800:800.jpeg?dr=12186&t=555f072d..."}],"shipping_fee": 0,"original_shipping_fee": 5.99,"free_shipping": true,"delivery_min_days": 3,"delivery_max_days": 6,"delivery_estimate": "Oct 16 - Oct 19","delivery_option": "Standard","ship_from": "local","fulfilled_by_tiktok": true,"shop_id": "7495863828072663194","shop_name": "Planet Beauty","shop_url": "https://shop.tiktok.com/us/store/planet-beauty/7495863828072663194","shop_logo": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/814792bd0cbb455889f3f5a948399215~tplv-fhlh96nyum-resize-webp:300:300.webp?dr=12185&t...","shop_badge": "OFFICIAL SHOP","average_rating": 4.6,"shop_rating_count": 4246,"follower_count": 36430,"total_products": 673,"shop_sold_count": 76651,"shop_video_count": 1789,"shop_scores": {"Chat satisfaction": 75,"Issue resolution": 0,"On-time delivery": 91,"Positive feedback": 83},"seller_location": "US","seller_business_name": "BEAUTY WEB lIMITED PARTNERSHIP","seller_business_address": "3199 Red Hill Ave Ste A,Costa Mesa,California,92626","reviews": [{"review_id": "7678458522710918943","rating": 1,"text": "The bottle is empty. Pumped several 100 times nothing came out, took the top off trying to get something out, nothing! Spent way too much on this VERY SMALL ...","reviewer_name": "T**i S**r","reviewer_id": "6982563319509894149","verified_purchase": true,"incentivized": false,"variant": ".5OZ","sku_id": "1731355079990087834","country": "US","images": ["https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/fe940d31d51b42e5951c245d7afc492b~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5...","https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/09c3cd1e5d8e414eac61157a8d132a22~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5..."],"date": "2026-08-26T21:40:52Z"},{"review_id": "7667764002801501966","rating": 5,"text": "best product ever it leaves my hair glossy smooth soft all the above i loveeee it helped a lot when i had red hair","reviewer_name": "a**","reviewer_id": "6682591875717186565","verified_purchase": true,"incentivized": false,"variant": "1.7OZ","sku_id": "1731355079990022298","country": "US","images": ["https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/b25b62e4db1f4cb191af877dda14c2fc~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5...","https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/8caef5add2ff47e3b291498fab81010d~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5..."],"date": "2026-07-29T02:01:09Z"}],"affiliate_videos": [{"video_id": "7646963206182817055","url": "https://www.tiktok.com/@maizy/video/7646963206182817055","title": "No extensions. ๐คโจ One year of growth, less breakage, and a few products I refuse to run out of. Whatโs your biggest hair struggle right now? ๐ #hairtok #blon...","views": 8449,"likes": 1429,"author_id": "6621609712315301894","author_name": "maizy","posted_at": "2026-06-03T00:43:05Z","duration_seconds": 15,"cover_url": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/ogjxrIt3AzUgYEJU8vqLIENPgC9e9puerAGeI5~tplv-tiktokx-360p.jpeg?dr=9616&refresh_token=002c5f2b&..."},{"video_id": "7586458022893849870","url": "https://www.tiktok.com/@Sara Weaver/video/7586458022893849870","title": "Sale is as of 12/21/2025 and is for a limited time only. Prices are subject to change. #hairmask #k18 #hair","views": 892691,"likes": 1149,"author_id": "6692187729658594309","author_name": "Sara Weaver","posted_at": "2025-12-21T23:32:08Z","duration_seconds": 31,"cover_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oEQEEDAFgIW0BRBgelESCGIIPzgzDfdBS3qplI~tplv-tiktokx-360p.jpeg?dr=9616&refresh_token=de8f569b&x..."}],"affiliate_video_count": 20,"seller_other_products": [{"product_id": "1731555581863104666","title": "K18 Biomimetic HeatBounce Scented Vanilla Leave-In Conditioner - Haircare Heat Protectant with UV Protection, Oil-Infused Formula, Advanced Resilicore Heat-S...","url": "https://shop.tiktok.com/us/pdp/k18-heatbounce-leave-in-conditioner-heat-uv-protection/1731555581863104666","price": 65,"currency": "USD","rating": 4.8,"review_count": 69,"sold_count": 1065,"image": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/7c395d4925f046a881e6b76de5df34e5~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t..."},{"product_id": "1732099368812449946","title": "BaBylissPRO Nano Titanium Ultra-Sleek 1 in Precision Flat Iron - Salon-Grade Hair Tool, Adjustable Precision, 450ยฐF Heat, Frizz Control, Lightweight, At-Home...","url": "https://shop.tiktok.com/us/pdp/babyliss-pro-nano-titanium-flat-iron-1-inch-model-bnt130t/1732099368812449946","price": 99.99,"currency": "USD","rating": 4.5,"review_count": 97,"sold_count": 774,"image": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/d1f9a892ead34ababa1f24665141664d~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t..."}],"shop_top_reviewed_products": [{"product_id": "1730804814760480922","title": "BaBylissPRO Studio Design Standing Hot Rollers (Model BCISHRUC) - Salon-Style Standing Unit Hair Styling Tools, 16-Roller Ceramic Set with Heat Protection, V...","url": "https://shop.tiktok.com/us/pdp/standing-hot-rollers-babylisspro-studio-design-series-with-16-rollers/1730804814760480922","price": 114.99,"currency": "USD","rating": 4.5,"review_count": 2,"sold_count": 54,"image": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9054529b9f94468ba1e9e711b1ba62b2~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t...","review_text": "these BaBylissPRO hot rollers might be the best hair purchase I've made all year. The curls hold literally all day, the sizes let me switch up my look, and e..."},{"product_id": "1732535596575068314","title": "K18 Biomimetic Future IQ Hair Longevity Serum - Multivital Formula Haircare Product, Dropper-Applied Thin-Lightweight Scalp Hair Strengthener for Premature A...","url": "https://shop.tiktok.com/us/pdp/k18-biomimetic-hair-longevity-serum-for-stronger-hair/1732535596575068314","price": 156,"currency": "USD","rating": 5,"review_count": 7,"sold_count": 260,"image": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/a96dce6e940f48f1bd8b960fb71e9fec~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t...","review_text": "Was a bit skeptical at first ordering from here given all the AI videos that are posted on the page but I received a pretty big discount off the product from..."}],"timestamp": "2026-10-13T17:42:19Z"}
Advanced usage
Find the creators driving a product
{"productUrls": ["https://shop.tiktok.com/us/pdp/1731355078817452186","https://shop.tiktok.com/us/pdp/1729409677665472728"]}
Sort affiliate_videos by views to see which creators move each product, then contact them or study their hooks.
Turn a niche into a full product database
{"searchKeywords": ["hair oil"],"region": "us","maxItems": 50,"includeDetails": true}
Every product found is opened in full: variants, stock, shipping, shop scores and creator videos for the top 50 results of the keyword.
Track prices and sales across a category every morning
{"categoryUrls": ["https://shop.tiktok.com/us/c/beauty-personal-care/601450"],"maxItems": 0,"trackChanges": true}
Schedule this daily in Apify. From the second run on, every product carries its price change, the units sold since the previous run and per day, and the date it first appeared: sort by sold_per_day to find what is taking off, or open the Changes tab of the output.
Compare the same niche in two markets
{"categoryUrls": ["https://shop.tiktok.com/gb/c/beauty-personal-care/601450","https://shop.tiktok.com/jp/c/beauty-personal-care/601450"],"maxItems": 100}
Each category keeps its own market, so one run gives you the UK and Japan side by side.
Feed a sourcing sheet from Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/tiktok-shop-scraper").call(run_input={"searchKeywords": ["face cream"],"maxItems": 100,})rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())best_sellers = sorted(rows, key=lambda r: r.get("sold_count", 0), reverse=True)[:20]for r in best_sellers:print(r["sold_count"], r["price"], r["seller_name"], r["title"][:60])
The same dataset is available as CSV, Excel or JSON from the Storage tab, or from the API with /v2/datasets/<dataset id>/items?format=csv.
FAQ
What is TikTok Shop? TikTok Shop is the store built into TikTok: products are sold in the app and promoted by creators in their videos, who earn a commission. It runs in the US, the UK, Mexico, Japan and Southeast Asia.
What does this scraper return?
For a product link, a full product record: prices, every variant with stock, shipping and delivery, the shop and its scores, specifications, the reviews shown on the page and, in the US, the creator videos promoting the product. For keywords and categories, a listing row per product, or a full record with includeDetails.
Do I need a TikTok account or cookies? No. The Actor reads public product, search and category pages. Nothing to log in to.
Which markets work? Ten: United States, United Kingdom, Mexico, Malaysia, Philippines, Singapore, Thailand, Vietnam, Japan and Indonesia. Category pages work in all of them. Keyword search covers the US, Singapore, Malaysia, the Philippines, Thailand and Vietnam: TikTok Shop has no keyword search in the UK, Mexico, Japan and Indonesia, so use category or store links there. Store links work in the US, UK, Mexico, Malaysia, Thailand, Vietnam and Japan. Product pages are complete in all of them: 10 of 10 in the US and 35 of 35 across Malaysia, Thailand, Vietnam, the Philippines, Mexico, Japan and Singapore on our latest runs, with 44 to 53 fields filled outside the US. A product TikTok refuses is listed in the run's status message instead of the dataset, so you never pay for an empty row.
Why do some products have no creator videos? Creator videos are a US feature of TikTok Shop, and not every product has creators promoting it. On our latest 10-product US run, 9 carried videos.
Can I get every product of a TikTok Shop store?
Yes. Paste the store link, or the seller ID with its market, in storeUrls. You get every product the store sells, best sellers first, to the end of its catalog: 672 of 672 for Planet Beauty. Set maxItems to keep only the top sellers.
How is the estimated revenue of a store computed?
For each product found, today's price times the units sold, summed in estimated_revenue, with the units in products_sold_count. It is an estimate: past sales may have happened at other prices, and products the store no longer sells are not in it. For a US store, shop_sold_count is TikTok's own count of every unit the store has sold.
Can I see which products a creator promotes?
Yes. Paste the creator as @username or their profile link in the stores field, and set region to their market. The Actor reads their latest videos (up to 300) and lists every TikTok Shop product tagged in them, with how many videos show it, their views and the latest date. It worked for creators in the US, the UK, Thailand and Malaysia on our latest runs. The app's showcase tab is not on the web, so a product the creator only lists there, without a video, is not included.
How does change tracking work?
With trackChanges on, each run remembers every product's price, units sold and stock in a storage of your own Apify account, and the next run with the option on adds what changed: previous_price, price_change, price_change_percent, sold_since_last_run, sold_per_day, stock_change, first_seen_at and previous_run_at. The first run only starts the history. Products are matched by ID and market, whatever input found them, so a product search today and a store run tomorrow still compare.
How many products can a keyword or a category return?
As many as TikTok lists. A broad keyword like "face cream" returned 190 products in the US and 185 in Singapore, a narrow one like "led face mask" 40. A US beauty category returned 105 products. Use maxItems to cap each keyword, category and store.
How fresh is the data? Live. Prices, stock, sold counts and reviews are read from TikTok Shop when the run starts, nothing is cached.
Can I scrape several keywords, categories, stores and products in one run?
Yes. Fill any combination of fields, each one is scraped and the results land in the same dataset with the keyword field telling you where each product came from.
Why are some prices the same in price and discounted_price?
discounted_price is what the cheapest variant sells at today and price its list price. When the product is not on promotion, both are equal and discount_percentage is 0.
How many reviews can I get per product?
Up to 1,000 with maxReviewsPerProduct, newest first: TikTok Shop lists at most 1,000 reviews for each filter, so for a product with more, run it once per star rating with reviewFilter to go further. With maxReviewsPerProduct at 0, you get the reviews shown on the product page (usually 3). Every product row also carries the total review count and the full 1 to 5 star breakdown. Reviews worked in the US, the UK, Thailand and Vietnam on our latest runs.
Do reviews cost extra? No. The reviews are part of the product row, and you pay for the product once whether it carries 3 reviews or 1,000.
What happens with a wrong or removed product link? It is skipped and named in the run's status message, with the reason. No empty row reaches your dataset.
More SilentFlow scrapers
๐ E-commerce
Pinterest - Pinterest Scraper | Pins, Boards and Profiles
Leboncoin - Leboncoin Scraper | Classified Ads, Prices and Sellers
Back Market - Back Market Scraper | Refurbished Prices
Leboncoin - Leboncoin Ad Details Scraper
1688 Wholesale - 1688 Wholesale Scraper
Udemy Course - Udemy Course Scraper
ImportYeti - US Customs Records, Suppliers & Trade Data - ImportYeti Scraper - US Customs Records, Suppliers & Trade Data
Bring a Trailer - Bring a Trailer Scraper
Store Leads - Store Leads Scraper | Shopify Data
Naver - Naver Products Scraper | Shopping Prices, Sellers and Ratings
Naver - Naver Scraper | Shopping Products, Prices and Reviews
Taobao - Taobao Scraper | Products, Prices and Sellers
Vinted Marketplace - Vinted Marketplace Scraper
Walmart - Walmart Product Scraper
Agoda - Agoda Scraper | Hotel Prices and Guest Ratings
Alibaba - Alibaba Products Scraper | Wholesale Prices and MOQ
AliExpress - AliExpress Reviews Scraper | Feedback, Ratings and Photos
AliExpress - AliExpress Scraper | Products, Prices and Sales
Allegro - Allegro Scraper | Products, Prices and Sellers
Amazon Seller - Amazon Seller Scraper | Emails, Phones and Ratings
CARFAX - CARFAX Scraper | Used Cars, Prices and History
Coupang - Coupang Detail Scraper | Product Prices and Options
Ctrip - Ctrip Scraper | Attractions, Tickets and Reviews
Europages - Europages Scraper | Suppliers and B2B Companies
Google Hotels - Google Hotels Scraper | Prices, Offers and Ratings
Homedepot - Homedepot Reviews Scraper | Customer Reviews and Ratings
Lowes - Lowes Products Scraper | Prices, Stock and Specs
Mobile.de - Mobile.de Scraper
Naver - Naver Reviews Scraper | Shopping Product Reviews
Alibaba - Alibaba Scraper | Products, Prices and Suppliers
Amazon Marketplace - Amazon Marketplace Scraper
AutoScout24 - AutoScout24 Scraper
Avito - Avito Scraper | Listings, Prices and Sellers
eBay Listings - eBay Listings Scraper
Mercari - Mercari Scraper | Listings, Sold Prices and Sellers
Trip - Trip Scraper | Hotels, Prices and Reviews
๐ผ Jobs
ZipRecruiter - ZipRecruiter Jobs Scraper | Salary, Company & Location Filters
Indeed - Indeed Company Reviews Scraper
Multi Board - Multi Board Job Scraper
Glassdoor Job Listings - Glassdoor Job Listings Scraper
LinkedIn Job Search - LinkedIn Job Search Scraper | Salaries & Seniority
ATS - ATS Jobs Scraper | Greenhouse, Lever and Ashby
๐ฅ Glassdoor - ๐ฅ Glassdoor Scraper
Indeed - Indeed Jobs Scraper | Job Listings in 73 Countries
Malt - Malt Scraper | Freelance Profiles
Welcome to the Jungle - Welcome to the Jungle Job Scraper
Arbeitsagentur - Arbeitsagentur Jobs Scraper
Dice Tech - Dice Tech Jobs Scraper
Jora - Jora Jobs Scraper
Naukri & NaukriGulf - Naukri & NaukriGulf Jobs Scraper
Seek - Seek Job Scraper
StepStone - StepStone Scraper
๐ Real estate
SeLoger - SeLoger Scraper | Real Estate Listings
Realtor Rental Listings - Realtor Rental Listings Scraper
Zillow - Zillow Scraper
Airbnb Pro Host Contact & - Airbnb Pro Host Contact & Email Scraper
Bien'ici - Bien'ici Scraper | Property Listings
Rightmove - Rightmove Scraper
Trulia Rental Listings - Trulia Rental Listings Scraper
Airbnb Search - Airbnb Search Scraper
Anjuke - Anjuke Scraper | Rental Listings, Prices and Agents
Idealista - Idealista Scraper
Realestate.com.au - Realestate.com.au Scraper
๐ฃ Social media
LinkedIn Post Search - LinkedIn Post Search Scraper | Keywords, Hashtags & Profiles
Facebook Search - Facebook Search Scraper
LinkedIn Leads - LinkedIn Leads Scraper | Sales Navigator Export
OnlyFans - OnlyFans Profile Scraper
Instagram Engagement - Instagram Engagement Scraper
Instagram - Instagram Story Scraper | Stories & Highlights
TikTok - TikTok Scraper
Meta Ad Library - Meta Ad Library Scraper
YouTube - YouTube Channel Scraper | Videos, Shorts and Views
Skool Community - Skool Community Scraper
Facebook Search - Facebook Search Profiles Scraper | People by Name or Keyword
Kuaishou - Kuaishou Scraper | Videos, Comments and Creator Stats
Reddit - Posts, Comments, Communities & - Reddit Scraper - Posts, Comments, Communities & Users
Snapchat - Snapchat Ads Scraper | Ad Library, Impressions & Targeting
TikTok Trend - TikTok Trend Scraper | Trending Hashtags and Videos
Weibo - Weibo Scraper | Posts, Profiles and Engagement
Bilibili - Bilibili Scraper
Discord - Discord Scraper | Servers, Member Counts and Invites
Facebook Business Page - Facebook Business Page Scraper
YouTube - YouTube Transcript Scraper
๐ข Business data
LinkedIn People Search - LinkedIn People Search Scraper | Profiles & Companies
Company Data - Company Data Scraper | Emails, Phones and Tech Stack
Justdial - Justdial Companies Scraper | Business Leads, Phones and Emails
OpenTable - OpenTable Reviews Scraper | Restaurant Reviews and Ratings
Teachable - Courses, Prices & Instructors - Teachable Scraper - Courses, Prices & Instructors
Trustpilot - Trustpilot Enricher
Website Tech Stack - Website Tech Stack Scraper
โ๏ธ Travel
Google Maps - Google Maps Scraper
Booking.com Hotel - Booking.com Hotel Scraper
Flight Price - Flight Price Scraper
Trip - Trip Reviews Scraper | Hotel Reviews and Ratings
๐ฏ Lead generation
Northdata - Northdata Company Scraper
Dealroom - Dealroom Scraper | Companies and Investors
ZocDoc - ZocDoc Scraper | Doctors, Reviews and Availability
SIRET - SIRET Company Enricher
UK Companies House - UK Companies House Enricher
Google Ads Transparency - Google Ads Transparency Scraper
BuiltWith - BuiltWith Scraper | Tech Stacks and Top Sites
CNPJ Brazilian - CNPJ Brazilian Company Enricher
Domain - Domain Enricher
French Company Prospector - French Company Prospector
SEC - SEC Scraper | EDGAR Filings and Company Data
ThomasNet Suppliers - ThomasNet Suppliers Scraper
USPTO - USPTO Scraper | Trademark Search and Status
Clutch Agency - Clutch Agency Scraper
G2 - G2 Reviews Scraper
PagesJaunes - PagesJaunes Business Scraper
๐ SEO
Similarweb - Similarweb Scraper | Website Traffic, Rankings and Competitors
Google News - Google News Scraper
Apple - Apple Scraper | App Store Apps, Ratings and Charts
๐ Marketing
๐งฐ More tools
Support
Need something this scraper doesn't do yet? We ship features fast.
- Feature requests go straight to our backlog
- Enterprise needs? We do custom integrations and high-volume plans
- Pricing questions? Check the Monetization tab on the actor page
Response time: usually under 24 hours.
Legal compliance
This Actor extracts publicly available data from TikTok Shop. It does not log in and does not access private data. Users are responsible for complying with TikTok's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). The output contains personal data such as reviewer names and creator names: handle it accordingly. The data returned is informational; verify accuracy for regulated use cases.
Built and maintained by SilentFlow.
