tiktok.com APIwww.tiktok.com ↗
Retrieve TikTok video details (caption, stats, media URL, author) and paginated comments for any public video via two simple endpoints.
curl -X GET 'https://api.parse.bot/scraper/8fb77401-1c2f-4e77-a331-41cac1121187/get_post_details?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7622064700431289630&video_id=7622064700431289630' \ -H 'X-API-Key: $PARSE_API_KEY'
Get video details including caption, media URL, author info, stats, and metadata for a public TikTok video. Requires a full TikTok video URL including the username path; video IDs alone are not supported.
| Param | Type | Description |
|---|---|---|
| urlrequired | string | Full TikTok video URL in the format https://www.tiktok.com/@username/video/VIDEO_ID |
{
"type": "object",
"fields": {
"id": "string - Video ID",
"cover": "string - Video cover image URL",
"music": "object - Music info (id, title, author)",
"stats": "object - Engagement stats (likes, shares, comments, plays, saves)",
"width": "integer - Video width",
"author": "object - Author info (uid, unique_id, nickname, avatar, verified)",
"format": "string - Video format",
"height": "integer - Video height",
"caption": "string - Video caption/description",
"duration": "integer - Video duration in seconds",
"media_url": "string - Video playback URL",
"create_time": "string - Unix timestamp of creation",
"origin_cover": "string - Original cover image URL"
},
"sample": {
"data": {
"id": "7517409255914212638",
"cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/example.image",
"music": {
"id": "7515252172306942726",
"title": "MAMASITAAA",
"author": "celebsnapz"
},
"stats": {
"likes": 479900,
"plays": 4500000,
"saves": "13115",
"shares": 14400,
"comments": 1113
},
"width": 576,
"author": {
"uid": "6815436682578723845",
"avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/example.jpeg",
"nickname": "Lili Reinhart",
"verified": true,
"unique_id": "lilireinhart"
},
"format": "mp4",
"height": 1024,
"caption": "Mother & son ",
"duration": 15,
"media_url": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/example.mp4",
"create_time": "1750283252",
"origin_cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/example.image"
},
"status": "success"
}
}About the tiktok.com API
This API exposes 2 endpoints to pull structured data from public TikTok videos. get_post_details returns 10 fields per video — including caption, cover image URL, engagement stats (likes, shares, plays, saves), author metadata, and video dimensions. get_comments returns paginated comment threads with per-comment text, like counts, reply counts, and a flag indicating whether the creator liked a comment.
Video Details
get_post_details accepts a full TikTok video URL in the format https://www.tiktok.com/@username/video/VIDEO_ID — numeric video IDs alone are not accepted. The response includes the video id, caption, duration in seconds, width and height in pixels, a cover image URL, and a format string identifying the media type. The stats object breaks out likes, shares, comments, plays, and saves. The author object includes uid, unique_id, nickname, avatar, and a verified boolean. The music object provides id, title, and author for the audio track used in the video.
Comments
get_comments accepts either a full TikTok URL or a bare numeric video ID. You can request up to 50 comments per call via the count parameter. Each comment object contains comment_id, text, create_time, likes, reply_count, is_liked_by_creator, labels, and a nested user object. The response includes a cursor integer and a has_more boolean so you can page through a full comment thread by passing the cursor back on subsequent requests.
Coverage Notes
Both endpoints operate on public TikTok videos only. Private accounts and age-restricted content that requires login are not accessible. The stats figures reflect the state of the video at the time of the request and are not historical — there is no time-series or trend data in the response.
- Track engagement metrics (likes, plays, saves, shares) for a set of public TikTok videos over time
- Aggregate comment sentiment and top-liked comments using the
likesandtextfields fromget_comments - Identify the audio track behind any video using the
musicobject returned byget_post_details - Build a content monitoring dashboard that flags videos by caption keywords using the
captionfield - Extract cover image URLs in bulk for thumbnail previews in a third-party media catalog
- Determine whether a TikTok creator is verified by reading the
verifiedfield in theauthorobject - Paginate through all comments on a viral video using cursor-based pagination to collect full reply counts
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does TikTok have an official developer API?+
What does `get_post_details` return for the video's audio track?+
music object contains three fields: id (a numeric string identifying the audio), title (the track name as shown on TikTok), and author (the credited audio creator). It does not include a streaming URL or an external music catalog identifier such as an ISRC or Spotify ID.Can I retrieve comments posted in reply to other comments (nested replies)?+
get_comments returns top-level comments only; each comment object includes a reply_count integer so you can see how many replies exist, but the reply thread itself is not fetched. You can fork this API on Parse and revise it to add a dedicated replies endpoint.Is there any limitation on which TikTok videos can be queried?+
Does the API return TikTok user profile data beyond the author of a single video?+
author object on get_post_details covers uid, unique_id, nickname, avatar, and verified for the video's creator, but there are no standalone profile endpoints for follower counts, following lists, or a user's full video history. You can fork this API on Parse and revise it to add a profile or user-feed endpoint.