TikTok Shop Product Search (Mobile API) avatar

TikTok Shop Product Search (Mobile API)

Pricing

from $9.00 / 1,000 search results

Go to Apify Store
TikTok Shop Product Search (Mobile API)

TikTok Shop Product Search (Mobile API)

Search TikTok Shop products by keyword with filters, sorting, pagination, and structured JSON output.

Pricing

from $9.00 / 1,000 search results

Rating

0.0

(0)

Developer

Rizla Piker

Rizla Piker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Search TikTok Shop products by keyword using the mobile API response structure. This Actor supports filters, sorting, multi-page pagination, and structured JSON output for market research, competitor discovery, and catalog monitoring.

Run it on Apify for API access, scheduling, integrations, proxy rotation, and run monitoring.

Why use this Actor?

  • Keyword search: Find products across TikTok Shop by text query instead of product ID.
  • Filters and sorting: Price range, LIVE-only, COD-only, and sort by price or best sellers.
  • Pagination built in: Automatically follows has_more pages using min_time / cursor from the API.
  • Multi-region: US, UK, EU, SEA, LATAM, and more.
  • Clean output modes: Readable grouped JSON, compact product rows, or full raw API payloads.

How to use this Actor

  1. Enter a search query (required).
  2. Pick a region.
  3. Set Number of products (resultsLimit) if you want more than 10.
  4. Run and download the dataset.

That’s it — pagination is automatic.

Ready-made examples (published tasks)

Use these pre-configured tasks from the Actor Examples tab (or create them in Console):

Use caseQueryRegionSort
US best-selling wireless earbudswireless earbudsUSBEST_SELLERS
Vietnam Bluetooth earphonestai nghe bluetoothVNBEST_SELLERS
Japan wireless earphonesワイヤレスイヤホンJPBEST_SELLERS
Germany shampoo price scanshampooDEPRICE_ASC (0,50)

See JSON configs in the repo examples/ folder. How to publish tasks: Publish your Actor task.

Pricing

Pay per event: $0.01 per search page (search_page, up to 10 products per page). Dataset rows and actor start are priced near zero so cost scales with pages fetched, not product count.

Input

Simplest usage

{
"query": "wireless earbuds",
"region": "US"
}

Get more products

{
"query": "wireless earbuds",
"region": "US",
"resultsLimit": 30
}

resultsLimit: 30 → actor fetches 3 pages automatically (10 products each).

Optional filters

{
"query": "shampoo",
"region": "DE",
"resultsLimit": 20,
"sortType": "BEST_SELLERS",
"priceRange": "0,50"
}

Multiple searches (optional)

{
"query": "wireless earbuds",
"region": "US",
"resultsLimit": 10,
"searchTasks": [
{ "query": "tai nghe bluetooth", "region": "VN" },
{ "query": "ワイヤレスイヤホン", "region": "JP" }
]
}

When searchTasks is set, it overrides the single query / region.

Local-language keyword examples

RegionExample keyword
US, GB, PH, SG, IEwireless earbuds
DE, FR, ITshampoo
ES, MXchampú / audífonos inalámbricos
BRfone de ouvido bluetooth
JPワイヤレスイヤホン
VNtai nghe bluetooth
THหูฟัง bluetooth
ID, MYearbuds bluetooth

Parameters

FieldRequiredDefaultDescription
queryYes*Search keyword (any language)
regionNoUSCountry code
resultsLimitNo10How many products to return (1–100). Pages are fetched automatically
sortTypeNoemptyRELEVANCE, BEST_SELLERS, PRICE_ASC, PRICE_DESC
priceRangeNoemptye.g. 0,50
liveNofalseLIVE products only
codNofalseCOD products only
searchTasksNoOptional batch of { "query", "region" }
outputModeNoformatted_filteredProducts / Grouped JSON / Raw API

*Or provide searchTasks instead of query.

Output

You can download the dataset in JSON, CSV, Excel, or other formats from Apify Console.

outputMode: "formatted_filtered"

One dataset row per product:

{
"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_id": "20260121074932FBC0E44FF5C76619BE8E"
}

outputMode: "full_readable"

Single grouped record with pagination metadata:

{
"search_info": {
"query": "wireless earbuds",
"region": "US",
"sortType": "BEST_SELLERS",
"maxResults": 30
},
"pagination": {
"has_more": true,
"cursor": 10,
"min_time": null,
"pages_fetched": 3
},
"total_products": 30,
"products": []
}

outputMode: "raw_response"

Original API payload (or { "pages": [...] } when multiple pages were fetched).

Data fields

FieldDescription
product_idTikTok Shop product ID
titleProduct title
price.show_priceDisplay price string
price.sale_priceSale price value
price.original_priceStrikethrough/original price
sales_countSold count when available
ratingProduct rating when available
store_info.nameSeller/shop name
store_info.shop_idShop ID
imageMain product image URL

Pricing / cost estimation

Each page of 10 products is one upstream request. Cost depends on:

  • resultsLimit (pages = ceil(resultsLimit / 10))
  • Apify compute units for the Actor run

Tip: Start with the default resultsLimit: 10, then increase only when you need more.

Tips and advanced options

  • Use sortType: "PRICE_ASC" or "PRICE_DESC" for price-sorted competitor scans.
  • Use priceRange: "0,25" to narrow results to a budget band.
  • Use local-language keywords for better regional results.
  • Use raw_response when you need the full mobile search card payload.

FAQ, disclaimers, and support

  • Product fields vary by region, seller, and search context.
  • Respect TikTok Shop Terms of Service and applicable laws when using scraped data.
  • For custom fields, filters, or bulk keyword workflows, use the Issues or Contact tab on Apify.

Publication tips (Apify Store)

  1. Title: TikTok Shop Product Search (Mobile API)
  2. Categories: E-commerce, Social Media
  3. SEO keywords: tiktok shop search, product search, tiktok ecommerce, keyword search