https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-product-discovery/runRun this API
Send a JSON request to execute this API and receive the direct response payload.
Endpoint
| Method | POST |
| Path | https://claw-callback.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
{
"region": "US",
"pageSize": 10,
"keyword": "phone case",
"pageNumber": 1
}Response body
Returns the documented upstream API response directly without an additional wrapper.
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Total number of matching records Example: 1 |
products | array | optional | Product information list (see below) Example: [] |
columns | array | optional | Render column definitions Example: [] |
type | string | optional | Render style type |
costToken | integer | optional | Token cost Example: 1 |
products[].title | string | optional | Product title |
products[].productId | string | optional | Product unique identifier ID Example: example-id |
products[].region | string | optional | Market region code Example: US |
products[].price | number | optional | Product price Example: 1 |
products[].minPrice | number | optional | Minimum price Example: 1 |
products[].maxPrice | number | optional | Maximum price Example: 1 |
products[].currency | string | optional | Currency code |
products[].totalSaleCnt | integer | optional | Cumulative total sales Example: 1 |
products[].totalSale1dCnt | integer | optional | 1-day sales Example: 1 |
products[].totalSale7dCnt | integer | optional | 7-day sales Example: 1 |
products[].totalSale28dCnt | integer | optional | 28-day sales Example: 1 |
products[].totalSale90dCnt | integer | optional | 90-day sales Example: 1 |
products[].totalSaleGmvAmt | number | optional | Cumulative total GMV Example: 1 |
products[].totalSaleGmv7dAmt | number | optional | 7-day GMV Example: 1 |
products[].totalSaleGmv28dAmt | number | optional | 28-day GMV Example: 1 |
products[].totalVideoCnt | integer | optional | Number of promotional videos Example: 1 |
products[].totalLiveCnt | integer | optional | Number of livestream promotions Example: 1 |
products[].totalIflCnt | integer | optional | Number of promoting creators Example: 1 |
products[].productCommissionRate | number | optional | Product commission rate (decimal, 0.10=10%) Example: 1 |
products[].productRating | number | optional | Product rating Example: 1 |
products[].reviewCount | integer | optional | Review count Example: 1 |
products[].skuCount | integer | optional | SKU count Example: 1 |
products[].shopName | string | optional | Store name |
products[].shopSellerId | string | optional | Seller ID Example: example-id |
products[].shopTotalUnitsSold | integer | optional | Store total sales Example: 1 |
products[].isCrossBorder | integer | optional | Whether cross-border: 1=cross-border, 0=local Example: 1 |
products[].isSShopText | string | optional | Whether a fully managed store (Yes/No) |
products[].freeShippingText | string | optional | Whether free shipping (Yes/No) |
products[].availableDate | string | optional | Listing time Example: 2026-01-01 |
products[].categoryName | string | optional | Product category name |
products[].salesTrendFlagText | string | optional | Sales trend indicator |
products[].tiktokUrl | string | optional | TikTok product link Example: https://example.com/image.jpg |
products[].fastmossUrl | string | optional | FastMoss product detail link Example: https://example.com/image.jpg |
products[].imageUrl | string | optional | Product image URL Example: https://example.com/image.jpg |
errcode | integer | optional | Upstream status code returned by the provider. |
errmsg | string | optional | Upstream status message returned by the provider. |
code | string | optional | Provider-specific status code. |
msg | string | optional | Provider-specific status message. |
message | string | optional | Provider-specific message. |
title | string | optional | Provider-specific response title. |
sourceType | string | optional | Provider-specific source platform type. |
sourceTool | string | optional | Provider-specific source tool name. |
costTime | integer | optional | Execution time reported by the upstream provider. |
page | integer | optional | Current page returned by the upstream provider. |
pageSize | integer | optional | Page size returned by the upstream provider. |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. |
totalPage | integer | optional | Total page count returned by the upstream provider. |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. |
Response example
Direct response payload. No extra wrapper is added.
{
"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
}Responses
| Code | Description |
|---|---|
| 200 | API executed successfully. Body is the direct response payload. |
| 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.