TikTok Shop Search Scraper avatar

TikTok Shop Search Scraper

Pricing

from $1.22 / 1,000 product results

Go to Apify Store
TikTok Shop Search Scraper

TikTok Shop Search Scraper

Scrape TikTok Shop search results by keyword. Get product titles, prices, sellers, ratings, sold counts, images, and URLs with bulk keywords, filters, sorting, pagination, retries, and proxy support.

Pricing

from $1.22 / 1,000 product results

Rating

0.0

(0)

Developer

Blynx

Blynx

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

šŸ›ļø TikTok Shop Search Scraper

Find TikTok Shop products by keyword and turn search pages into clean product rows. Scrape public TikTok Shop search results across supported regions with price, seller, rating, sold count, image, product URL, free-shipping signals, and stable spreadsheet-friendly fields.

Built for product researchers, dropshippers, brands, agencies, marketplace analysts, and anyone tracking what is moving on TikTok Shop without opening hundreds of product cards by hand.


šŸ”„ What it does

  • šŸ”Ž Search one keyword or many keywords in a single run
  • šŸŒ Pick a TikTok Shop region such as US, GB, ES, MX, DE, FR, JP, and more
  • 🧾 Extract product cards with title, product ID, URL, image, seller, price, sold count, rating, and reviews
  • šŸ“ˆ Sort locally by relevance, best sellers, price, or rating
  • šŸŽšļø Filter products by price, rating, sold count, and free shipping
  • 🧹 Deduplicate globally so the same product does not flood your dataset across keywords
  • 🧰 Keep output flat so Apify "All fields", CSV, Excel, and Google Sheets exports stay usable
  • 🧪 Save warning/error rows when a keyword or page cannot be fetched, so debugging is visible

āš™ļø Simple input, extended controls

This actor supports the simple competitor-style input:

{
"country_code": "US",
"keyword": "water bottle",
"limit": 50,
"page": 1
}

And it also supports a richer product-research workflow:

{
"country_code": "US",
"keywords": ["neck fan", "phone case", "makeup organizer"],
"maxItems": 50,
"maxPages": 3,
"sortBy": "best_sellers",
"dedupe": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

šŸ’” Pro tip: run broad keywords first (water bottle, phone case, hair dryer brush), sort by best_sellers, then re-run winners with price/rating filters.


šŸŒ Supported regions

US, VN, TH, PH, MY, ID, GB, SG, ES, MX, DE, IT, FR, BR, JP

For the best results, match the proxy country to country_code when possible.


šŸ“„ Input fields

FieldWhat it does
country_codeTikTok Shop region code. Default is US.
keywordOne search keyword. Kept for simple input compatibility.
limitCompatibility cap per keyword when maxItems is not set.
pageFirst search page to fetch.
keywordsMultiple keywords. Merged with keyword and deduplicated.
maxItemsMaximum products to save per keyword. 0 means no explicit per-keyword cap.
maxPagesMaximum pages to fetch per keyword.
sortByrelevance, best_sellers, price_asc, price_desc, or rating_desc.
minPrice, maxPriceLocal price filters on normalized current price.
minRatingKeep products at or above this rating.
minSoldCountKeep products at or above this sold count.
freeShippingOnlyKeep only products with a free-shipping signal when TikTok exposes it.
dedupeAvoid duplicate products across keywords and pages.
includeRawProductAdds the original TikTok product card as JSON text in rawProductJson.
compactOutputRemoves empty values while preserving stable columns.
maxConcurrencyNumber of keywords processed in parallel.
requestDelayMsOptional pause between pages of the same keyword.
proxyConfigurationApify proxy settings. Residential proxy is strongly recommended.

šŸ“¤ Output

Product rows use type: "product_card" and status: "ok".

{
"type": "product_card",
"status": "ok",
"countryCode": "US",
"query": "water bottle",
"page": 1,
"sourceUrl": "https://www.tiktok.com/shop/s?q=water+bottle&region=US&page=1",
"searchRank": 1,
"sortedRank": 1,
"productId": "1729595536444134138",
"title": "HydroJug Sport 32oz Portable Water Bottle",
"productUrl": "https://www.tiktok.com/shop/pdp/_/1729595536444134138?region=US",
"currentPrice": 24.99,
"originalPrice": 29.99,
"currency": "USD",
"currencySymbol": "$",
"soldCount": 5200,
"soldText": "5.2K+ sold",
"rating": 4.8,
"reviewCount": 342,
"sellerId": "999",
"sellerName": "HydroJug",
"sellerUrl": "https://www.tiktok.com/shop/s/999?region=US",
"imageUrl": "https://...",
"freeShipping": false,
"message": "",
"error": ""
}

Warning and error rows

If TikTok returns an empty response or a page fails after retries, the actor still writes a row with:

  • type: "warning" or type: "error"
  • the keyword and page
  • sourceUrl
  • message
  • error
  • optional diagnostics

That makes bad keywords and proxy issues easy to spot in exports.


🧪 Example searches

Find best-selling product ideas

{
"country_code": "US",
"keywords": ["makeup organizer", "hair dryer brush", "press on nails"],
"maxItems": 50,
"maxPages": 3,
"sortBy": "best_sellers"
}

Filter by price and rating

{
"country_code": "US",
"keyword": "portable blender",
"minPrice": 10,
"maxPrice": 50,
"minRating": 4.5,
"maxItems": 100
}

Compare regions

{
"country_code": "GB",
"keywords": ["neck fan", "mini printer"],
"maxItems": 100,
"maxPages": 5,
"sortBy": "rating_desc"
}

šŸ›”ļø Reliability notes

  • HTTP-only: no headless browser.
  • Residential proxy recommended: TikTok Shop can return empty SSR data, region errors, or security checks on datacenter traffic.
  • Keep concurrency moderate: start with maxConcurrency: 1 to 3, then increase if results are stable.
  • Use raw output only when debugging: includeRawProduct makes rows larger.
  • Flat output is intentional: it keeps Apify "All fields" and CSV exports predictable.

šŸ’¼ Use cases

  • TikTok Shop product research
  • Trend discovery
  • Competitor product monitoring
  • Price and rating checks
  • Finding high-volume products by sold count
  • Building product feeds for dashboards
  • Marketplace analysis by country
  • Dropshipping or brand scouting

ā“ FAQ

Q: Does it use a browser?
No. It uses HTTP requests only.

Q: Why did I get warning rows?
TikTok returned an empty or limited public response for that keyword/page. Try residential proxy, lower concurrency, or run the keyword again.

Q: Why are rating or seller fields empty?
TikTok does not expose every value for every product card. Empty fields are normal for some products and regions.

Q: Can I scrape multiple keywords?
Yes. Use keywords. If keyword is also set, both inputs are merged and deduplicated.

Q: How do I keep exports clean?
Leave compactOutput: true and includeRawProduct: false unless you are debugging.


šŸ·ļø Tags

tiktok shop scraper Ā· tiktok shop search Ā· product research Ā· tiktok products Ā· marketplace scraper Ā· dropshipping research Ā· best sellers Ā· price monitoring Ā· apify tiktok shop


šŸ”— Built for Apify | HTTP-only | Multi-keyword search | Flat product-card output