TikTok Top Selling Products
Query TikTok Shop top-selling product rankings by day, week, month, market, and category.
Cost15 credits / call
POST ·
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/runMCP · nexscope_tiktok_top_selling_productsChoose an integration method
TikTok / Social Commerce
What this API does
Query TikTok Shop top-selling product rankings by day, week, month, market, and category. View request parameters, response fields, and MCP usage.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/runMCP method
nexscope_tiktok_top_selling_productsStep 1 of 3 · Authenticate
Authentication
All run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxMissing or invalid API keys return an authentication error. Manage keys from .
Step 2 of 3 · Send a request
POST
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/runRun an API
Request parameters documented by ecommerce.tiktok-top-selling-products.
Example request
Replace YOUR_API_KEY, then run this command in your terminal.
curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"region": "US",
"pageSize": 10,
"orderby": {
"order": "desc",
"field": "units_sold"
},
"dateInfo": {
"type": "day",
"value": "2026-08-01"
}
}'Step 3 of 3 · Inspect the result
Check the response
Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.
HTTP status codes
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
All categories/ TikTok / Social Commerce
POST
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/runRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
region | string | required | Market region code. Options: US (United States), GB (United Kingdom), MX (Mexico), ES (Spain), DE (Germany), IT (Italy), FR (France), ID (Indonesia), VN (Vietnam), MY (Malaysia), TH (Thailand), PH (Philippines), BR (Brazil), JP (Japan), SG (Singapore) Example: US |
dateInfo | object | required | Date specification object, containing type and value fields Example: {
"type": "day",
"value": "2026-08-01"
} |
dateInfo.type | string | required | Time granularity: day, week, month Example: day |
dateInfo.value | string | required | Date value: day format YYYY-MM-DD, week format YYYY-weekNumber (e.g., 2025-18), month format YYYY-MM Example: 2026-01-01 |
category | string | optional | Product category name (English), matched to TikTok category ID. Non-English input must be translated to English first |
orderby | object | optional | Sort rule object, containing field and order fields Example: {
"order": "desc",
"field": "units_sold"
} |
orderby.field | string | optional | Sort field: units_sold (sales), gmv (GMV), total_units_sold (total sales), total_gmv (total GMV), growth_rate (growth rate) Example: units_sold |
orderby.order | string | optional | Sort direction: desc (descending), asc (ascending), default desc Example: desc |
page | integer | optional | Page number, default 1 Example: 1 |
pageSize | integer | optional | Items per page, max 10, default 10 Example: 10 |
Code example
{
"page": 1,
"region": "US",
"pageSize": 10,
"orderby": {
"order": "desc",
"field": "units_sold"
},
"dateInfo": {
"type": "day",
"value": "2026-08-01"
}
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"products": [
{
"productId": "example-id",
"region": "US",
"price": 1,
"minPrice": 1,
"maxPrice": 1,
"totalSaleCnt": 1,
"totalSale1dCnt": 1,
"totalSale7dCnt": 1,
"totalSale30dCnt": 1,
"totalSaleGmvAmt": 1,
"totalSaleGmv1dAmt": 1,
"totalSaleGmv7dAmt": 1,
"totalSaleGmv30dAmt": 1,
"growthRate": 1,
"shopTotalUnitsSold": 1,
"shopSellerId": "example-id",
"productCommissionRate": 1,
"imageUrl": "https://example.com/image.jpg"
}
],
"columns": [],
"costToken": 1
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts | string | required | Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.total | integer | optional | Record count Example: 1 |
data.page | integer | optional | Current page number Example: null |
data.pageSize | integer | optional | Current page size Example: null |
data.products | array | optional | Hot selling product list (see product object below) Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].matchedCategoryIdPath | string | optional | Matched category ID path when category is supplied Example: null |
data.products[].matchedCategoryNamePath | string | optional | Matched category name path when category is supplied Example: null |
data.products[].title | string | optional | Product name Example: null |
data.products[].productId | string | optional | Product ID Example: example-id |
data.products[].region | string | optional | Region code Example: US |
data.products[].price | number | optional | Product price Example: 1 |
data.products[].minPrice | number | optional | Minimum price Example: 1 |
data.products[].maxPrice | number | optional | Maximum price Example: 1 |
data.products[].currency | string | optional | Currency Example: null |
data.products[].totalSaleCnt | integer | optional | Total sales Example: 1 |
data.products[].totalSale1dCnt | integer | optional | Sales in last 1 day (returned when dateType=day) Example: 1 |
data.products[].totalSale7dCnt | integer | optional | Sales in last 7 days (returned when dateType=week) Example: 1 |
data.products[].totalSale30dCnt | integer | optional | Sales in last 30 days (returned when dateType=month) Example: 1 |
data.products[].totalSaleGmvAmt | number | optional | Total GMV Example: 1 |
data.products[].totalSaleGmv1dAmt | number | optional | GMV in last 1 day (returned when dateType=day) Example: 1 |
data.products[].totalSaleGmv7dAmt | number | optional | GMV in last 7 days (returned when dateType=week) Example: 1 |
data.products[].totalSaleGmv30dAmt | number | optional | GMV in last 30 days (returned when dateType=month) Example: 1 |
data.products[].growthRate | number | optional | Growth rate (percentage) Example: 1 |
data.products[].shopName | string | optional | Store name Example: null |
data.products[].shopTotalUnitsSold | integer | optional | Store total sales Example: 1 |
data.products[].shopSellerId | string | optional | Store seller ID Example: example-id |
data.products[].categoryName | string | optional | Product category Example: null |
data.products[].categoryIds | array | optional | Category ID path from first to third level Example: null |
data.products[].productCommissionRate | number | optional | Product commission rate (basis points, 1000=10%) Example: 1 |
data.products[].imageUrl | string | optional | Product image URL Example: https://example.com/image.jpg |
data.products[].coverUrl | array | optional | Product cover image URLs Example: null |
data.products[].shopAvatar | string | optional | Shop avatar URL Example: null |
data.products[].sourceTool | string | optional | Source tool identifier Example: null |
data.products[].sourceType | string | optional | Product source type Example: null |
data.products[].offShelvesText | string | optional | Whether delisted ("Yes"=delisted, "No"=on sale) Example: null |
data.columns | array | optional | Rendered columns Example: [] |
data.type | string | optional | Render style Example: null |
data.costTime | integer | optional | Upstream execution time in milliseconds Example: null |
data.costToken | integer | optional | Token cost Example: 1 |
data.title | string | optional | Provider-specific response title. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Responses
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
Data source, freshness, and limitations
Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.
Step 1 of 2 · Connect your MCP client
MCP
V2 recommendedConnect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.
POST https://api.nexscope.ai/api/skill-api/v2/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonAuthentication
OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
Step 2 of 2 · Call the tool
Call a tool
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_tiktok_top_selling_products",
"arguments": {
"page": 1,
"region": "US",
"pageSize": 10,
"orderby": {
"order": "desc",
"field": "units_sold"
},
"dateInfo": {
"type": "day",
"value": "2026-08-01"
}
}
}
}Legacy MCP v1
Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpOnline test
Execute the current API with your API key and JSON payload.
15 credits / callAPI usage records
Try it
Send a real request with the same contract shown in the reference.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/runMCP method
nexscope_tiktok_top_selling_productscURL
curl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-top-selling-products/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "page": 1, "region": "US", "pageSize": 10, "orderby": { "order": "desc", "field": "units_sold" }, "dateInfo": { "type": "day", "value": "2026-08-01" } }'Response
No response yet. Run the request to see the response here.
Related APIs
TikTok Product Market Search
Search TikTok products by market, seller type, shipping, price, and sales filters.
TikTok Product Detail
Look up a TikTok Shop product to research a competing listing.
TikTok Shop Detail
Look up a TikTok shop to research a competing seller.
TikTok Creator Detail
View a TikTok creator’s profile for potential partnerships.