https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-video-search/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-video-search/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
region | string | required | Region code. Options: US (United States), ID (Indonesia), TH (Thailand), PH (Philippines), MY (Malaysia), VN (Vietnam), GB (United Kingdom), MX (Mexico), SG (Singapore), SA (Saudi Arabia), BR (Brazil), ES (Spain), JP (Japan), DE (Germany), IT (Italy), FR (France) Example: US |
userId | string | optional | Creator ID filter. Max length 1000 Example: example-id |
productId | string | optional | Associated product ID. Max length 1000 |
productCategoryId | string | optional | Associated product category ID. Max length 1000 Example: example-id |
minTotalViewsCnt | integer | optional | Video view count filter (minimum) Example: 1 |
maxTotalViewsCnt | integer | optional | Video view count filter (maximum) Example: 1 |
minDuration | integer | optional | Video duration range filter (seconds) - minimum Example: 1 |
maxDuration | integer | optional | Video duration range filter (seconds) - maximum Example: 1 |
minCreateTime | integer | optional | Publish time range filter (seconds-level timestamp) - minimum Example: 1 |
maxCreateTime | integer | optional | Publish time range filter (seconds-level timestamp) - maximum Example: 1 |
salesFlag | integer | optional | Whether a promotional video: 0=non-promotional video, 1=promotional video Example: 1 |
isAd | integer | optional | Whether an ad video: 0=non-ad video, 1=ad video Example: 1 |
createdByAi | string | optional | Whether AI video, string "true"=AI video, "false"=non-AI video (regex ^(true |
videoSortField | integer | optional | Sort field: 1=total_digg_cnt (likes), 2=create_time (publish time), 3=total_views_cnt (views) Example: 1 |
sortType | integer | optional | Sort direction: 0=ascending, 1=descending Example: 1 |
pageNum | integer | optional | Page number, starting from 1 Example: 1 |
pageSize | integer | optional | Items per page. Must be a multiple of 10, max 100; the third-party API limit is 10 per page, internally the gateway fetches 10 per page in multiple rounds and merges 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 | Record count Example: 1 |
data.data | array | optional | Video list (see video fields 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.columns[].videoId | string | optional | Video ID Example: example-id |
data.columns[].videoDesc | string | optional | Video description Example: null |
data.columns[].officialUrl | string | optional | TikTok official video URL Example: https://example.com/image.jpg |
data.columns[].coverUrl | string | optional | Video cover URL Example: https://example.com/image.jpg |
data.columns[].duration | integer | optional | Video duration (seconds) Example: 1 |
data.columns[].width | string | optional | Video width Example: null |
data.columns[].height | string | optional | Video height Example: null |
data.columns[].ratio | string | optional | Video resolution (e.g., 540p/720p) Example: null |
data.columns[].dataSize | string | optional | Video file size Example: null |
data.columns[].createDate | string | optional | Video publish date Example: 2026-01-01 |
data.columns[].userId | string | optional | Creator ID Example: example-id |
data.columns[].uniqueId | string | optional | TikTok account ID (unique_id) Example: example-id |
data.columns[].avatar | string | optional | Creator avatar Example: null |
data.columns[].totalViewsCnt | integer | optional | Total view count Example: 1 |
data.columns[].totalViews1dCnt | integer | optional | Views in last 1 day Example: 1 |
data.columns[].totalViews7dCnt | integer | optional | Views in last 7 days Example: 1 |
data.columns[].totalViews30dCnt | integer | optional | Views in last 30 days Example: 1 |
data.columns[].totalDiggCnt | integer | optional | Total like count Example: 1 |
data.columns[].totalDigg1dCnt | integer | optional | Likes in last 1 day Example: 1 |
data.columns[].totalDigg7dCnt | integer | optional | Likes in last 7 days Example: 1 |
data.columns[].totalDigg30dCnt | integer | optional | Likes in last 30 days Example: 1 |
data.columns[].totalCommentsCnt | integer | optional | Total comment count Example: 1 |
data.columns[].totalSharesCnt | integer | optional | Total share count Example: 1 |
data.columns[].totalFavoritesCnt | integer | optional | Total favorite count Example: 1 |
data.columns[].totalVideoSaleCnt | integer | optional | Video sales (units) Example: 1 |
data.columns[].totalVideoSaleGmvAmt | integer | optional | Video sales GMV (amount) Example: 1 |
data.columns[].salesFlagText | string | optional | Whether promotional video Example: null |
data.columns[].isAdText | string | optional | Whether ad video Example: null |
data.columns[].createdByAiText | string | optional | Whether AI video (Yes/No/Unknown) Example: null |
data.columns[].productCategoryList | string | optional | Product categories Example: null |
data.columns[].videoProducts | string | optional | Video associated products Example: null |
data.columns[].region | string | optional | Region code Example: US |
data.columns[].sourceType | string | optional | Product source Example: null |
data.columns[].sourceTool | string | optional | Source tool 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,
"data": [],
"columns": [
{
"videoId": "example-id",
"officialUrl": "https://example.com/image.jpg",
"coverUrl": "https://example.com/image.jpg",
"duration": 1,
"createDate": "2026-01-01",
"userId": "example-id",
"uniqueId": "example-id",
"totalViewsCnt": 1,
"totalViews1dCnt": 1,
"totalViews7dCnt": 1,
"totalViews30dCnt": 1,
"totalDiggCnt": 1,
"totalDigg1dCnt": 1,
"totalDigg7dCnt": 1,
"totalDigg30dCnt": 1,
"totalCommentsCnt": 1,
"totalSharesCnt": 1,
"totalFavoritesCnt": 1,
"totalVideoSaleCnt": 1,
"totalVideoSaleGmvAmt": 1,
"region": "US"
}
],
"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.