TikTok Intelligence ET
TikTok Product Search
Search TikTok Shop products across 16 markets using sales, creator-sales, pricing, and commission data. Call via REST API or MCP from 10 credits per call.
MCP tool name
nexscope_tiktok_product_searchMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "tiktok-product-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_tiktok_product_search",
"arguments": {
"keyword": "phone case",
"pageNumber": 1,
"pageSize": 10,
"region": "US"
}
}
}MCP 2025-11-25 ยท Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
keyword | string | optional | Product keyword (please translate to the local language). Max length 1000 Example: phone case |
region | string | optional | Region, default US. Options: US (United States), ID (Indonesia), TH (Thailand), PH (Philippines), MY (Malaysia), VN (Vietnam), GB (United Kingdom), MX (Mexico), SG (Singapore), SA (Saudi Arabia), BR (Brazil), ES (Spain), JP (Japan), DE (Germany), IT (Italy), FR (France) Example: US |
categoryKeywordCN | string | optional | Product category (please enter in Chinese). Max length 1000 Example: phone case |
minTotalSaleCnt | integer | optional | Total sales (minimum) Example: 1 |
maxTotalSaleCnt | integer | optional | Total sales (maximum) Example: 1 |
minTotalSale30dCnt | integer | optional | 30-day sales (minimum) Example: 1 |
maxTotalSale30dCnt | integer | optional | 30-day sales (maximum) Example: 1 |
minTotalSaleGmvAmt | string | optional | Product total GMV (minimum). Max length 1000 Example: {} |
maxTotalSaleGmvAmt | string | optional | Product total GMV (maximum). Max length 1000 Example: {} |
minTotalSaleGmv30dAmt | string | optional | Product total GMV (30-day) (minimum). Max length 1000 Example: {} |
maxTotalSaleGmv30dAmt | string | optional | Product total GMV (30-day) (maximum). Max length 1000 Example: {} |
minSpuAvgPrice | number | optional | SPU average price (minimum) Example: 1 |
maxSpuAvgPrice | number | optional | SPU average price (maximum) Example: 1 |
minProductRating | number | optional | Product rating (minimum) Example: 1 |
maxProductRating | number | optional | Product rating (maximum) Example: 1 |
minReviewCount | integer | optional | Review count (minimum) Example: 1 |
maxReviewCount | integer | optional | Review count (maximum) Example: 1 |
minProductCommissionRate | number | optional | Product commission rate (minimum). Input as percentage will be automatically converted to decimal, e.g., 5%->0.05 Example: 1 |
maxProductCommissionRate | number | optional | Product commission rate (maximum). Input as percentage will be automatically converted to decimal, e.g., 5%->0.05 Example: 1 |
minTotalIflCnt | integer | optional | Promoting creator count (minimum) Example: 1 |
maxTotalIflCnt | integer | optional | Promoting creator count (maximum) Example: 1 |
minTotalVideoCnt | integer | optional | Promotional video count (minimum) Example: 1 |
maxTotalVideoCnt | integer | optional | Promotional video count (maximum) Example: 1 |
minTotalViewsCnt | integer | optional | Promotional view count (minimum) Example: 1 |
maxTotalViewsCnt | integer | optional | Promotional view count (maximum) Example: 1 |
minFirstCrawlDt | integer | optional | Product listing time (minimum), format YYYYMMDD (e.g., 20200101 represents 2020-01-01) Example: 1 |
maxFirstCrawlDt | integer | optional | Product listing time (maximum), format YYYYMMDD Example: 1 |
saleDays | integer | optional | Days the product has been on sale, unit is days Example: 1 |
productSortField | integer | optional | Sort field: 1=total sales, 2=total GMV, 3=SPU average price, 4=7-day sales, 5=30-day sales, 6=7-day GMV, 7=30-day GMV. Default 1 Example: 1 |
sortType | integer | optional | Sort direction: 0=ascending, 1=descending. Default 1 Example: 1 |
pageNum | integer | optional | Page number. Default 1 Example: 1 |
pageSize | integer | optional | Items per page. Default 50 Example: 10 |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Number of records Example: {} |
products | array | optional | Product information list (see details below) Example: {} |
columns | array | optional | Rendered columns Example: {} |
type | string | optional | Rendering style Example: {} |
costToken | integer | optional | Consume token Example: {} |
productId | string | optional | Product unique identification ID Example: {} |
productName | string | optional | Product name Example: {} |
title | string | optional | Product name Example: {} |
imageUrl | string | optional | Product image URL Example: {} |
coverUrl | string | optional | Cover image URL list Example: {} |
productImageUrls | array | optional | Product image URL list Example: {} |
categoryName | string | optional | Product category name Example: {} |
categoryIds | array | optional | Product category ID list Example: {} |
region | string | optional | area code Example: {} |
currency | string | optional | Currency Example: {} |
price | number | optional | Product price Example: {} |
minPrice | number | optional | lowest price Example: {} |
maxPrice | number | optional | highest price Example: {} |
spuAvgPrice | number | optional | SPU average price Example: {} |
productRating | number | optional | product rating Example: {} |
reviewCount | integer | optional | Number of comments Example: {} |
ratings | integer | optional | Number of comments Example: {} |
productCommissionRate | number | optional | Product commission ratio Example: {} |
totalSaleCnt | integer | optional | total sales Example: {} |
totalSale1dCnt | integer | optional | Total sales in 1 day Example: {} |
totalSale7dCnt | integer | optional | Total sales within 7 days Example: {} |
totalSale15dCnt | integer | optional | Total sales within 15 days Example: {} |
totalSale30dCnt | integer | optional | Total sales within 30 days Example: {} |
totalSale60dCnt | integer | optional | Total sales within 60 days Example: {} |
totalSale90dCnt | integer | optional | Total sales in 90 days Example: {} |
monthlySalesUnits | integer | optional | monthly sales Example: {} |
totalSaleGmvAmt | number | optional | total sales Example: {} |
totalSaleGmv1dAmt | number | optional | Total sales in 1 day Example: {} |
totalSaleGmv7dAmt | number | optional | Total sales within 7 days Example: {} |
totalSaleGmv15dAmt | number | optional | Total sales in 15 days Example: {} |
totalSaleGmv30dAmt | number | optional | Total sales in 30 days Example: {} |
totalSaleGmv60dAmt | number | optional | Total sales in 60 days Example: {} |
totalSaleGmv90dAmt | number | optional | Total sales in 90 days Example: {} |
firstCrawlDt | integer | optional | Release date Example: {} |
availableDate | string | optional | Release time (timestamp) Example: {} |
discount | string | optional | discount information Example: {} |
freeShippingText | string | optional | Is it free shipping? Example: {} |
offMarkText | string | optional | Is there a discount mark? Example: {} |
salesFlagText | string | optional | How to bring goods Example: {} |
salesTrendFlagText | string | optional | sales trend tag Example: {} |
isSShopText | string | optional | Is it an S store? Example: {} |
salePropsInfo | array | optional | Sales attribute information (product specifications) Example: {} |
sourceType | string | optional | Product source Example: {} |
asin | string | optional | Product ID Example: {} |
Examples
Example arguments
{
"keyword": "phone case",
"pageNumber": 1,
"pageSize": 10,
"region": "US"
}Example structuredContent
{}