View raw JSON
{
"type": "object",
"required": [],
"properties": {
"body": {
"type": "object",
"title": "Full TikTok API Scraper",
"properties": {
"music_id": {
"type": "string",
"title": "music_id",
"editor": "textfield",
"default": "",
"description": "Optional music-track ID string, default empty. Requests available details for that track, such as title, artist, duration or usage figures. Keep the ID exact; this is separate from requesting posts using the music and does not deliver licensed audio files.",
"sectionCaption": "Get Music",
"sectionDescription": "Retrieve detailed information about a specific TikTok music track including title, artist, duration, and usage statistics. You'll need the music_id which can be found in video post data or music search results."
},
"post_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint for the post request, default GB. It may affect source results; it does not verify the creator’s residence, provide complete country coverage or bypass access limits."
},
"post_awemeId": {
"type": "string",
"title": "aweme_id",
"editor": "textfield",
"default": "",
"description": "Optional post/video ID string, default empty. Requests the selected public post’s available description, creator or music context, reported engagement and references. Use the ID rather than a URL. A comment count is not comment text.",
"sectionCaption": "Get Post",
"sectionDescription": "Retrieve detailed information about a specific TikTok video post including video URL, description, likes, comments, shares, and creator details. You'll need the aweme_id (video ID) which can be found in TikTok video URLs."
},
"profile_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint for profile retrieval, default GB. It may affect source results and is not proof of account residence, identity or complete coverage of a country."
},
"profile_userId": {
"type": "string",
"title": "user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact user-ID string, default empty, for the selected profile. Keep large numeric-looking IDs as strings. This is an identifier for profile retrieval, not a request for posts or follower lists; do not assume precedence over another supplied profile identifier."
},
"followers_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting followers for this page. Actual quantities can vary; it is not the account’s total follower count, a complete-list guarantee or a billing ceiling."
},
"following_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting accounts this user follows for one page. Actual quantities can vary; this is distinct from followers and does not guarantee a complete list."
},
"userLikes_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting one page of available liked posts. It is not a complete record of likes, viewing activity or private behavior, and returned quantities can differ."
},
"userPosts_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting one page of this user’s available posts. It does not guarantee a fixed number, latest-first order or complete publication history."
},
"followers_userId": {
"type": "string",
"title": "user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact user-ID string, default empty, selecting whose followers to request. Use the ID rather than a username or URL. This does not request the accounts that the user follows or guarantee accessible followers.",
"sectionCaption": "List Followers",
"sectionDescription": "Get a list of users who follow a specific TikTok account. You'll need the user ID (obtained from the Username to ID section) to fetch followers. Use pagination to get more than the default 10 followers."
},
"following_userId": {
"type": "string",
"title": "user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact user-ID string, default empty, selecting whose followed accounts to request. This is the following direction, distinct from the follower list; keep the identifier as a string.",
"sectionCaption": "List Following",
"sectionDescription": "Get a list of users that a specific TikTok account follows. You'll need the user ID (obtained from the Username to ID section) to fetch the following list. Use pagination to get more than the default 10 accounts."
},
"musicPosts_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 18,
"description": "Optional integer, default 18, requesting one page of posts associated with the selected music. It does not guarantee all uses of that track, a fixed quantity or a complete trend history."
},
"profile_username": {
"type": "string",
"title": "username",
"editor": "textfield",
"default": "",
"description": "Optional username string without @, default empty. Selects the public profile to retrieve, for example katyperry. It does not automatically retrieve posts, account lists or an ID for later calls; do not assume precedence if other profile identifiers are also supplied.",
"sectionCaption": "Get User/Profile",
"sectionDescription": "Retrieve detailed information about a TikTok user profile including follower count, bio, verified status, and account details. This is the most common starting point - you only need the username (without @) to get comprehensive profile data."
},
"userLikes_userId": {
"type": "string",
"title": "user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact user-ID string, default empty, requesting this account’s available liked posts. It is separate from published posts and cannot grant access to hidden likes or private account activity.",
"sectionCaption": "User Likes",
"sectionDescription": "Get all videos that a specific user has liked. You'll need the user ID (obtained from the Username to ID section) to fetch their liked posts. Use pagination to get more than the default 10 liked posts."
},
"userPosts_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint for user posts, default GB. It may affect source results, not verify the user’s residence or promise all posts from that country."
},
"userPosts_userId": {
"type": "string",
"title": "user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact user-ID string, default empty, selecting whose available published posts to request. This is distinct from liked posts or profile details and does not guarantee all historical posts.",
"sectionCaption": "User Posts",
"sectionDescription": "Get all video posts from a specific TikTok user. You'll need the user ID (obtained from the Username to ID section) to fetch their posts. Use pagination to get more than the default 10 posts."
},
"followers_maxTime": {
"type": "integer",
"title": "max_time",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0. For another follower-page request, use the min_time value actually returned by the previous response for the same list. This is not a date filter or a value to invent by adding one, and it does not guarantee another page."
},
"following_maxTime": {
"type": "integer",
"title": "max_time",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0. For another following-page request, use the min_time value actually returned by the previous response for the same list. It is not a date range, follower cursor or automatic complete-list collection."
},
"musicPosts_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for the selected music’s post list. Reuse a cursor actually supplied for that list when requesting another page; do not treat it as a date or assume that increasing it by one produces the next page."
},
"profile_secUserId": {
"type": "string",
"title": "sec_user_id",
"editor": "textfield",
"default": "",
"description": "Optional secondary user-ID string, default empty, for TikTok account identification in the profile section. Preserve it exactly. Do not assume it is a username, a numeric ID or an automatic fallback when another supplied identifier fails."
},
"searchLives_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 20,
"description": "Optional integer, default 20, requesting live-stream listings for one search page. Actual counts vary, and this does not promise continuous broadcast access, a stable live state or every matching stream."
},
"searchPosts_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting matching posts for one search page. This is a requested page size, not an exact total, global ranking or exhaustive keyword coverage."
},
"searchUsers_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 20,
"description": "Optional integer, default 20, requesting matching user records for one page. Results can be partial or fewer; it does not guarantee every matching user or verified identities."
},
"challengePosts_cid": {
"type": "string",
"title": "cid",
"editor": "textfield",
"default": "",
"description": "Optional hashtag/challenge-ID string, default empty, selecting associated posts. Use the supplied cid rather than a hashtag keyword. This does not automatically search for an ID or guarantee every participant.",
"sectionCaption": "Hashtag Posts (aka Challenge)",
"sectionDescription": "Get all video posts that participate in a specific TikTok hashtag (aka challenge). You'll need the challenge ID (cid) which can be found in hashtag search results or challenge URLs. Use pagination to get more than the default 20 posts."
},
"listComments_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting one page of top-level comments for the selected video. It is separate from reply counts and does not guarantee a fixed quantity or full discussion."
},
"musicPosts_musicId": {
"type": "string",
"title": "music_id",
"editor": "textfield",
"default": "",
"description": "Optional music-ID string, default empty, selecting posts that use the track. This is a post-list request, distinct from music details, and is not complete usage history or a media download.",
"sectionCaption": "Music Posts",
"sectionDescription": "Get all video posts that use a specific TikTok music track. You'll need the music_id (obtained from the Get Music section or video post data) to find all videos using that sound. Use pagination to get more than the default 18 posts."
},
"searchLives_offset": {
"type": "integer",
"title": "offset",
"editor": "number",
"default": 0,
"description": "Optional integer offset, default 0, for this live-search request. Use actual pagination information for the same keyword if supplied. It is not a timestamp, stable broadcast sequence or guarantee of more results."
},
"searchPosts_offset": {
"type": "integer",
"title": "offset",
"editor": "number",
"default": 0,
"description": "Optional integer offset, default 0, for the selected post search. Keep it tied to the same query and settings, using actual continuation information when provided. It is not a date or a guarantee of exhaustive or duplicate-free pages."
},
"searchPosts_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint, default GB, for post search. It may affect available search results; it does not establish creator residence or complete country-only coverage."
},
"searchSounds_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting one page of matching sounds. It does not guarantee all matching tracks, a fixed quantity or delivery of audio files."
},
"searchUsers_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for the same user search. Use a continuation value actually supplied by that result if available; do not infer a next page by incrementing it or treat it as a user ID."
},
"followers_secUserId": {
"type": "string",
"title": "sec_user_id",
"editor": "textfield",
"default": "",
"description": "Optional exact secondary user-ID string, default empty, identifying the account in the follower section. It is not a follower ID or a username, and multiple identifiers have no documented precedence."
},
"following_secUserId": {
"type": "string",
"title": "sec_user_id",
"editor": "textfield",
"default": "",
"description": "Optional secondary user-ID string, default empty, for the selected account’s following list. Preserve it exactly and keep it with that account; it does not identify a followed account or promise access to a hidden list."
},
"listComments_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for another page of the same video’s top-level comments. Use actual continuation information when supplied; do not mix it with reply pagination or assume all comments are collected automatically."
},
"searchLives_keyword": {
"type": "string",
"title": "keyword",
"editor": "textfield",
"default": "",
"description": "Optional keyword string, default empty. Searches available listings that the source considers active and matching the title or creator context at retrieval. A listing is not an ongoing stream, a recording or guaranteed continued live access.",
"sectionCaption": "Search Lives",
"sectionDescription": "Search for currently live TikTok streams by keyword. This will return active live streams that match your search term in their title or creator name. Use pagination to get more than the default 20 results."
},
"searchPosts_keyword": {
"type": "string",
"title": "keyword",
"editor": "textfield",
"default": "",
"description": "Optional keyword string, default empty, requesting available matching video posts. Source matching may use descriptions or hashtags; do not assume exhaustive full-text, visual-content interpretation or all matching TikTok posts.",
"sectionCaption": "Search Posts",
"sectionDescription": "Search for TikTok video posts by keyword. This will return videos that match your search term in their description, hashtags, or content. You can filter by publish time and sort by relevance, likes, or date."
},
"searchSounds_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for the same sound search. Use actual continuation information if supplied, without inventing a next value or assuming complete or duplicate-free track coverage."
},
"searchSounds_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint for sound search, default GB. It may affect the source results, not prove a creator’s location or grant music-use rights."
},
"searchUsers_keyword": {
"type": "string",
"title": "keyword",
"editor": "textfield",
"default": "",
"description": "Optional keyword string, default empty. Requests available users matching usernames or display names. These are source profile records, not independent identity verification, private analytics or a guarantee of every matching account.",
"sectionCaption": "Search Users",
"sectionDescription": "Search for TikTok users by keyword. This will return a list of users whose usernames or display names match your search term. Use pagination to get more than the default 20 results."
},
"userLikes_maxCursor": {
"type": "string",
"title": "max_cursor",
"editor": "textfield",
"default": "0",
"description": "Optional string cursor, default \"0\", for the selected user’s liked-post list. Preserve the full string and use an actual continuation value for that same list. Do not convert it to a number or date, or assume it grants hidden-list access."
},
"userPosts_maxCursor": {
"type": "string",
"title": "max_cursor",
"editor": "textfield",
"default": "0",
"description": "Optional string cursor, default \"0\", for the selected user’s post list. Preserve it exactly and use actual continuation information for that list. It is not a publication date, a numeric page number or automatic full-history collection."
},
"userPosts_secUserId": {
"type": "string",
"title": "sec_user_id",
"editor": "textfield",
"default": "",
"description": "Optional secondary user-ID string, default empty, for the selected user’s post list. Keep it exact and associated with that account; do not assume precedence over userPosts_userId or automatic identifier resolution."
},
"challengePosts_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 20,
"description": "Optional integer, default 20, requesting one page of posts associated with the selected challenge ID. Actual quantities may vary, and participation totals or complete history are not guaranteed."
},
"commentReplies_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 10,
"description": "Optional integer, default 10, requesting one page of replies under the selected parent comment. This is separate from top-level comment count and does not guarantee a fixed number or full conversation."
},
"listComments_awemeId": {
"type": "string",
"title": "aweme_id",
"editor": "textfield",
"default": "",
"description": "Optional video/post-ID string, default empty, selecting the video for top-level comments. Use the ID rather than a URL. Replies require the separate reply section and its matching parent-comment and video IDs.",
"sectionCaption": "List Comments",
"sectionDescription": "Get all top-level comments on a specific TikTok video. You'll need the aweme_id (video ID) to fetch the comments. Use pagination to get more than the default 10 comments."
},
"searchHashtags_count": {
"type": "integer",
"title": "count",
"editor": "number",
"default": 20,
"description": "Optional integer, default 20, requesting one page of matching hashtag records. This is not the number of posts under a hashtag, a complete tag list or an exact returned quantity."
},
"searchPosts_sortType": {
"type": "integer",
"title": "sort_type",
"editor": "number",
"default": 0,
"description": "Optional integer, default 0. Documented choices are 0 = relevance, 1 = most liked, 3 = date. These order available search results; they do not establish a complete global engagement ranking or guarantee every result’s exact position."
},
"searchSounds_keyword": {
"type": "string",
"title": "keyword",
"editor": "textfield",
"default": "",
"description": "Optional keyword string, default empty. Requests available music or sound records matching track title or creator context. Results and references do not deliver an audio file or grant licensing permission.",
"sectionCaption": "Search Sounds",
"sectionDescription": "Search for TikTok music tracks and sounds by keyword. This will return audio tracks that match your search term in their title or creator name. You can filter by type and sort by relevance, usage, or duration."
},
"challengePosts_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for posts associated with the same challenge ID. Use actual continuation information if supplied, not another list’s cursor or an invented date or increment."
},
"commentReplies_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for replies under the same parent comment and video. Use actual reply-page continuation information if supplied; do not mix it with the top-level comment cursor or reconstruct a full tree."
},
"searchHashtags_cursor": {
"type": "integer",
"title": "cursor",
"editor": "number",
"default": 0,
"description": "Optional integer cursor, default 0, for the same hashtag search. Use actual continuation information when provided; it does not count posts or ensure another page exists."
},
"searchHashtags_region": {
"type": "string",
"title": "region",
"editor": "textfield",
"default": "GB",
"description": "Optional two-letter region hint for hashtag search, default GB. It may affect available results, not verify creator residence or complete country-wide tag usage."
},
"searchSounds_filterBy": {
"type": "integer",
"title": "filter_by",
"editor": "number",
"default": 0,
"description": "Optional integer, default 0. Documented choices are 0 = all, 1 = title, 2 = creators. Use the sound-filter switch when requesting filters; these codes do not guarantee complete or exact matching."
},
"searchSounds_sortType": {
"type": "integer",
"title": "sort_type",
"editor": "number",
"default": 0,
"description": "Optional integer, default 0. Documented choices are 0 = relevance, 1 = most used, 2 = most recent, 3 = shortest, 4 = longest. They order available sound-search results rather than proving complete global usage or an exact ranking."
},
"usernameToId_username": {
"type": "string",
"title": "username",
"editor": "textfield",
"default": "",
"description": "Optional username string without @, default empty, requesting its available user ID. This is distinct from profile retrieval and does not automatically request posts, lists or another section after returning an ID.",
"sectionCaption": "Get Username to ID",
"sectionDescription": "Convert a TikTok username to its corresponding user ID. This is essential for most other API calls that require user IDs. Use this when you have a username but need the ID for followers, posts, or other data retrieval."
},
"commentReplies_awemeId": {
"type": "string",
"title": "aweme_id",
"editor": "textfield",
"default": "",
"description": "Optional video/post-ID string, default empty. Pair it with the parent-comment ID from that same video in the reply section. It is not a video URL or a substitute for the parent-comment ID."
},
"searchHashtags_keyword": {
"type": "string",
"title": "keyword",
"editor": "textfield",
"default": "",
"description": "Optional keyword string, default empty, requesting matching hashtag records and available source context. This is distinct from using a known challenge ID to request associated posts and does not automatically collect all posts under each result.",
"sectionCaption": "Search Hashtags",
"sectionDescription": "Search for TikTok hashtags by keyword. This will return hashtags that match your search term, including their users, view counts, user counts, and posts. Use pagination to get more than the default 20 results."
},
"searchPosts_publishTime": {
"type": "integer",
"title": "publish_time",
"editor": "number",
"default": 0,
"description": "Optional integer, default 0. Documented choices are 0 = all time, 1 = yesterday, 7 = this week, 30 = this month, 90 = last 3 months, 180 = last 6 months. These request source time filters, not an exact timezone, rolling-day or calendar-boundary guarantee; all time does not guarantee full history."
},
"searchSounds_useFilters": {
"type": "boolean",
"title": "use_filters",
"editor": "checkbox",
"default": false,
"description": "Optional boolean, default false. Use true to request sound filters and false for the disabled setting; supply boolean values rather than numeric 0 or 1. The associated filter and sort codes are separate settings."
},
"commentReplies_commentId": {
"type": "string",
"title": "comment_id",
"editor": "textfield",
"default": "",
"description": "Optional parent-comment-ID string, default empty. Request replies with this ID and the matching video ID. It is separate from fetching top-level comments and does not automatically retrieve every descendant or reconstruct missing parent context.",
"sectionCaption": "List Comment Replies",
"sectionDescription": "Get all replies to a specific comment on a TikTok video. You'll need both the comment_id and aweme_id (video ID) to fetch the replies. Use pagination to get more than the default 10 replies."
},
"videoWithoutWatermark_awemeId": {
"type": "string",
"title": "aweme_id",
"editor": "textfield",
"default": "",
"description": "Optional video-ID string, default empty. Requests an available direct video URL without the TikTok watermark. This is a link reference, not delivery of a downloaded file, a guarantee of lasting playback or permission to reuse the video.",
"sectionCaption": "Video Without Watermark",
"sectionDescription": "Download a TikTok video without the TikTok watermark. You'll need the aweme_id (video ID) which can be found in TikTok video URLs. This returns a direct download link to the clean video file."
}
},
"description": "Optional settings for the sections you want to request. Supply the matching username, ID or keyword for a useful request, and fill only the intended sections. Empty identifier defaults do not select an account or post. Multiple identifiers have no documented precedence.",
"schemaVersion": 1
}
},
"additionalProperties": false
}