TikTok Commerce Intelligence CJ
TikTok Video Keyword Search
Search TikTok videos by keyword, market, engagement, and commerce filters. Call the TikTok Video Keyword Search API via REST or MCP from 38 credits per call.
MCP tool name
nexscope_chuhaijiang_tiktok_video_searchMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "chuhaijiang-tiktok-video-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_chuhaijiang_tiktok_video_search",
"arguments": {
"country": "us",
"page": 1,
"pageSize": 3
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
country | string | required | Lowercase request market. Returned country_code may differ; preserve both. Example: us |
page | integer | optional | Page number, starting at 1. No automatic pagination. Example: 1 |
pageSize | integer | optional | Items per page, from 1 to 10. Omission preserves the upstream default. Example: 3 |
keyword | string | optional | Video copy or related keyword. Example: beauty |
category | string | optional | Use only provider-approved categories; no category enum is published. Example: |
isCommercial | boolean | optional | Filter videos promoting products. Example: true |
minViews | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
maxViews | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
minLikes | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
maxLikes | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
minGmv30d | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
maxGmv30d | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
minEngagement | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
maxEngagement | number | optional | Provider filter value; retain the provider metric definition without unit conversion. Example: 0 |
accountType | integer | optional | Provider account type; business labels are unpublished. Example: 0 |
sort | string | optional | Provider-approved field followed by :asc or :desc. No complete field enum is published. Example: views:desc |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | 200 means success Example: {} |
errmsg | string | optional | `ok` on success Example: {} |
request_id | string | optional | Request tracking ID Example: {} |
data | object | optional | Video list at `data.items[]`, total `data.total_count` Example: {} |
id | string | optional | Video ID; this value is used by the details, product, and review endpoints Example: {} |
video_engagement_rate | number | optional | Decimal interaction rate Example: {} |
video_total_like_count_to_follower_count_ratio | number | optional | Likes to fans ratio Example: {} |
video_30d_gpm | object | optional | 30-day GPM, typically with `unit`, `value` Example: {} |
Examples
Example arguments
{
"country": "us",
"page": 1,
"pageSize": 3
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}