com.scraptik/tiktok
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Unofficial TikTok API & scraper: creator analytics, video data, comments, search. x402, no API key.
| Author | com.scraptik |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1160 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"tiktok": {
"url": "https://mcp.scraptik.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (19)
tiktok_creator_profileFetch a TikTok creator's public profile: follower/following counts, total videos and likes, verification status, bio, region, and avatar. Use for influencer discovery, creator analytics, and audience-size vetting for UGC/brand deals. `handle` accepts an @username (e.g. `@charlidamelio`) or a numeric user_id.
Parameters:
handle(required) — string — @username or numeric user_idexpand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_resolve_usernameResolve a TikTok @username to its stable numeric user_id and sec_uid. Cheap utility — call this first when you only have a handle and need an id for other tools.
Parameters:
username(required) — string — @username (with or without the @)expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_creator_followersList a creator's followers (paginated). Use for audience mapping and finding connected accounts. Paginate with `cursor`.
Parameters:
user_id(required) — string — @username or numeric user_idcount— integer — Number of items to return, <=50cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_creator_followingList the accounts a creator follows (paginated). Use for interest-graph and collaboration analysis. Paginate with `cursor`.
Parameters:
user_id(required) — string — @username or numeric user_idcount— integer — Number of items to return, <=50cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_creator_videosList a creator's recent videos with per-video stats (views, likes, comments, shares). Use to compute engagement rate, spot recent virality, or pull a content sample. Paginate with `cursor` (the `max_cursor` from the response). `user_id` accepts an @username or numeric id.
Parameters:
user_id(required) — string — @username or numeric user_idcount— integer — Number of items to return, <=35cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_creator_liked_videosList videos a creator has publicly liked (only available when the account exposes its Likes tab). Use for taste/affinity analysis. Paginate with `cursor`.
Parameters:
user_id(required) — string — @username or numeric user_idcount— integer — Number of items to return, <=35cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_user_storiesList a creator's active TikTok Stories (ephemeral posts that expire ~24h). Use to capture story content before it disappears. `user_id` accepts an @username or numeric id.
Parameters:
user_id(required) — string — @username or numeric user_idcount— integer — Number of items to return, <=35expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_video_statsFetch a single TikTok video's stats and metadata: play/like/comment/share/save counts, author, sound, duration, description, hashtags, and create time. Use to measure a specific post's performance. Accepts a numeric `video_id` (aweme_id) or a full TikTok video URL.
Parameters:
video_id(required) — string — aweme_id or a tiktok.com/.../video/<id> URLexpand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_video_commentsList top-level comments on a video, most-relevant first, with like counts and authors. Use for sentiment sampling and audience-response analysis. Paginate with `cursor`.
Parameters:
video_id(required) — string — aweme_id or a /video/<id> URLcount— integer — Number of items to return, <=50cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_comment_repliesList replies to a specific comment on a video. Use to drill into a comment thread. Requires both `comment_id` and the parent `video_id`. Paginate with `cursor`.
Parameters:
comment_id(required) — string — Numeric comment id (from tiktok_video_comments)video_id(required) — string — aweme_id or a /video/<id> URL of the parent videocount— integer — Number of items to return, <=50cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_video_download_urlResolve a watermark-free download URL for a TikTok video. Use to obtain the clean MP4 for archival or analysis. Accepts a numeric `video_id` or a full TikTok video URL.
Parameters:
video_id(required) — string — aweme_id or a /video/<id> URLexpand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_sound_infoFetch metadata for a sound/track: title, author, duration, and how many videos use it. Use to size a sound's reach before pulling its videos.
Parameters:
music_id(required) — string — Numeric TikTok music_idexpand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_sound_videosList videos that use a given sound/track, most-recent first. Use for sound-trend analysis, finding UGC around a track, or gauging a sound's virality. Paginate with `cursor`.
Parameters:
music_id(required) — string — Numeric TikTok music_idcount— integer — Number of items to return, <=35cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_hashtag_videosList videos under a hashtag/challenge. Pass a resolved numeric `cid`, or a `hashtag` name (e.g. `booktok`) which is resolved to a cid first. Use for trend tracking and campaign monitoring. Passing `cid` directly skips the resolution lookup and is slightly faster.
Parameters:
cid— string — Numeric challenge id (preferred; skips resolution)count— integer — Number of items to return, <=35cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.hashtag— string — Hashtag name without #, e.g. `booktok`
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_search_videosSearch TikTok videos by keyword, returning matching posts with stats. Use for topic/trend discovery and competitive research. Paginate with `cursor`.
Parameters:
keyword(required) — string — Search query textcount— integer — Number of items to return, <=30cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_search_creatorsSearch TikTok creators by keyword/name, returning matching profiles. Use for influencer discovery and account lookup. Paginate with `cursor`.
Parameters:
keyword(required) — string — Search query textcount— integer — Number of items to return, <=30cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_search_hashtagsSearch TikTok hashtags/challenges by keyword, returning matching challenges with their cid and video counts. Use to find the right hashtag before pulling its videos. Paginate with `cursor`.
Parameters:
keyword(required) — string — Search query textcount— integer — Number of items to return, <=30cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_search_soundsSearch TikTok sounds/tracks by keyword, returning matching music with usage counts. Use for audio/trend discovery. Paginate with `cursor`.
Parameters:
keyword(required) — string — Search query textcount— integer — Number of items to return, <=30cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tiktok_search_livesSearch live TikTok streams by keyword. Use for real-time/live-content discovery. Paginate with `cursor`.
Parameters:
keyword(required) — string — Search query textcount— integer — Number of items to return, <=30cursor— string — Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response.expand— boolean — Return the full untrimmed payload. Default false = compact JSON.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.