https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-product-discovery/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-product-discovery/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
keyword | string | optional | Search keyword (fuzzy match on product title) Example: phone case |
region | string | optional | 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 |
category | string | optional | English category name, automatically matched to TikTok category ID. Non-English input must be translated to English first |
shopType | integer | optional | Store type: 1=local store, 2=cross-border store Example: 1 |
isTopSelling | boolean | optional | Filter hot-selling products only Example: false |
isNewListed | boolean | optional | Filter newly listed products only Example: false |
isSshop | boolean | optional | Filter TikTok fully managed (S-shop) products only Example: false |
isFreeShipping | boolean | optional | Filter free shipping products only Example: false |
isLocalWarehouse | boolean | optional | Filter local warehouse shipping products only Example: false |
unitsSoldRange | object | optional | Sales volume range filter, format: {"min": 100, "max": 5000} Example: {} |
commissionRateRange | object | optional | Commission rate range filter, format: {"min": 0.05, "max": 0.20} (decimal, 0.10=10%) Example: {} |
creatorCountRange | object | optional | Creator count range filter, format: {"min": 10, "max": 500} Example: {} |
orderField | string | optional | Sort field: day7_units_sold (7-day sales), day7_gmv (7-day GMV), commission_rate (commission rate), total_units_sold (total sales), total_gmv (total GMV), creator_count (creator count). Default descending order |
page | integer | optional | Page number, default 1 Example: 1 |
pageSize | integer | optional | Items per page, max 10, default 10 Example: 10 |
Request example
{
"pageNumber": 1,
"keyword": "phone case",
"pageSize": 10,
"region": "US"
}Response body
| 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 | Total number of matching records Example: 1 |
data.products | array | optional | Product information list (see below) Example: [] |
data.columns | array | optional | Render column definitions Example: [] |
data.type | string | optional | Render style type Example: null |
data.costToken | integer | optional | Token cost Example: 1 |
data.products[].title | string | optional | Product title Example: null |
data.products[].productId | string | optional | Product unique identifier ID Example: example-id |
data.products[].region | string | optional | Market 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 code Example: null |
data.products[].totalSaleCnt | integer | optional | Cumulative total sales Example: 1 |
data.products[].totalSale1dCnt | integer | optional | 1-day sales Example: 1 |
data.products[].totalSale7dCnt | integer | optional | 7-day sales Example: 1 |
data.products[].totalSale28dCnt | integer | optional | 28-day sales Example: 1 |
data.products[].totalSale90dCnt | integer | optional | 90-day sales Example: 1 |
data.products[].totalSaleGmvAmt | number | optional | Cumulative total GMV Example: 1 |
data.products[].totalSaleGmv7dAmt | number | optional | 7-day GMV Example: 1 |
data.products[].totalSaleGmv28dAmt | number | optional | 28-day GMV Example: 1 |
data.products[].totalVideoCnt | integer | optional | Number of promotional videos Example: 1 |
data.products[].totalLiveCnt | integer | optional | Number of livestream promotions Example: 1 |
data.products[].totalIflCnt | integer | optional | Number of promoting creators Example: 1 |
data.products[].productCommissionRate | number | optional | Product commission rate (decimal, 0.10=10%) Example: 1 |
data.products[].productRating | number | optional | Product rating Example: 1 |
data.products[].reviewCount | integer | optional | Review count Example: 1 |
data.products[].skuCount | integer | optional | SKU count Example: 1 |
data.products[].shopName | string | optional | Store name Example: null |
data.products[].shopSellerId | string | optional | Seller ID Example: example-id |
data.products[].shopTotalUnitsSold | integer | optional | Store total sales Example: 1 |
data.products[].isCrossBorder | integer | optional | Whether cross-border: 1=cross-border, 0=local Example: 1 |
data.products[].isSShopText | string | optional | Whether a fully managed store (Yes/No) Example: null |
data.products[].freeShippingText | string | optional | Whether free shipping (Yes/No) Example: null |
data.products[].availableDate | string | optional | Listing time Example: 2026-01-01 |
data.products[].categoryName | string | optional | Product category name Example: null |
data.products[].salesTrendFlagText | string | optional | Sales trend indicator Example: null |
data.products[].tiktokUrl | string | optional | TikTok product link Example: https://example.com/image.jpg |
data.products[].fastmossUrl | string | optional | FastMoss product detail link Example: https://example.com/image.jpg |
data.products[].imageUrl | string | optional | Product image URL Example: https://example.com/image.jpg |
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.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. 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. |
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,
"totalSale28dCnt": 1,
"totalSale90dCnt": 1,
"totalSaleGmvAmt": 1,
"totalSaleGmv7dAmt": 1,
"totalSaleGmv28dAmt": 1,
"totalVideoCnt": 1,
"totalLiveCnt": 1,
"totalIflCnt": 1,
"productCommissionRate": 1,
"productRating": 1,
"reviewCount": 1,
"skuCount": 1,
"shopSellerId": "example-id",
"shopTotalUnitsSold": 1,
"isCrossBorder": 1,
"availableDate": "2026-01-01",
"tiktokUrl": "https://example.com/image.jpg",
"fastmossUrl": "https://example.com/image.jpg",
"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
}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.