TikTok / Social Commerce
TikTok Video Search MCP Tool
Search and analyze TikTok video data, filter videos by region, creator, product, category, views, duration, publish time, selling/ad/AI video flags, and return views, likes, comments, shares, favorites, video sales and GMV metrics across 16 TikTok Shop sites.
MCP tool name
nexscope_tiktok_video_searchEquivalent REST API path
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-video-search/runJSON-RPC method
tools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk_xxxxxxxxxxxxxxxxxIf authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.
Call this MCP tool
Use tools/call with the MCP tool name below. The arguments object should match the table on this page.
{
"jsonrpc": "2.0",
"id": "tiktok-video-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_tiktok_video_search",
"arguments": {
"region": "US",
"pageSize": 10,
"keyword": "phone case",
"pageNumber": 1
}
}
}REST API equivalent
POST /api/skill-api/v1/runhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-video-search/runCanonical detail URL
https://www.nexscope.ai/mcp-map/tiktok-video-searchArguments
| Name | Type | Required | Meaning |
|---|---|---|---|
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 Example: {} |
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 Example: {} |
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 |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Meaning |
|---|---|---|---|
errcode | integer | optional | Business status code, 200 indicates success (see error codes below) Example: 1 |
errmsg | string | optional | Business status description Example: {} |
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 Example: {} |
costToken | integer | optional | Token cost Example: 1 |
columns[].videoId | string | optional | Video ID Example: example-id |
columns[].videoDesc | string | optional | Video description Example: {} |
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 Example: {} |
columns[].height | string | optional | Video height Example: {} |
columns[].ratio | string | optional | Video resolution (e.g., 540p/720p) Example: {} |
columns[].dataSize | string | optional | Video file size Example: {} |
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 Example: {} |
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 Example: {} |
columns[].isAdText | string | optional | Whether ad video Example: {} |
columns[].createdByAiText | string | optional | Whether AI video (Yes/No/Unknown) Example: {} |
columns[].productCategoryList | string | optional | Product categories Example: {} |
columns[].videoProducts | string | optional | Video associated products Example: {} |
columns[].region | string | optional | Region code Example: US |
columns[].sourceType | string | optional | Product source Example: {} |
columns[].sourceTool | string | optional | Source tool Example: {} |
code | string | optional | Provider-specific status code. Example: {} |
msg | string | optional | Provider-specific status message. Example: {} |
message | string | optional | Provider-specific message. Example: {} |
title | string | optional | Provider-specific response title. Example: {} |
sourceType | string | optional | Provider-specific source platform type. Example: {} |
sourceTool | string | optional | Provider-specific source tool name. Example: {} |
costTime | integer | optional | Execution time reported by the upstream provider. Example: {} |
page | integer | optional | Current page returned by the upstream provider. Example: {} |
pageSize | integer | optional | Page size returned by the upstream provider. Example: {} |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: {} |
totalPage | integer | optional | Total page count returned by the upstream provider. Example: {} |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: {} |
Examples
Example arguments
{
"region": "US",
"pageSize": 10,
"keyword": "phone case",
"pageNumber": 1
}Example structuredContent
{
"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
}