https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/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-batch-product-detail/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
productIds | array | optional | List of product IDs (max 1000). Example: ["1729382310407603945", "1729382310407603946"] Example: [
"1732294342978343112"
] |
productUrls | array | optional | List of product URLs (max 1000), in the form https://shop.tiktok.com/us/pdp/<slug>/<productId>?...; the backend will extract the trailing productId from each URL and merge into productIds, not mutually exclusive with productIds Example: [] |
Request example
{
"productIds": [
"1732294342978343112"
]
}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 | Record count Example: 1 |
data.products | array | optional | Product detail list (see product object below) Example: [] |
data.columns | array | optional | Rendered columns Example: [] |
data.type | string | optional | Render style Example: null |
data.costToken | integer | optional | Token cost Example: 1 |
data.products[].productId | string | optional | Product ID Example: example-id |
data.products[].productName | string | optional | Product name Example: null |
data.products[].imageUrl | string | optional | Product image Example: https://example.com/image.jpg |
data.products[].productImageUrls | array | optional | Product image URL list Example: [] |
data.products[].region | string | optional | Region code Example: US |
data.products[].sellerId | string | optional | Seller ID Example: example-id |
data.products[].categoryId | string | optional | Primary category ID Example: example-id |
data.products[].categoryL2Id | string | optional | Secondary category ID Example: example-id |
data.products[].categoryL3Id | string | optional | Tertiary category ID Example: example-id |
data.products[].minPrice | number | optional | Minimum SKU price (USD) Example: 1 |
data.products[].maxPrice | number | optional | Maximum SKU price (USD) Example: 1 |
data.products[].spuAvgPrice | number | optional | SPU average price (USD) Example: 1 |
data.products[].productRating | number | optional | Product rating Example: 1 |
data.products[].reviewCount | integer | optional | Review count Example: 1 |
data.products[].productCommissionRate | number | optional | Product commission rate Example: 1 |
data.products[].totalSaleCnt | integer | optional | Total sales Example: 1 |
data.products[].totalSale1dCnt | integer | optional | Sales in last 1 day Example: 1 |
data.products[].totalSale7dCnt | integer | optional | Sales in last 7 days Example: 1 |
data.products[].totalSale15dCnt | integer | optional | Sales in last 15 days Example: 1 |
data.products[].totalSale30dCnt | integer | optional | Sales in last 30 days Example: 1 |
data.products[].totalSale60dCnt | integer | optional | Sales in last 60 days Example: 1 |
data.products[].totalSale90dCnt | integer | optional | Sales in last 90 days Example: 1 |
data.products[].totalSaleGmvAmt | number | optional | Total GMV Example: 1 |
data.products[].totalSaleGmv1dAmt | number | optional | GMV in last 1 day Example: 1 |
data.products[].totalSaleGmv7dAmt | number | optional | GMV in last 7 days Example: 1 |
data.products[].totalSaleGmv15dAmt | number | optional | GMV in last 15 days Example: 1 |
data.products[].totalSaleGmv30dAmt | number | optional | GMV in last 30 days Example: 1 |
data.products[].totalSaleGmv60dAmt | number | optional | GMV in last 60 days Example: 1 |
data.products[].totalSaleGmv90dAmt | number | optional | GMV in last 90 days Example: 1 |
data.products[].totalLiveCnt | integer | optional | Total livestream count Example: 1 |
data.products[].totalLive1dCnt | integer | optional | Livestream count in last 1 day Example: 1 |
data.products[].totalLive7dCnt | integer | optional | Livestream count in last 7 days Example: 1 |
data.products[].totalLive15dCnt | integer | optional | Livestream count in last 15 days Example: 1 |
data.products[].totalLive30dCnt | integer | optional | Livestream count in last 30 days Example: 1 |
data.products[].totalLive60dCnt | integer | optional | Livestream count in last 60 days Example: 1 |
data.products[].totalLive90dCnt | integer | optional | Livestream count in last 90 days Example: 1 |
data.products[].totalLiveSale1dCnt | integer | optional | Livestream sales in last 1 day Example: 1 |
data.products[].totalLiveSale7dCnt | integer | optional | Livestream sales in last 7 days Example: 1 |
data.products[].totalLiveSale15dCnt | integer | optional | Livestream sales in last 15 days Example: 1 |
data.products[].totalLiveSale30dCnt | integer | optional | Livestream sales in last 30 days Example: 1 |
data.products[].totalLiveSale60dCnt | integer | optional | Livestream sales in last 60 days Example: 1 |
data.products[].totalLiveSale90dCnt | integer | optional | Livestream sales in last 90 days Example: 1 |
data.products[].totalLiveSaleGmv1dAmt | integer | optional | Livestream GMV in last 1 day Example: 1 |
data.products[].totalLiveSaleGmv7dAmt | integer | optional | Livestream GMV in last 7 days Example: 1 |
data.products[].totalLiveSaleGmv15dAmt | integer | optional | Livestream GMV in last 15 days Example: 1 |
data.products[].totalLiveSaleGmv30dAmt | integer | optional | Livestream GMV in last 30 days Example: 1 |
data.products[].totalLiveSaleGmv60dAmt | integer | optional | Livestream GMV in last 60 days Example: 1 |
data.products[].totalLiveSaleGmv90dAmt | integer | optional | Livestream GMV in last 90 days Example: 1 |
data.products[].totalVideoCnt | integer | optional | Total video count Example: 1 |
data.products[].totalVideo1dCnt | integer | optional | Video count in last 1 day Example: 1 |
data.products[].totalVideo7dCnt | integer | optional | Video count in last 7 days Example: 1 |
data.products[].totalVideo15dCnt | integer | optional | Video count in last 15 days Example: 1 |
data.products[].totalVideo30dCnt | integer | optional | Video count in last 30 days Example: 1 |
data.products[].totalVideo60dCnt | integer | optional | Video count in last 60 days Example: 1 |
data.products[].totalVideo90dCnt | integer | optional | Video count in last 90 days Example: 1 |
data.products[].totalIflCnt | integer | optional | Total creator count Example: 1 |
data.products[].totalIflVideo1dCnt | integer | optional | Creator video count in last 1 day Example: 1 |
data.products[].totalIflVideo7dCnt | integer | optional | Creator video count in last 7 days Example: 1 |
data.products[].totalIflVideo15dCnt | integer | optional | Creator video count in last 15 days Example: 1 |
data.products[].totalIflVideo30dCnt | integer | optional | Creator video count in last 30 days Example: 1 |
data.products[].totalIflVideo60dCnt | integer | optional | Creator video count in last 60 days Example: 1 |
data.products[].totalIflVideo90dCnt | integer | optional | Creator video count in last 90 days Example: 1 |
data.products[].totalIflLive1dCnt | integer | optional | Creator livestream count in last 1 day Example: 1 |
data.products[].totalIflLive7dCnt | integer | optional | Creator livestream count in last 7 days Example: 1 |
data.products[].totalIflLive15dCnt | integer | optional | Creator livestream count in last 15 days Example: 1 |
data.products[].totalIflLive30dCnt | integer | optional | Creator livestream count in last 30 days Example: 1 |
data.products[].totalIflLive60dCnt | integer | optional | Creator livestream count in last 60 days Example: 1 |
data.products[].totalIflLive90dCnt | integer | optional | Creator livestream count in last 90 days Example: 1 |
data.products[].totalViewsCnt | integer | optional | Total view count Example: 1 |
data.products[].totalViews1dCnt | integer | optional | Views in last 1 day Example: 1 |
data.products[].totalViews7dCnt | integer | optional | Views in last 7 days Example: 1 |
data.products[].totalViews15dCnt | integer | optional | Views in last 15 days Example: 1 |
data.products[].totalViews30dCnt | integer | optional | Views in last 30 days Example: 1 |
data.products[].totalViews60dCnt | integer | optional | Views in last 60 days Example: 1 |
data.products[].totalViews90dCnt | integer | optional | Views in last 90 days Example: 1 |
data.products[].discount | string | optional | Discount info Example: null |
data.products[].freeShipping | integer | optional | Whether free shipping Example: 1 |
data.products[].salesFlag | integer | optional | Primary shipping method Example: 1 |
data.products[].salesTrendFlag | integer | optional | Sales trend indicator: 0=stable, 1=rising, 2=falling Example: 1 |
data.products[].isSShop | integer | optional | Whether fully managed store Example: 1 |
data.products[].offMark | integer | optional | Product delisting indicator Example: 1 |
data.products[].firstCrawlDt | string | optional | First crawl date Example: null |
data.products[].descDetail | string | optional | Product detail description Example: null |
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",
"imageUrl": "https://example.com/image.jpg",
"productImageUrls": [],
"region": "US",
"sellerId": "example-id",
"categoryId": "example-id",
"categoryL2Id": "example-id",
"categoryL3Id": "example-id",
"minPrice": 1,
"maxPrice": 1,
"spuAvgPrice": 1,
"productRating": 1,
"reviewCount": 1,
"productCommissionRate": 1,
"totalSaleCnt": 1,
"totalSale1dCnt": 1,
"totalSale7dCnt": 1,
"totalSale15dCnt": 1,
"totalSale30dCnt": 1,
"totalSale60dCnt": 1,
"totalSale90dCnt": 1,
"totalSaleGmvAmt": 1,
"totalSaleGmv1dAmt": 1,
"totalSaleGmv7dAmt": 1,
"totalSaleGmv15dAmt": 1,
"totalSaleGmv30dAmt": 1,
"totalSaleGmv60dAmt": 1,
"totalSaleGmv90dAmt": 1,
"totalLiveCnt": 1,
"totalLive1dCnt": 1,
"totalLive7dCnt": 1,
"totalLive15dCnt": 1,
"totalLive30dCnt": 1,
"totalLive60dCnt": 1,
"totalLive90dCnt": 1,
"totalLiveSale1dCnt": 1,
"totalLiveSale7dCnt": 1,
"totalLiveSale15dCnt": 1,
"totalLiveSale30dCnt": 1,
"totalLiveSale60dCnt": 1,
"totalLiveSale90dCnt": 1,
"totalLiveSaleGmv1dAmt": 1,
"totalLiveSaleGmv7dAmt": 1,
"totalLiveSaleGmv15dAmt": 1,
"totalLiveSaleGmv30dAmt": 1,
"totalLiveSaleGmv60dAmt": 1,
"totalLiveSaleGmv90dAmt": 1,
"totalVideoCnt": 1,
"totalVideo1dCnt": 1,
"totalVideo7dCnt": 1,
"totalVideo15dCnt": 1,
"totalVideo30dCnt": 1,
"totalVideo60dCnt": 1,
"totalVideo90dCnt": 1,
"totalIflCnt": 1,
"totalIflVideo1dCnt": 1,
"totalIflVideo7dCnt": 1,
"totalIflVideo15dCnt": 1,
"totalIflVideo30dCnt": 1,
"totalIflVideo60dCnt": 1,
"totalIflVideo90dCnt": 1,
"totalIflLive1dCnt": 1,
"totalIflLive7dCnt": 1,
"totalIflLive15dCnt": 1,
"totalIflLive30dCnt": 1,
"totalIflLive60dCnt": 1,
"totalIflLive90dCnt": 1,
"totalViewsCnt": 1,
"totalViews1dCnt": 1,
"totalViews7dCnt": 1,
"totalViews15dCnt": 1,
"totalViews30dCnt": 1,
"totalViews60dCnt": 1,
"totalViews90dCnt": 1,
"freeShipping": 1,
"salesFlag": 1,
"salesTrendFlag": 1,
"isSShop": 1,
"offMark": 1
}
],
"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.