TikTok Shop Search Scraper
Pricing
from $100.00 / 1,000 search page (up to 10 products)s
TikTok Shop Search Scraper
Search TikTok Shop by keyword. Get prices, sales, ratings, and seller data across 16 countries. No browser, no CAPTCHA.
Pricing
from $100.00 / 1,000 search page (up to 10 products)s
Rating
5.0
(2)
Developer
Rizla Piker
Maintained by CommunityActor stats
1
Bookmarked
37
Total users
22
Monthly active users
15 days ago
Last modified
Categories
Share
TikTok Shop Search Scraper (App Data)
Data from the TikTok app (mobile API), not the TikTok website. App search payloads are more complete and stable than browser/web scrapers — better prices, sales counts, and ratings.
Search TikTok Shop by keyword and export product cards: title, price, sales, rating, seller, and image. Works in 16 countries. No browser, no login, no CAPTCHA.
Need a product URL or ID instead? Use the companion Actor: TikTok Shop Product Scraper (Mobile API).
Try it on Apify: schedule runs, download CSV/Excel, or call the API.
Why use TikTok Shop Search Scraper?
- TikTok app data, not web HTML. Uses mobile API response shapes — the same source the TikTok app uses — so results stay closer to what sellers and shoppers actually see.
- More reliable than web scrapers. No fragile page layout parsing, fewer empty fields, no CAPTCHA/browser blocks.
- Keyword search, not product IDs. Find what is selling for “wireless earbuds”,
tai nghe bluetooth, orワイヤレスイヤホン. - Market research. Compare prices, sold counts, and ratings across US, UK, EU, SEA, LATAM, and more.
- Competitor and sourcing workflows. Sort by best sellers or price; filter by price range, LIVE, or COD.
- Automatic pagination. Ask for 10 or 50 products; pages of 10 are fetched for you.
- Clean table output. One dataset row per product, ready for Excel, Google Sheets, or pipelines.
How to scrape TikTok Shop search results
- Open this Actor in Apify Console.
- Enter a search query (any language).
- Pick a region (default US).
- Set Number of products if you want more than 10.
- Click Start. Download JSON, CSV, or Excel from the Dataset tab.
Input
Simplest usage
{"query": "wireless earbuds","region": "US"}
Get more products
{"query": "wireless earbuds","region": "US","resultsLimit": 30,"sortType": "BEST_SELLERS"}
resultsLimit: 30 fetches about 3 pages (10 products per page).
Optional filters
{"query": "shampoo","region": "DE","resultsLimit": 20,"sortType": "PRICE_ASC","priceRange": "0,50"}
Multiple searches in one run
{"searchTasks": [{ "query": "wireless earbuds", "region": "US" },{ "query": "tai nghe bluetooth", "region": "VN" },{ "query": "ワイヤレスイヤホン", "region": "JP" }],"resultsLimit": 10}
When searchTasks is set, it overrides the single query / region.
Local-language keyword examples
| Region | Example keyword |
|---|---|
| US, GB, PH, SG, IE | wireless earbuds |
| DE, FR, IT | shampoo |
| ES, MX | champú / audífonos inalámbricos |
| BR | fone de ouvido bluetooth |
| JP | ワイヤレスイヤホン |
| VN | tai nghe bluetooth |
| TH | หูฟัง bluetooth |
| ID, MY | earbuds bluetooth |
Parameters
| Field | Required | Default | Description |
|---|---|---|---|
query | Yes* | — | Search keyword (any language) |
region | No | US | Country: US, GB, DE, FR, IT, ID, MY, MX, PH, SG, ES, TH, VN, BR, JP, IE |
resultsLimit | No | 10 | How many products to return (1–100) |
sortType | No | empty | RELEVANCE, BEST_SELLERS, PRICE_ASC, PRICE_DESC |
priceRange | No | empty | e.g. 0,50 |
live | No | false | LIVE products only |
cod | No | false | Cash on Delivery only |
searchTasks | No | — | Optional batch of { "query", "region" } |
outputMode | No | formatted_filtered | Products / Grouped JSON / Raw API |
*Or provide searchTasks instead of query.
Output
You can download the dataset as JSON, HTML, CSV, or Excel.
{"product_id": "1729587132860570285","title": "Wireless Earbuds Pro ...","price": {"show_price": "$19.99","sale_price": "19.99","original_price": "29.99","currency": "USD","discount": "33%"},"image": "https://p16-oec-general-useast5.ttcdn-us.com/...","sales_count": 2120,"rating": 4.5,"store_info": {"name": "Example Store","shop_id": "8647042001333817005"},"search_query": "wireless earbuds","search_region": "US"}
Data table
| Field | Description |
|---|---|
product_id | TikTok Shop product ID |
title | Product title |
price.show_price | Display price |
price.sale_price | Sale price |
price.original_price | Original / strikethrough price |
sales_count | Units sold when available |
rating | Rating when available |
store_info.name | Shop name |
store_info.shop_id | Shop ID |
image | Main image URL |
Then open the product in the product details Actor with that product_id for SKUs, stock, and full PDP data.
How much does it cost to scrape TikTok Shop search?
This Actor is pay per event. You are charged per search page fetched (about 10 products per page), not per product row. Effective from the scheduled pricing change: $0.10 per page (~$10 per 1,000 products when pages are full).
| What you ask for | Typical pages | Typical cost |
|---|---|---|
| 10 products | 1 page | ~$0.10 |
| 30 products | 3 pages | ~$0.30 |
| 100 products | 10 pages | ~$1.00 |
| 1,000 products | ~100 pages | ~$10.00 |
If TikTok returns fewer products than resultsLimit, you pay only for pages that were actually fetched.
Apify’s Store line “from $100 / 1,000 …” means $100 per 1,000 search pages, which is about $10 per 1,000 products (10 products per page).
Ready-made examples
Open the Examples tab on this Actor to run a pre-configured search for any supported country.
| Use case | Query | Region | Sort |
|---|---|---|---|
| US best-selling wireless earbuds | wireless earbuds | US | BEST_SELLERS |
| UK wireless earbuds | wireless earbuds | GB | BEST_SELLERS |
| Vietnam Bluetooth earphones | tai nghe bluetooth | VN | BEST_SELLERS |
| Japan wireless earphones | ワイヤレスイヤホン | JP | BEST_SELLERS |
| Germany shampoo price scan | shampoo | DE | PRICE_ASC (0,50) |
| France / Italy shampoo | shampoo | FR / IT | BEST_SELLERS |
| Spain champú | champú | ES | BEST_SELLERS |
| Mexico audífonos | audífonos inalámbricos | MX | BEST_SELLERS |
| Brazil fone bluetooth | fone de ouvido bluetooth | BR | BEST_SELLERS |
| Thailand earphones | หูฟัง bluetooth | TH | BEST_SELLERS |
| Indonesia / Malaysia earbuds | earbuds bluetooth | ID / MY | BEST_SELLERS |
| Philippines / Singapore earbuds | wireless earbuds | PH / SG | BEST_SELLERS |
| Ireland shampoo | shampoo | IE | BEST_SELLERS |
Tips
- Use local-language keywords in VN, JP, TH, BR, MX for better results.
- Use
BEST_SELLERSfor sourcing;PRICE_ASC/PRICE_DESCfor price scans. - Start with
resultsLimit: 10, then increase. - Pair search with the product scraper when you need full SKU and stock data.
FAQ, disclaimers, and support
Is this TikTok app data or website scraping?
App data. This Actor reads TikTok Shop mobile / app API search responses. It does not scrape shop.tiktok.com HTML in a browser. That is why fields like price, sold count, and rating tend to be more reliable than web-only scrapers.
Does this scrape a product URL?
No. This Actor is keyword search. For a URL or 19-digit ID, use TikTok Shop Product Scraper (Mobile API) — also app-based.
Why did I get fewer rows than resultsLimit?
TikTok Shop search can run out of results or stop paging. resultsLimit is a maximum.
Can fields be missing?
Yes. Title, price, sales, and rating still vary by region and listing, even with app data.
Use the Issues tab for bugs. For custom workflows (bulk keywords, alerts, private APIs), use Contact.
Run responsibly and follow applicable laws and TikTok Shop terms.