https://api.nexscope.ai/fm/productRankTopSellingRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/fm/productRankTopSelling |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
region | string | required | Market area code. Optional values: `US` (United States), `GB` (UK), `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, including two fields: `type` and `value`. |
dateInfo.type | string | required | Time granularity: `day` (day), `week` (week), `month` (month). |
dateInfo.value | string | required | Date values: `day` is in the format `YYYY-MM-DD`, `week` is in the format `YYYY-week number` (such as `2025-18`), `month` is in the format `YYYY-MM`. |
category | string | optional | The product category name (English) will be matched to the TikTok category ID; non-English input must be translated into English first. |
orderby | object | optional | The collation object contains two fields: `field` and `order`. |
orderby.field | string | optional | Sorting fields: `units_sold` (sales), `gmv` (sales), `total_units_sold` (total sales), `total_gmv` (total sales), `growth_rate` (growth rate). |
orderby.order | string | optional | Sorting direction: `desc` (descending) or `asc` (ascending). Example: desc |
page | integer | optional | Page number. Example: 1 |
pageSize | integer | optional | Number of items per page, maximum `10`. Example: 10 |
Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
No response example is published for this API. Refer to the response fields below.
Response fields
Response field reference (39 fields)
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | Business status code, `200` indicates success. |
errmsg | string | optional | Business status description. |
page | integer | optional | Current page number. |
pageSize | integer | optional | The current number of items per page. |
total | integer | optional | Number of records. |
products | array | optional | List of hot-selling products, product object fields are shown in the table below. |
columns | array | optional | Rendered columns. |
type | string | optional | Rendering style. |
costTime | integer | optional | Interface time spent (milliseconds). |
costToken | integer | optional | Consume token; some responses may be omitted. |
matchedCategoryIdPath | string | optional | Path to the matched category ID; may be returned when `category` is passed in. |
matchedCategoryNamePath | string | optional | Matched category name path; may be returned when `category` is passed in. |
title | string | optional | Product name. |
productId | string | optional | Product ID. |
region | string | optional | Area code. |
price | number | optional | Product price. |
minPrice | number | optional | Lowest price; only price range products are returned. |
maxPrice | number | optional | Highest price; only price range products are returned. |
currency | string | optional | Currency symbol or logo. |
totalSaleCnt | integer | optional | Total sales. |
totalSale1dCnt | integer | optional | Sales volume in the last 1 day (returned when `dateType=day`). |
totalSale7dCnt | integer | optional | Sales volume in the past 7 days (returned when `dateType=week`). |
totalSale30dCnt | integer | optional | Sales volume in the last 30 days (returned when `dateType=month`). |
totalSaleGmvAmt | number | optional | Total sales. |
totalSaleGmv1dAmt | number | optional | Sales in the last 1 day (returned when `dateType=day`). |
totalSaleGmv7dAmt | number | optional | Sales in the last 7 days (returned when `dateType=week`). |
totalSaleGmv30dAmt | number | optional | Sales in the last 30 days (returned for `dateType=month`). |
growthRate | number | optional | Growth rate (percent). |
shopName | string | optional | Store name. |
shopTotalUnitsSold | integer | optional | The total sales volume of the store. |
shopSellerId | string | optional | Store seller ID. |
categoryName | string | optional | Product category. |
categoryIds | array | optional | Product category ID path (level one to level three). |
productCommissionRate | number | optional | Product commission ratio (basis points, 1000=10%). |
imageUrl | string | optional | Product image URL. |
coverUrl | array | optional | Product cover image URL list. |
shopAvatar | string | optional | Store avatar URL. |
sourceType | string | optional | Product source type. |
offShelvesText | string | optional | Whether it is removed from the shelves ("Yes" = removed from the shelves, "No" = on sale). |
Responses
| Code | Description |
|---|---|
| 200 | Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result. |
| 429 | Execution admission rate limit; honor Retry-After when present. |
| 503 | Execution admission is temporarily unavailable; honor Retry-After when present. |
| Opt-in | X-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses. |
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.