TikTok Profiles, Videos & Sounds API — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/tiktok/challenge-data-by-id Look Up TikTok Challenge Information by ID
Details
Retrieve information about a TikTok challenge (hashtag) using the required challenge_id path parameter. The identifier is a string, with 229207 as the documented default. This route targets a known challenge ID rather than accepting a hashtag name or requesting its media feed. No live response was observed for this route, and no response example or field schema was supplied. Its returned field names and available metrics remain unverified; do not assume that the separate hashtag-name lookup's data.ch_info fields also appear here. Inspect the actual response before defining metadata mappings or counter calculations. This lookup does not establish historical trends or an exhaustive collection of challenge videos.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/challenge-feed-by-id Request a TikTok Challenge Media Feed by ID
Details
Request the media feed associated with a TikTok challenge (hashtag). Supply the required challenge_id path parameter as a string; its documented default is 229207. The optional max_cursor query parameter is also a string and has no documented default or example. Omit it for an initial request rather than inventing a starting value. No live response was observed for this route, and no response example or field schema was supplied. Media item fields, the item-list container, any next-cursor field and end-of-feed indicators are therefore unverified. Before requesting subsequent pages, establish how the real response maps to max_cursor. Treat returned media as a bounded sample, not a guaranteed complete historical export, exhaustive list of challenge participants or fixed-order ranking.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/challenge-data-by-keyword Resolve a TikTok Hashtag Name to Challenge Metadata
Details
Retrieve challenge (hashtag) information using the required challenge_name string path parameter. Despite the operation's keyword label, this is documented as a name lookup, not a free-text search returning multiple matching hashtags. The documented example and default are fyp. In the supplied successful probe for fyp, HTTP 200 returned status=ok and data.status_code=0. The observed data.ch_info object contained cha_name, the returned hashtag name; cid, the challenge identifier; user_count, a reported usage-related counter; and view_count, a reported view counter. That probe returned cha_name=fyp and cid=229207, with nonzero user_count and view_count values and share information whose exact nested fields were not specified. These fields are observed in one probe, not a guaranteed schema for every name; no separate response example or field schema was supplied. Retain both the submitted name and returned cid when connecting to challenge-ID lookups or media feeds. Record counters as timestamped reported snapshots, not unique people, deduplicated reach, growth rates or a historical trend.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/challenge-feed-by-keyword Get a TikTok hashtag feed by name
Details
Retrieve the media feed associated with a TikTok challenge, also called a hashtag, using the required challenge_name path value. The documented example is fyp. This is a challenge-name lookup, not a general video keyword search. The optional max_cursor query input is available for pagination; omit it for an initial request. Cursor semantics and the response field to use for continuation have not been verified. The endpoint is documented as returning a challenge media feed, but no successful response sample or field schema is available for this operation. Individual video fields, response wrapper keys and pagination output therefore remain unverified. Treat returned content as a feed sample rather than a complete export of every video using the hashtag.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/video-comments Retrieve comments for a TikTok video
Details
Retrieve comments using the required video_id path string, not a full video URL. The optional max_cursor query input is a pagination string; omit it for the first request. Successful observed responses have status=ok and a data object containing status_code, comments, cursor, has_more and total. A populated probe returned 50 comments with cursor=50, has_more=1 and total=6574; these are sample observations, not a fixed page size or guaranteed count. Observed comment fields are aweme_id (parent video ID), cid (comment ID), text, create_time (numeric creation-time value), digg_count (like count), reply_comment_total (reply count), reply_id, reply_to_reply_id and user. Observed user identity fields include uid, unique_id, nickname and sec_uid. A negative-control probe returned HTTP 200 with data.status_code=0, comments=null, cursor=0, has_more=0 and total=0. Handle that as an empty sample, not proof that a video is nonexistent or has no public discussion. A nonzero has_more signals continuation, but mapping response cursor to request max_cursor has not been verified. No request page-size control or separate reply-fetch operation is documented here; a reply count does not establish that reply bodies are included.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/music-data Look up TikTok sound metadata by music ID
Details
Retrieve metadata for a TikTok music or sound record using the required music_id path string. Supply the sound identifier, not a video ID, track title or full URL. The documented input example is 7443916074024913686. A successful probe using a different sound ID returned status=ok and data containing status_code=0, msg=success and music_info. Observed music_info fields include id_str (sound identifier), title, author, album, owner_handle, owner_id, owner_nickname, duration (seconds), user_count (reported usage count), play_url and cover_large, cover_medium and cover_thumb. The observed play_url object contains uri, url_list, width, height, data_size and file_hash. The sampled original-sound record had duration=9 and user_count=30; these are observations, not fixed values or guarantees for the documented example ID. Metadata and a playback URL do not establish commercial song identity, a download license or reuse rights. Treat user_count as a reported sound-usage measure, not video views, unique listeners or a complete adoption census. Audio URL availability and lifetime are not guaranteed, and this operation does not return a paginated feed of videos using the sound.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/music-feed Find TikTok videos associated with a music ID
Details
Retrieve the media feed associated with a specific TikTok sound using the required music_id path parameter. Use the sound identifier, not its display title; the documented example is 7443916074024913686. The optional max_cursor query parameter is a string intended for feed pagination. Omit it for an initial request, and confirm the returned continuation behavior before attempting additional pages. The documented contract describes a related-media feed but supplies no response field schema, and no endpoint-specific live response or response example is available. Video identifiers, creator metadata, engagement counts, cursor response fields and pagination termination rules are therefore unverified. Treat results as an available sound-related sample, not a guaranteed complete list of videos or a verified sound-usage total.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/search-challenges-by-keyword Search TikTok challenges and hashtags by keyword
Details
Discover TikTok challenges, also described as hashtags, using a required keyword string in the path. This is keyword-based candidate discovery, not an exact-name lookup or a request for videos in a challenge feed. An optional string max_cursor query parameter is available for pagination. Omit it for the initial search and verify continuation behavior using the search response rather than assuming video-feed cursor rules apply. The documented contract identifies challenge search as the result type but supplies no response field schema, and no endpoint-specific live response or response example is available. Candidate names, challenge IDs, ranking, counts, response wrappers and continuation fields are therefore unverified. Review actual matches for relevance and ambiguity before selecting a challenge to monitor.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/trending-media-feed Retrieve a sample of TikTok trending videos
Details
Request the TikTok trending media feed, described as the main-screen carousel feed, without a required username, video ID or keyword. The only documented input is the optional string custom_cursor query parameter; omit it for an initial sample. A successful HTTP 200 probe with no parameters observed status=ok, data.custom_cursor, and a nested data.list object containing status_code=0, has_more=1 and an aweme_list array with ten videos. Creator information and engagement counts were present in that sample, but their individual field names and completeness are not established here. The nesting matters: videos and has_more are under data.list, while custom_cursor is directly under data. Use the returned cursor as the candidate continuation input and verify subsequent responses; the probe did not establish complete pagination. The observed videos had creation dates from 2026-08-30 through 2026-10-21, including the probe date, so compare each item's create_time with your own fetch timestamp instead of treating every item as newly published. These observations describe one response, not a fixed page size, universal popularity ranking, personalized account feed or guaranteed exhaustive export. No separate source response example supplies additional verified fields.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/trending-media-feed-by-region Get TikTok Trending Videos by Region
Details
Retrieve the TikTok trending media feed for a requested region. Pass region as a required string in /trending/{region}; the documented default and example are US. The optional custom_cursor query parameter is a string, but no example value or continuation behavior is documented. Omit it for an initial request and set it only after validating a value and its behavior for this endpoint. No response example or observed response is available for this operation. Response field names, the feed envelope, media identifiers, ranking order and continuation fields remain unverified; do not assume the global feed response contract applies here. The region selects the requested feed context, not a verified residence for creators or viewers. Supported region values beyond the documented US example are not enumerated.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-data-by-id Look Up a TikTok Profile by User ID
Details
Retrieve TikTok profile information for a known user ID through GET /user/id/{user_id}. The required user_id path parameter is a string representing the numeric TikTok user identifier, not a username or profile URL. Its documented default and example are 127905465618821121. Preserve the full identifier as text rather than converting it to a floating-point number. This operation has no documented pagination or feed inputs. No response example or observed response is available for this ID-based lookup. No profile field names, nested objects, counters or missing-user response shape are verified. Do not assume this endpoint returns the same fields as a username-based lookup. Validate the actual response before mapping profile attributes into a creator database; only use attributes that the response supplies.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-media-feed-by-id Retrieve a TikTok User Media Feed by ID
Details
Retrieve a TikTok user media feed through GET /user/id/{user_id}/feed. Pass the required numeric user_id as a string; the documented default and example are 127905465618821121. Preserve its digits exactly. The optional max_cursor and min_cursor query parameters are also strings. Neither has a documented example, default, continuation direction or date interpretation. Omit both for an initial request. Validate each cursor input independently before designing checkpoints; they are not documented as page numbers, guaranteed date filters or interchangeable values. No response example or observed response is available for this ID-based feed. The media-list container, video identifier fields, ordering, item counts, continuation fields and end-of-feed signals remain unverified. Do not infer the response contract from another feed operation. Confirm returned identifiers and pagination behavior before archiving items or polling for new content. A retrieved feed sample is not a guaranteed complete account history.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-data-by-sec-id Get TikTok profile by secondary user ID
Details
Retrieve TikTok user profile information using the required sec_user_id path parameter. Supply an existing secondary user identifier exactly as stored, rather than an @username or the numeric user_id used by other routes. This lookup supports resolving secondary-ID references in imported records and refreshing profiles when a current username is unavailable. The documentation describes a user-profile response but does not name any response fields. No probe result or source response example is available for this operation, so the response envelope, profile-field names and any returned identifiers remain unverified. Inspect an actual response before defining field mappings; profile statistics, images and private-account data are not established by the supplied evidence.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-data-by-sec-id-and-user-id Get TikTok profile with secondary and numeric IDs
Details
Retrieve TikTok user profile information by supplying both required path parameters: sec_user_id and user_id. Use a trusted pair associated with the intended account; keep the secondary identifier opaque and preserve the numeric-looking user_id as a string. This route is useful when an imported record already stores both identifiers. The documentation describes a user-profile response but provides no named response fields, and this operation has no observed probe response or source response example. The response envelope, returned identifiers and handling of mismatched pairs are therefore unverified. Compare only identifiers actually present in a response; this lookup is not evidence of account ownership, an identity-verification service or a guaranteed mismatch detector.
| Parameter | In | Value |
|---|---|---|
| path | ||
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-followers Get a TikTok user follower list
Details
Retrieve a list of followers for the account identified by the required user_id path parameter. Supply the numeric-looking account identifier as a string, not an @username or sec_user_id. The optional min_time query parameter is also a string, but the supplied documentation does not define its format, units, filtering behavior or continuation semantics. Omit it unless you have verified an appropriate value; do not assume it accepts a Unix timestamp or acts as a pagination cursor. The documented response is a follower list, with no named list field, follower-record fields, count, cursor or completion indicator. No observed probe response or source response example is available for this operation. Treat returned data as an observed sample, not a guaranteed complete export; differences between samples do not establish follows or unfollows, audience demographics or contact details.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-followings Get a TikTok User's Following List
Details
Retrieve the accounts a TikTok user follows by supplying the required user_id path parameter as a string. This is an outbound following-list lookup, not a list of followers. The documented example user ID is 127905465618821121. The optional min_time query parameter is also a string, but its accepted format, time units and continuation behavior have not been verified; omit it unless you have a value confirmed for this endpoint. The documented result is a list of followed users. No response example or successful request observation was supplied for this operation, so the response envelope, account field names, ordering, page size and pagination semantics are unconfirmed. Inspect a real result before binding fields or building continuation logic. Treat any returned relationships as a collected sample, not a guaranteed complete list, a follow-change history, an endorsement or evidence of private relationships.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-data-by-username Look Up a TikTok Profile by Username
Details
Retrieve a TikTok profile using the required username path parameter as a string, such as khaby.lame. This is a lookup for a known handle, not keyword-based user discovery. A successful observed request returned HTTP 200 with status=ok, data.status_code=0 and a data.user object. Observed user fields were unique_id (the account handle), uid (the account identifier), nickname (the display name), follower_count (the reported follower count) and aweme_count (the reported post count). The khaby.lame sample matched unique_id=khaby.lame and uid=127905465618821121; its counters describe that collection time, not current or historical totals. A request for a nonexistent test handle returned HTTP 404 with status=error, error=not found and error_description=resource not found. Treat that observed miss as a lookup outcome rather than evidence of a service outage, while handling other failures separately. These response fields come from supplied request observations; no separate response example was available to verify additional fields. Timestamp stored profiles and interpret counter changes as differences between snapshots, not a historical analytics feed.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/user-media-feed-by-username Get a TikTok Creator's Media Feed by Username
Details
Retrieve a TikTok creator's media feed using the required username path parameter as a string, such as khaby.lame. The optional max_cursor and min_cursor query parameters are strings; omit both for an initial request. A successful observed request returned HTTP 200 with status=ok and ten videos in data.aweme_list, together with has_more=1 and min_cursor/max_cursor pagination fields. Video records in that sample included video identifiers, author information, creation timestamps, engagement statistics and playable media URLs. The first observed aweme_id was 7697307919943060767, belonging to khaby.lame, with a creation date of 2026-10-16 and 3363153 reported views at collection time. These are sample observations, not fixed response values or a guarantee that every page contains ten items. Supplied research also identifies descriptions as useful feed content, but their exact response field name is not established in this evidence. No separate response example was available to confirm additional nested field names. Use the returned cursor fields as candidate continuation checkpoints, retaining their values as strings; the correct cursor combination, direction and multi-page behavior were not verified. Deduplicate collected items by video ID and stop on repeated checkpoints. The endpoint exposes no count parameter. Do not infer chronological order, complete posting history, private creator analytics or permanent media access from the observed page.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/tiktok/video-data Get TikTok video details by video ID
Details
Retrieve details for one TikTok video using its video_id path parameter. Supply the numeric video identifier as a string, rather than a username or a full video URL. The documented default is 7468030505628224790; it is an example input, not a promise of continued video availability. No pagination or request-body input is documented for this lookup. Observed success metadata reports status equal to ok, data.status_code equal to 0, and a data.aweme_detail object containing aweme_id, author.unique_id and create_time. The observed video had aweme_id 7697307919943060767 and author.unique_id khaby.lame, with create_time 1792169181. Its description, 9500-millisecond video duration, music information and engagement statistics were also observed. These observations describe a successful lookup, not a guaranteed response for every identifier. No source response example is supplied. The available evidence does not enumerate the description, duration, music or engagement subfields, establish the exact music identifier property, or guarantee playable media URLs. Confirm those nested fields in the returned object before implementing extraction or chaining a music lookup. Keep video identifiers as strings to avoid numeric precision loss. Treat engagement values as a retrieval-time snapshot, and record your own fetched_at time separately from create_time. Video metadata does not confer download or reuse rights, provide private-account access, or replace official creator analytics.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.