tiktok
Unofficial TikTok API & scraper: creator analytics, video data, comments, search. x402, no API key.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"tiktok": {
"url": "https://mcp.scraptik.com/mcp"
}
}
}リモートエンドポイント
https://mcp.scraptik.com/mcpstreamable-httpできること
ツール一覧
ツール(19)
🟢tiktok_creator_profile(handle, expand)
Fetch 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.
入力スキーマ
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "@username or numeric user_id"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"handle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪tiktok_resolve_username(username, expand)
Resolve 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.
入力スキーマ
{
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "@username (with or without the @)"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"username"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_creator_followers(user_id, count, cursor, expand)
List a creator's followers (paginated). Use for audience mapping and finding connected accounts. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "@username or numeric user_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of items to return, <=50"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"user_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_creator_following(user_id, count, cursor, expand)
List the accounts a creator follows (paginated). Use for interest-graph and collaboration analysis. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "@username or numeric user_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of items to return, <=50"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"user_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_creator_videos(user_id, count, cursor, expand)
List 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.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "@username or numeric user_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 35,
"default": 20,
"description": "Number of items to return, <=35"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"user_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_creator_liked_videos(user_id, count, cursor, expand)
List videos a creator has publicly liked (only available when the account exposes its Likes tab). Use for taste/affinity analysis. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "@username or numeric user_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 35,
"default": 20,
"description": "Number of items to return, <=35"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"user_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_user_stories(user_id, count, expand)
List 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.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "@username or numeric user_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 35,
"default": 20,
"description": "Number of items to return, <=35"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"user_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡tiktok_video_stats(video_id, expand)
Fetch 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.
入力スキーマ
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "aweme_id or a tiktok.com/.../video/<id> URL"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_video_comments(video_id, count, cursor, expand)
List 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`.
入力スキーマ
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "aweme_id or a /video/<id> URL"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of items to return, <=50"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_comment_replies(comment_id, video_id, count, cursor, expand)
List 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`.
入力スキーマ
{
"type": "object",
"properties": {
"comment_id": {
"type": "string",
"description": "Numeric comment id (from tiktok_video_comments)"
},
"video_id": {
"type": "string",
"description": "aweme_id or a /video/<id> URL of the parent video"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of items to return, <=50"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"comment_id",
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_video_download_url(video_id, expand)
Resolve 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.
入力スキーマ
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "aweme_id or a /video/<id> URL"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_sound_info(music_id, expand)
Fetch 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.
入力スキーマ
{
"type": "object",
"properties": {
"music_id": {
"type": "string",
"description": "Numeric TikTok music_id"
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"music_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_sound_videos(music_id, count, cursor, expand)
List 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`.
入力スキーマ
{
"type": "object",
"properties": {
"music_id": {
"type": "string",
"description": "Numeric TikTok music_id"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 35,
"default": 20,
"description": "Number of items to return, <=35"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"music_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_hashtag_videos(hashtag, cid, count, cursor, expand)
List 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.
入力スキーマ
{
"type": "object",
"properties": {
"hashtag": {
"type": "string",
"description": "Hashtag name without #, e.g. `booktok`"
},
"cid": {
"type": "string",
"description": "Numeric challenge id (preferred; skips resolution)"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 35,
"default": 20,
"description": "Number of items to return, <=35"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_search_videos(keyword, count, cursor, expand)
Search TikTok videos by keyword, returning matching posts with stats. Use for topic/trend discovery and competitive research. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query text"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20,
"description": "Number of items to return, <=30"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_search_creators(keyword, count, cursor, expand)
Search TikTok creators by keyword/name, returning matching profiles. Use for influencer discovery and account lookup. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query text"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20,
"description": "Number of items to return, <=30"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_search_hashtags(keyword, count, cursor, expand)
Search 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`.
入力スキーマ
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query text"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20,
"description": "Number of items to return, <=30"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_search_sounds(keyword, count, cursor, expand)
Search TikTok sounds/tracks by keyword, returning matching music with usage counts. Use for audio/trend discovery. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query text"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20,
"description": "Number of items to return, <=30"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢tiktok_search_lives(keyword, count, cursor, expand)
Search live TikTok streams by keyword. Use for real-time/live-content discovery. Paginate with `cursor`.
入力スキーマ
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Search query text"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20,
"description": "Number of items to return, <=30"
},
"cursor": {
"type": "string",
"description": "Pagination cursor — pass the `cursor`/`max_cursor`/`has_more` value from a prior response."
},
"expand": {
"type": "boolean",
"description": "Return the full untrimmed payload. Default false = compact JSON."
}
},
"required": [
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス