https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-video-search/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-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
{
"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 |
|---|---|---|---|
errcode | integer | optional | Business status code, 200 indicates success (see error codes below) Example: 1 |
errmsg | string | optional | Business status description |
total | integer | optional | Record count Example: 1 |
data | array | optional | Video list (see video fields below) Example: [] |
columns | array | optional | Rendered columns Example: [] |
type | string | optional | Render style |
costToken | integer | optional | Token cost Example: 1 |
columns[].videoId | string | optional | Video ID Example: example-id |
columns[].videoDesc | string | optional | Video description |
columns[].officialUrl | string | optional | TikTok official video URL Example: https://example.com/image.jpg |
columns[].coverUrl | string | optional | Video cover URL Example: https://example.com/image.jpg |
columns[].duration | integer | optional | Video duration (seconds) Example: 1 |
columns[].width | string | optional | Video width |
columns[].height | string | optional | Video height |
columns[].ratio | string | optional | Video resolution (e.g., 540p/720p) |
columns[].dataSize | string | optional | Video file size |
columns[].createDate | string | optional | Video publish date Example: 2026-01-01 |
columns[].userId | string | optional | Creator ID Example: example-id |
columns[].uniqueId | string | optional | TikTok account ID (unique_id) Example: example-id |
columns[].avatar | string | optional | Creator avatar |
columns[].totalViewsCnt | integer | optional | Total view count Example: 1 |
columns[].totalViews1dCnt | integer | optional | Views in last 1 day Example: 1 |
columns[].totalViews7dCnt | integer | optional | Views in last 7 days Example: 1 |
columns[].totalViews30dCnt | integer | optional | Views in last 30 days Example: 1 |
columns[].totalDiggCnt | integer | optional | Total like count Example: 1 |
columns[].totalDigg1dCnt | integer | optional | Likes in last 1 day Example: 1 |
columns[].totalDigg7dCnt | integer | optional | Likes in last 7 days Example: 1 |
columns[].totalDigg30dCnt | integer | optional | Likes in last 30 days Example: 1 |
columns[].totalCommentsCnt | integer | optional | Total comment count Example: 1 |
columns[].totalSharesCnt | integer | optional | Total share count Example: 1 |
columns[].totalFavoritesCnt | integer | optional | Total favorite count Example: 1 |
columns[].totalVideoSaleCnt | integer | optional | Video sales (units) Example: 1 |
columns[].totalVideoSaleGmvAmt | integer | optional | Video sales GMV (amount) Example: 1 |
columns[].salesFlagText | string | optional | Whether promotional video |
columns[].isAdText | string | optional | Whether ad video |
columns[].createdByAiText | string | optional | Whether AI video (Yes/No/Unknown) |
columns[].productCategoryList | string | optional | Product categories |
columns[].videoProducts | string | optional | Video associated products |
columns[].region | string | optional | Region code Example: US |
columns[].sourceType | string | optional | Product source |
columns[].sourceTool | string | optional | Source tool |
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.
{
"errcode": 1,
"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
}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.