apify_tiktok-shop_search_products $0.01 per call
Search TikTok Shop products by keyword. Scrape TikTok Shop products for a keyword across 10 storefronts (US, GB, VN, TH, PH, MY, SG, JP, MX, ID) — title, price, original_price, discount_percent, seller_name, rating, sold_count and full category_path per product (Apify · TikTok Shop)
For AI agents: call apify_tiktok-shop_search_products
POST https://toll402.dev/v1/p/apify.tiktok-shop.search.products
{
"search_terms": [
"phone case"
],
"region": "US",
"max_results": 1,
"scrape_product_details": false
}Answers 402 with x402 payment requirements; pay with any x402 client (@x402/fetch, x402 for Python, toll402-client, toll402-mcp) or send a prepaid-credits key as x-toll402-key (https://toll402.dev/credits). Paid per call via x402 (USDC on Base) or with a prepaid-credits key (x-toll402-key, card at /credits); charged only on success. Start at /llms.txt or connect the MCP server:
npx -y toll402-mcp · remote https://toll402.dev/mcp.Input schema
{
"type": "object",
"properties": {
"search_terms": {
"type": "string",
"description": "keywords to search, one per entry; each returns every matching product up to max_results",
"examples": [
[
"phone case"
]
]
},
"region": {
"type": "string",
"description": "storefront to scrape — one of US|GB|VN|TH|PH|MY|SG|JP|MX|ID; decides the catalogue, listing language and price currency. Default US. Coverage is strongest on US and SEA storefronts",
"examples": [
"US"
]
},
"max_results": {
"type": "integer",
"description": "max products per search term, 1-500; default 100. You pay per product returned, so cap it or set maxTotalChargeUsd",
"examples": [
100
]
},
"scrape_product_details": {
"type": "boolean",
"description": "true opens each product's detail page for the full field set — billed at the higher product-detail price, not the search price (see cost note). Default false",
"enum": [
false
],
"examples": [
false
]
},
"proxyUrls": {
"type": "string",
"description": "leave empty to use the residential proxy included in the run price; or pass your own gateway URLs (http://user:pass@host:port)"
}
},
"additionalProperties": true,
"required": [
"search_terms"
],
"description": "the response is the dataset items array directly — no run envelope, no polling. Each row carries product_id, title, price, original_price, discount_percent, currency, seller_name, seller_id, rating, review_count, sold_count, category_path, product_url and image URLs. Cap every call with maxTotalChargeUsd, the spend limit Apify enforces; the body row limit sets how many rows run. The same actor als"
}
MCP
{"mcpServers":{"toll402":{"command":"npx","args":["-y","toll402-mcp"],"env":{"TOLL402_WALLET_KEY":"0x..."}}}}