Real-time short-form video, creator profiles, comments, trends & ad data MCP. OAuth or API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get full creative telemetry, 1080p ad video URL, CTR curve, and landing page URL for a TikTok Creative Center ad ID (10 credits).
Numeric TikTok Creative Center ad / material ID
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp-server https://api.shortvidapi.com/mcp
Get full creative telemetry, 1080p ad video URL, CTR curve, and landing page URL for a TikTok Creative Center ad ID (10 credits).
| Argument | Type | Description |
|---|---|---|
| ads_id* | string | Numeric TikTok Creative Center ad / material ID |
{
"type": "object",
"required": [
"ads_id"
],
"properties": {
"ads_id": {
"type": "string",
"description": "Numeric TikTok Creative Center ad / material ID"
}
}
}Get TikTok hashtag challenge metadata, numeric challenge_id, and total view/video counts (10 credits).
| Argument | Type | Description |
|---|---|---|
| challenge_name* | string | Hashtag name without # (e.g. fyp, skincare, aitools) |
{
"type": "object",
"required": [
"challenge_name"
],
"properties": {
"challenge_name": {
"type": "string",
"description": "Hashtag name without # (e.g. fyp, skincare, aitools)"
}
}
}Fetch public videos tagged with a TikTok hashtag challenge_id (2 credits per video).
| Argument | Type | Description |
|---|---|---|
| cid* | string | Numeric TikTok challenge_id (resolve via tiktok_challenge_info first) |
| count | number | Videos per page (max 30) |
| cursor | number | Pagination cursor |
{
"type": "object",
"required": [
"cid"
],
"properties": {
"cid": {
"type": "string",
"description": "Numeric TikTok challenge_id (resolve via tiktok_challenge_info first)"
},
"count": {
"type": "number",
"default": 20,
"description": "Videos per page (max 30)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination cursor"
}
}
}Fetch top-level comments on a TikTok video (up to 50 comments per call, 1 credit per comment).
| Argument | Type | Description |
|---|---|---|
| url* | string | TikTok video URL or numeric video ID / aweme_id |
| count | number | Comments per page (max 50) |
| cursor | number | Pagination offset cursor |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "TikTok video URL or numeric video ID / aweme_id"
},
"count": {
"type": "number",
"default": 20,
"description": "Comments per page (max 50)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination offset cursor"
}
}
}Fetch nested reply threads for a specific comment on a TikTok video (1 credit per reply).
| Argument | Type | Description |
|---|---|---|
| count | number | Replies per page (max 50) |
| cursor | number | Pagination cursor |
| video_id* | string | Numeric TikTok video ID or video URL |
| comment_id* | string | Numeric parent comment_id |
{
"type": "object",
"required": [
"video_id",
"comment_id"
],
"properties": {
"count": {
"type": "number",
"default": 20,
"description": "Replies per page (max 50)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination cursor"
},
"video_id": {
"type": "string",
"description": "Numeric TikTok video ID or video URL"
},
"comment_id": {
"type": "string",
"description": "Numeric parent comment_id"
}
}
}Get TikTok sound/music metadata, MP3 playback URL, author, duration, and usage count. Accepts a music ID, music URL, or video URL (10 credits).
| Argument | Type | Description |
|---|---|---|
| url* | string | TikTok sound ID, sound URL, or TikTok video URL to extract audio from |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "TikTok sound ID, sound URL, or TikTok video URL to extract audio from"
}
}
}Fetch public TikTok videos using a specific numeric music_id (2 credits per video).
| Argument | Type | Description |
|---|---|---|
| count | number | Videos per page (max 30) |
| cursor | number | Pagination cursor |
| music_id* | string | Numeric TikTok music_id |
{
"type": "object",
"required": [
"music_id"
],
"properties": {
"count": {
"type": "number",
"default": 20,
"description": "Videos per page (max 30)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination cursor"
},
"music_id": {
"type": "string",
"description": "Numeric TikTok music_id"
}
}
}Search top-performing commercial ads from TikTok Creative Center by keyword, country, period, and CTR/impression rank.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Ads per page (max 20) |
| period | number | Window in days: 7, 30, or 180 |
| keyword | string | Optional product, brand, or niche keyword (aliases: keywords, query, q) |
| order_by | string | Sort metric: impression, ctr, or like |
| country_code | string | Country code (US, GB, DE, JP) |
{
"type": "object",
"properties": {
"page": {
"type": "number",
"default": 1,
"description": "Page number"
},
"limit": {
"type": "number",
"default": 10,
"description": "Ads per page (max 20)"
},
"period": {
"type": "number",
"default": 7,
"description": "Window in days: 7, 30, or 180"
},
"keyword": {
"type": "string",
"description": "Optional product, brand, or niche keyword (aliases: keywords, query, q)"
},
"order_by": {
"type": "string",
"default": "impression",
"description": "Sort metric: impression, ctr, or like"
},
"country_code": {
"type": "string",
"default": "US",
"description": "Country code (US, GB, DE, JP)"
}
}
}Get currently trending public TikTok videos for a target two-letter country code (2 credits per video).
| Argument | Type | Description |
|---|---|---|
| count | number | Number of videos to return (1-30) |
| region | string | Two-letter ISO country code (US, GB, DE, BR, JP) |
{
"type": "object",
"properties": {
"count": {
"type": "number",
"default": 15,
"description": "Number of videos to return (1-30)"
},
"region": {
"type": "string",
"default": "US",
"description": "Two-letter ISO country code (US, GB, DE, BR, JP)"
}
}
}Get paginated follower accounts of a TikTok creator (up to 200 per call, 1 credit per follower).
| Argument | Type | Description |
|---|---|---|
| time | string | Pagination timestamp cursor ("0" for first page) |
| count | number | Followers per page (max 200) |
| sec_uid | string | Optional creator secUid |
| user_id* | string | Numeric TikTok user_id (resolve via tiktok_user_info first) |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"time": {
"type": "string",
"default": "0",
"description": "Pagination timestamp cursor (\"0\" for first page)"
},
"count": {
"type": "number",
"default": 50,
"description": "Followers per page (max 200)"
},
"sec_uid": {
"type": "string",
"description": "Optional creator secUid"
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user_id (resolve via tiktok_user_info first)"
}
}
}Get paginated accounts followed by a TikTok creator (up to 200 per call, 1 credit per user).
| Argument | Type | Description |
|---|---|---|
| time | string | Pagination timestamp cursor ("0" for first page) |
| count | number | Users per page (max 200) |
| sec_uid | string | Optional creator secUid |
| user_id* | string | Numeric TikTok user_id |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"time": {
"type": "string",
"default": "0",
"description": "Pagination timestamp cursor (\"0\" for first page)"
},
"count": {
"type": "number",
"default": 50,
"description": "Users per page (max 200)"
},
"sec_uid": {
"type": "string",
"description": "Optional creator secUid"
},
"user_id": {
"type": "string",
"description": "Numeric TikTok user_id"
}
}
}Retrieve a TikTok creator profile (numeric user_id, secUid, bio, verification, business category) and real-time follower/heart/video counts (10 credits).
| Argument | Type | Description |
|---|---|---|
| user_id | string | Optional numeric TikTok user_id if unique_id is omitted |
| unique_id | string | TikTok username handle without @ (e.g. tiktok, khaby.lame) |
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "Optional numeric TikTok user_id if unique_id is omitted"
},
"unique_id": {
"type": "string",
"description": "TikTok username handle without @ (e.g. tiktok, khaby.lame)"
}
}
}Fetch public videos posted by a TikTok creator with no-watermark MP4 streams and engagement stats (2 credits per video).
| Argument | Type | Description |
|---|---|---|
| count | number | Videos per page (max 35) |
| cursor | string | Pagination cursor ("0" for first page) |
| user_id | string | Optional numeric TikTok user_id |
| unique_id | string | TikTok username handle without @ |
{
"type": "object",
"properties": {
"count": {
"type": "number",
"default": 15,
"description": "Videos per page (max 35)"
},
"cursor": {
"type": "string",
"default": "0",
"description": "Pagination cursor (\"0\" for first page)"
},
"user_id": {
"type": "string",
"description": "Optional numeric TikTok user_id"
},
"unique_id": {
"type": "string",
"description": "TikTok username handle without @"
}
}
}Search TikTok creators by niche keyword with follower-tier and verified badge filters (1 credit per creator).
| Argument | Type | Description |
|---|---|---|
| count | number | Creators per page (max 30) |
| cursor | number | Pagination cursor |
| keywords* | string | Creator or niche search query (aliases: keyword, query, q) |
| profile_type | number | 0=All, 1=Verified accounts only |
| follower_count | number | Follower tier filter: 0=All, 1=0-1K, 2=1K-10K, 3=10K-100K, 4=100K+ |
{
"type": "object",
"required": [
"keywords"
],
"properties": {
"count": {
"type": "number",
"default": 20,
"description": "Creators per page (max 30)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination cursor"
},
"keywords": {
"type": "string",
"description": "Creator or niche search query (aliases: keyword, query, q)"
},
"profile_type": {
"type": "number",
"default": 0,
"description": "0=All, 1=Verified accounts only"
},
"follower_count": {
"type": "number",
"default": 0,
"description": "Follower tier filter: 0=All, 1=0-1K, 2=1K-10K, 3=10K-100K, 4=100K+"
}
}
}Fetch full metadata, engagement metrics, creator info, music track, and 1080p HD no-watermark MP4 stream URLs (hdplay) for a TikTok video URL or ID (10 credits).
| Argument | Type | Description |
|---|---|---|
| hd | number | Set to 1 to include 1080p HD no-watermark stream URL |
| url* | string | TikTok video URL or 19-digit numeric video ID (aliases: video_id, aweme_id) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"hd": {
"type": "number",
"default": 1,
"description": "Set to 1 to include 1080p HD no-watermark stream URL"
},
"url": {
"type": "string",
"description": "TikTok video URL or 19-digit numeric video ID (aliases: video_id, aweme_id)"
}
}
}Search public TikTok videos by keyword with region, sort order, and publish window filters. Costs 2 credits per video ($0.20 / 1,000 videos).
| Argument | Type | Description |
|---|---|---|
| count | number | Videos per page (1-30) |
| cursor | number | Pagination offset cursor (0 for first page) |
| region | string | ISO country code (e.g. US, GB, JP, DE) |
| keywords* | string | Search query keywords (aliases: keyword, query, q) |
| sort_type | number | 0 = Relevance, 1 = Most Liked, 3 = Newest |
| publish_time | number | 0 = All, 1 = 24h, 7 = 7d, 30 = 30d, 90 = 90d, 180 = 180d |
{
"type": "object",
"required": [
"keywords"
],
"properties": {
"count": {
"type": "number",
"default": 15,
"description": "Videos per page (1-30)"
},
"cursor": {
"type": "number",
"default": 0,
"description": "Pagination offset cursor (0 for first page)"
},
"region": {
"type": "string",
"default": "US",
"description": "ISO country code (e.g. US, GB, JP, DE)"
},
"keywords": {
"type": "string",
"description": "Search query keywords (aliases: keyword, query, q)"
},
"sort_type": {
"type": "number",
"default": 0,
"description": "0 = Relevance, 1 = Most Liked, 3 = Newest"
},
"publish_time": {
"type": "number",
"default": 0,
"description": "0 = All, 1 = 24h, 7 = 7d, 30 = 30d, 90 = 90d, 180 = 180d"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.