TikTok Shop Search Scraper avatar

TikTok Shop Search Scraper

Pricing

from $9.00 / 1,000 results

Go to Apify Store
TikTok Shop Search Scraper

TikTok Shop Search Scraper

Search TikTok Shop by keyword and see real units sold, prices, discounts, reviews, seller stats and promo videos. No login needed. Great for finding winning products, spying on competitors and dropshipping research.

Pricing

from $9.00 / 1,000 results

Rating

0.0

(0)

Developer

Data WiKi

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

🚀 What is TikTok Shop Search Scraper?

TikTok Shop Search Scraper is an Apify Actor and a TikTok Shop scraper that searches the US storefront by keyword. It returns each product with price, exact units sold, SKUs with stock, seller stats, a review sample and promoting videos. You need no login, and you can export the results as JSON, CSV or Excel.

  • Bulk keywords: this TikTok Shop data scraper takes many keywords or keyword links in one run, and each keyword gets its own product limit.
  • Exact units sold: TikTok Shop units sold are read from the product page, not from the rounded number shown in search results.
  • Live results: every product is saved the moment it is read, so the Output tab fills while the run is going.
  • Separate tables: as a TikTok Shop product scraper it saves products, SKUs, videos, reviews, sellers and keywords in their own tables, so each part is easy to filter.
  • Hands-off connection handling: the Actor retries and switches connection by itself when TikTok Shop rejects requests.

As a TikTok Shop web scraper it uses plain requests rather than a browser, and Apify runs it in the cloud, so you install nothing. Click Try for free, type a keyword and press Start.

📊 What data can you extract from TikTok Shop?

The Actor builds a TikTok Shop dataset with 44 fields per product, and you can export it to JSON, CSV, Excel, XML or HTML. Fields marked "details" are filled only when Full product details is on (the default); without it you get the search-card fields and null for the rest. The values in the Example column are illustrative.

FieldDescriptionExample
keywordSearch keyword that found the productphone case
rankPosition of the product among the saved results of its keyword1
product_idTikTok Shop product ID1000000000000000001
titleProduct titleExample Shockproof Phone Case
urlLink to the product pagehttps://shop.tiktok.com/us/pdp/x/1000000000000000001
priceCurrent price a buyer pays (default option)4.99
original_priceList price before the discount, when one exists7.99
discount_pctDiscount in percent, when one exists38
currencyCurrency code of the pricesUSD
price_min / price_maxLowest and highest price across all options (details)4.99 / 9.99
sold_countUnits sold: exact with details, rounded by TikTok Shop otherwise1523
ratingAverage star rating4.6
review_countNumber of customer reviews212
rating_breakdownNumber of reviews per star level, 1 to 5 (details){"5": 160}
statusListing status, active when on sale (details)active
free_shippingWhether shipping is freefalse
shipping_feeShipping fee (details)3.5
delivery_daysEstimated delivery time as [min, max] days (details)[5, 9]
ships_fromWhere the product ships from (details)United States
deal_labelsPromotion labels shown on the product["Limited time deal"]
brandBrand name, when TikTok Shop lists oneExampleBrand
category_pathCategory names from top level to leaf (details)["Phones & Electronics", "Phone Cases"]
category_idsCategory IDs from top level to leaf (details)["1001", "1002"]
imageMain product imagehttps://...
imagesAll product images (details)["https://..."]
descriptionProduct description as plain text (details)Slim case with raised edges.
description_imagesImages inside the description (details)["https://..."]
specificationsSpecifications as name and value pairs (details){"Material": "TPU"}
variantsVariant groups such as Color or Size with their values (details)[{"name": "Color", "values": ["Black"]}]
sku_countNumber of purchasable variants2
skusEvery SKU with price, stock and purchase limit (details)[{"sku_id": "...", "stock": 420}]
total_stockStock summed over all SKUs (details)730
seo_keywordsKeywords TikTok Shop attaches to the product (details)["phone case"]
related_keywords"People also searched" keywords; needs videos per product above 0["clear phone case"]
seller_id / seller_name / seller_logoSeller (shop) ID, name and logoExample Case Shop
sellerSeller stats: rating, followers, sold count, product count, badge (details){"followers": 5200}
promo_videoThe video shown with the product in the search, with play and like counts{"play_count": 18000}
related_videosTikTok videos promoting the product; needs videos per product above 0[{"like_count": 63}]
reviewsA sample of the customer reviews shown on the product page (details)[{"rating": 5}]
scraped_atTime the product was read (UTC)2026-10-27T10:00:00Z
errornull when everything was read, otherwise a short note on what is missingnull

A TikTok Shop SKU row has the variant, price, stock and purchase limit. The seller row has the shop rating, followers, sold count and badge. Each review row has the rating, text, date, reviewer name, verified-purchase flag and country. TikTok Shop product videos come in a separate table with play and like counts. Without full product details you still get TikTok Shop product data from the search results: price, rounded units sold, rating, review count, seller name, image, deal labels and the promo video.

💡 Result tables: the default dataset has one row per product, and skus, videos, reviews, sellers and keywords are extra tables in the Output tab.

💡 Use cases for TikTok Shop data

  • Product research: rank the saved products by sold_count, rating and review_count for TikTok Shop product research in any niche.
  • Winning products: set Min units sold to keep only TikTok Shop winning products that already have proven sales, then check price_min, price_max and total_stock.
  • Dropshipping research: build a shortlist for dropshipping product research from price, shipping_fee, delivery_days and ships_from. To compare with wholesale prices, check wholesale prices on 1688.
  • Best sellers and trends: collect TikTok Shop best sellers for a keyword by sorting on sold_count. Run the same keyword every week and compare sold_count between runs to spot TikTok Shop trending products.
  • Competitor and seller analysis: read the sellers table (rating, followers, product count, badge) for TikTok Shop competitor analysis.
  • Price and discount tracking: schedule the Actor and compare price, original_price and scraped_at across runs as a TikTok Shop price tracker. Compare discount_pct and deal_labels the same way to see changing deals.
  • Keyword and niche research: use related_keywords and the keywords table for TikTok Shop keyword research. Count products, units sold and sellers per keyword to size a niche for TikTok Shop niche research.
  • Videos and affiliate research: related_videos lists TikTok videos that promote a product, with play_count, like_count and is_affiliate, which is a starting point for TikTok Shop affiliate product research. To go deeper on the videos themselves, collect TikTok videos by keyword or hashtag.

🛠️ How to scrape TikTok Shop products

  1. Create an Apify account and open TikTok Shop Search Scraper.
  2. Add your TikTok Shop search keywords, one per line, or paste keyword links such as https://shop.tiktok.com/us/k/phone-case.
  3. Set Max products per keyword (maxProductsPerKeyword) and, if you want only proven sellers, Min units sold (minSoldCount).
  4. Leave Full product details on for exact units sold, SKUs, seller stats and reviews, and set Videos per product (maxVideosPerProduct) if you want promo videos.
  5. Click Start and watch the log; each saved product appears as it is read.
  6. Open the Output tab to browse the tables. To move TikTok Shop products to CSV, pick the CSV format in the export options, or choose JSON, Excel, XML or HTML.

How to find winning products on TikTok Shop

Search a niche keyword, set minSoldCount to the sales level you trust, keep full product details on and sort the dataset by sold_count. Then read rating_breakdown, total_stock and the seller columns to judge each candidate.

How to find best selling products on TikTok Shop

Run one keyword with maxProductsPerKeyword set to 0 to take everything TikTok Shop returns for it, then sort by sold_count. This gives you the TikTok Shop top selling products of that keyword at the time of the run.

💰 How much does it cost to scrape TikTok Shop?

TikTok Shop Search Scraper uses pay per event. The main_result event is charged for each product saved to the default dataset, and the apify-actor-start event is a start fee of $0.00005 per GB of memory, which is $0.00005 per run at the configured 1024 MB (1 GB). Apify platform usage (compute) is billed on top of the events above. See the Pricing tab for current rates.

Plan tierPrice per resultPrice per 1,000 results
Free$0.012$12.00
Bronze$0.011$11.00
Silver$0.010$10.00
Gold, Platinum, Diamond$0.009$9.00

Worked example: 1,000 saved products at the Free tier price cost 1,000 x $0.012 = $12.00, plus the $0.00005 start fee. At the Gold tier the same 1,000 products cost 1,000 x $0.009 = $9.00. Only products that are actually saved are charged. If you set a maximum cost per run, the Actor stops cleanly when that limit is reached.

💡 For a cheap test, keep the default 10 products per keyword. Switching off Full product details and Videos per product gives a quick search-only run.

⬇️ Input

The only required field is urls: one or more keywords or TikTok Shop keyword links. See the Input tab for every option. The example below uses the form defaults for the first run.

{
"urls": ["phone case"],
"maxProductsPerKeyword": 10,
"minSoldCount": 0,
"includeProductDetails": true,
"maxVideosPerProduct": 5
}
FieldWhat it does
urls (required)Keywords or TikTok Shop keyword links, one per line. Product links are not accepted.
maxProductsPerKeywordMost products saved for each keyword. Default 10; 0 means everything TikTok Shop returns.
minSoldCountKeeps only products with at least this many units sold, judged on the number shown in search results. Default 0 (no filter).
includeProductDetailsOpens every product page for the full record. Default on; slower but much richer.
maxVideosPerProductPromo videos per product, 0 to 20. Default 5. Needs full product details, which are switched on automatically.
proxyConfigurationOptional proxy settings. Leave it as is unless you want to use your own proxy.

⚠️ Only the US storefront is available. Other country settings are ignored with a note in the log.

⬆️ Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields. You can export TikTok Shop products as JSON, CSV, Excel, XML or HTML. The sample below continues from the input above and uses illustrative values, shortened to the main fields.

{
"keyword": "phone case",
"rank": 1,
"product_id": "1000000000000000001",
"title": "Example Shockproof Phone Case",
"url": "https://shop.tiktok.com/us/pdp/x/1000000000000000001",
"price": 4.99,
"original_price": 7.99,
"discount_pct": 38,
"currency": "USD",
"price_min": 4.99,
"price_max": 9.99,
"sold_count": 1523,
"rating": 4.6,
"review_count": 212,
"rating_breakdown": { "1": 8, "2": 3, "3": 10, "4": 31, "5": 160 },
"free_shipping": false,
"shipping_fee": 3.5,
"delivery_days": [5, 9],
"sku_count": 2,
"skus": [
{ "sku_id": "2000000000000000001", "variant": "Black / iPhone 13", "price": 4.99, "stock": 420, "in_stock": true },
{ "sku_id": "2000000000000000002", "variant": "Clear / iPhone 13", "price": 5.49, "stock": 310, "in_stock": true }
],
"total_stock": 730,
"seller_name": "Example Case Shop",
"related_videos": [
{ "video_id": "3000000000000000001", "play_count": 18000, "like_count": 63, "author_name": "example_creator" }
],
"scraped_at": "2026-10-27T10:00:00Z",
"error": null
}

The keywords table has one row per keyword with status, products_saved, products_examined, below_min_sold_count, pages_read, related_keywords, note and searched_at.

⚠️ Limitations and error handling

  • The Actor reads the US storefront only, and only public data that any visitor can see. It does not read private or logged-in data.
  • The number of products depends on what TikTok Shop returns for the keyword. Set maxProductsPerKeyword to 0 to take everything it returns, and run a small test to see how many that is for your keyword.
  • Each TikTok Shop product search runs separately per keyword, so a product that matches two keywords is saved once for each.
  • You can scrape TikTok Shop reviews only as the sample shown on each product page, together with the full star breakdown. The longer review list is not available.
  • It is not a TikTok Shop seller scraper for whole shops: sellers appear through the products your keywords find.
  • minSoldCount filters on the units sold shown in search results, which TikTok Shop rounds. rank counts the products that are saved, after this filter.
  • Keyword status values in the keywords table: ok (end of results), limit (your per-keyword limit was reached), empty (no products found), error (the search failed), unreachable (TikTok Shop could not be reached) and skipped (the run stopped before this keyword). The note column adds a short reason.
  • If part of a product could not be read, the row is still saved and error explains what is missing, for example "run stopped before details" or "related videos unavailable after 3 tries (refused by TikTok Shop)".
  • When TikTok Shop shows security checks, the Actor retries, pauses and switches connection. If it still cannot get through, it stops and keeps everything saved so far; run it again after a few minutes.
  • The run fails at once with a clear message if no keyword is given or if TikTok Shop cannot be reached.

🔌 Integrating TikTok Shop Search Scraper with other apps

You can run TikTok Shop Search Scraper from the Apify Console, on a schedule or through the Apify API, and send finished runs to other tools with webhooks. The API tab has ready-made code snippets.

  • Call the Actor like any TikTok Shop scraper API: start a run through the Apify API with the input shown above. It is not an official TikTok Shop API.
  • Repeat a search with Apify schedules. Each run is a fresh snapshot with its own scraped_at; the Actor has no built-in change detection, so compare runs yourself.
  • Send results onward with Apify integrations, for example Make, Zapier or webhooks.
  • AI agents can find and run the Actor through the Apify MCP server; see the Apify MCP documentation.

🔗 Other TikTok and marketplace scrapers by data_wiki

ActorWhat it extractsWhen to use it
TikTok video and profile data extractorTikTok videos from links, profiles, hashtags or keywordsWhen you want the videos and creators behind a product, not the shop data
1688 wholesale supplier scraper1688.com products with bulk price tiers, minimum order and supplier detailsWhen you want a wholesale price to compare with a TikTok Shop price
Facebook Marketplace listings scraperPublic Facebook Marketplace listings with prices and locationsWhen you compare TikTok Shop prices with local listing prices
Pinterest pins and product prices scraperPinterest pins, boards and creators found by keywordWhen you want to see what trends on Pinterest before searching TikTok Shop
OpenRouter model catalog exportThe public OpenRouter model catalog with prices, capabilities and usageYou track prices of AI models instead of shop products

TikTok Shop Search Scraper only extracts data that TikTok Shop shows to every visitor and does not extract private data. The results can still contain personal data, for example reviewer names in the reviews table and creator names in the videos table, so collect it only with a legitimate reason. TikTok Shop data scraping should follow GDPR (Regulation (EU) 2016/679), the terms of the site and the laws that apply to you; consult a lawyer if you are unsure. Read Apify's guides on whether web scraping is legal and on ethical web scraping. The site itself is TikTok Shop.

❓ FAQ

Do I need a TikTok account to use this TikTok Shop scraper?

No. You can scrape TikTok Shop data from public pages that any visitor can see, so you need only an Apify account.

Do I need an API key?

No. As a TikTok Shop data extractor it needs no TikTok key and no login, only your Apify account.

How much does it cost?

You pay per saved product plus a tiny start fee, and Apify platform usage is billed on top. See the pricing section above for the tier prices.

How many products can I get per keyword?

As many as TikTok Shop returns for the keyword, up to your maxProductsPerKeyword limit. Set it to 0 to take all of them; the default in the form is 10.

Which countries are covered?

Only the US storefront.

Can I scrape private data?

No. The Actor reads only public product, seller, review and video information.

Can I use it as a TikTok Shop product research tool?

Yes, as a data source. It supplies sales, price, stock, seller and video fields, but it does not score products or predict trends.

Is it a full TikTok Shop review scraper?

No. It saves the review sample shown on each product page plus the star breakdown, not every review.

Do I need proxies?

No. The Actor starts without a proxy and switches connection by itself when requests are rejected. You may add your own proxy in the input.

Can I use it as a TikTok Shop data API?

Yes, through the Apify API: start a run and fetch the dataset items of the run. It is not an official TikTok Shop API.

Can I use it through an MCP server?

Yes. Add the Apify MCP server to your AI client and the agent can find and run this Actor. See the Apify MCP documentation.

💬 Your feedback

Found a bug or want another field? Open an issue in the Issues tab of this Actor. Need a custom solution? Contact hello.datawiki@gmail.com.