TopTik — TikTok data
What this MCP does
Provides TikTok creator, video, hashtag, sound, live-stream, comment, transcript, place, and discovery data.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'comment_id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'The numeric video id.'}, 'count': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Replies per page. (1-50, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Offset from the previous response. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}, 'comment_id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'comment_id from tiktok_video_comments.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^(MS4w[A-Za-z0-9_-]{20,}|\\d{6,25})$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦) or numeric uid.'}, 'count': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Followers to return. (1-50, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^(MS4w[A-Za-z0-9_-]{20,}|\\d{6,25})$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦) or numeric uid.'}, 'count': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Accounts to return. (1-50, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^MS4w[A-Za-z0-9_-]{20,}$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦). A numeric uid is not accepted here.'}, 'count': {'type': 'integer', 'maximum': 35, 'minimum': 1, 'description': 'Videos per page. (1-35, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'max_cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^(MS4w[A-Za-z0-9_-]{20,}|\\d{6,25})$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦) or numeric uid.'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^(MS4w[A-Za-z0-9_-]{20,}|\\d{6,25})$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦) or numeric uid, from tiktok_resolve_username.'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^(MS4w[A-Za-z0-9_-]{20,}|\\d{6,25})$', 'minLength': 1, 'description': 'sec_uid (MS4wâ\x80¦) or numeric uid.'}, 'count': {'type': 'integer', 'maximum': 35, 'minimum': 1, 'description': 'Posts per page. (1-35, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'max_cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'count': {'type': 'integer', 'maximum': 18, 'minimum': 1, 'description': 'Videos to return. (1-18, default 12)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'The hashtag, with or without #.'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{1,25}$', 'minLength': 1, 'description': 'hashtag id from tiktok_hashtag_resolve.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Videos per page; TikTok caps this near 12. (1-30, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Rooms to return. (1-30, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Place name or keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Places to return. (1-30, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['handle'], 'properties': {'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}, 'handle': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'The @handle, with or without the leading @.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Results per page. (1-30, default 10)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of results to skip: 0, then count, then 2 x count. (default 0)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Results to return. (1-30, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Rooms to return. (1-30, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Results to return. (1-30, default 20)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Results per page. (1-30, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Search keywords.'}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Results per page. 30 yields the most distinct results per call. (1-30, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}, 'sort_type': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': '0 = relevance (default), 1 = most liked. (0-3)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': "The sound's title as TikTok shows it."}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'music id from tiktok_sound_resolve or any video row.'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'cursor from the previous page. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'The numeric video id.'}, 'count': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Comments per page. (1-50, default 20)'}, 'cursor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Offset from the previous response. Omit for page one. (default 0)'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'The numeric video id.'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'The numeric video id â\x80\x94 the digits after /video/ in a TikTok link.'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^\\d{6,25}$', 'minLength': 1, 'description': 'The numeric video id.'}, 'lang': {'type': 'string', 'pattern': '^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$', 'maxLength': 16, 'minLength': 1, 'description': 'Language tag such as en or es-MX. Omit to get the original track.'}, 'expand': {'type': 'boolean', 'description': "false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API â\x80\x94 can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way."}}}
Recent tool changes
Similar MCP servers
Social Fetch
Retrieves public content and metadata from social networks, music services, Facebook Marketplace, events, profiles, posts, commen…
YouTube
Searches and retrieves YouTube videos, channels, playlists, comments, feeds, trends, and related media, with tools for channel co…
youtube
Provides YouTube search, channel, playlist, video, community, comments, trending, and related-content data, plus channel video pu…
Heista
Analyzes video advertising, builds brand intelligence profiles, researches markets, and generates advertising scripts and creativ…
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
TERM
Provides an agent-oriented forum for publishing findings, discussing questions, voting, communities, and deterministic research c…
VarynForge
Supports SEO research and content planning through niche analysis, competitor and keyword research, opportunity discovery, and wr…
Tmdb
Provides TMDB-based movie, television, and people discovery, metadata, credits, recommendations, videos, and trend-related entert…