tokscript.com APItokscript.com ↗
Fetch timestamped speech-to-text transcripts for TikTok videos plus video metadata, author details, and engagement stats via a single API endpoint.
curl -X GET 'https://api.parse.bot/scraper/b2d5c607-3d34-454f-8e71-f6d43c9f4ffb/get_transcript?video_url=https%3A%2F%2Fwww.tiktok.com%2F%40username%2Fvideo%2F7603118297403378975' \ -H 'X-API-Key: $PARSE_API_KEY'
Get the transcript (speech-to-text) for a TikTok video. Returns timestamped text segments, full combined text, video metadata, author details, and engagement statistics. Videos without speech or deleted videos will return an upstream_error.
| Param | Type | Description |
|---|---|---|
| video_urlrequired | string | Full TikTok video URL (e.g. https://www.tiktok.com/@username/video/<video_id>) |
{
"type": "object",
"fields": {
"music": "object containing title, author, duration",
"stats": "object containing play_count, like_count, comment_count, share_count, collect_count",
"video": "object containing id, description, create_time, duration, width, height, cover, location_created",
"author": "object containing id, unique_id, nickname, avatar, verified, follower_count",
"transcript": "object containing full_text, segments (array of timestamped text), method, language"
},
"sample": {
"data": {
"music": {
"title": "Piano famous song Chopin Deep deep clear beauty",
"author": "RYOpianoforte",
"duration": 342
},
"stats": {
"like_count": 8600000,
"play_count": 273600000,
"share_count": 135800,
"collect_count": "445193",
"comment_count": 55800
},
"video": {
"id": "7603118297403378975",
"cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oEx0wEBNIiAimy7EfCAAIxqiUdDg5Tpm92SIqs~tplv-tiktokx-origin.image",
"width": 720,
"height": 1280,
"duration": 62,
"create_time": "1770238937",
"description": "",
"location_created": "US"
},
"author": {
"id": "6732675975610074118",
"avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/81dd03ab48e571529193c93e79d59201~tplv-tiktokx-cropcenter:100:100.jpeg",
"nickname": "Brooke Monk",
"verified": true,
"unique_id": "brookemonk_",
"follower_count": 46500000
},
"transcript": {
"method": "native-tiktok",
"language": "eng-US",
"segments": [
{
"end": "00:00:01",
"text": "Now.",
"start": "00:00:01"
},
{
"end": "00:00:04",
"text": "Yes. Yes, yes. Okay.",
"start": "00:00:02"
}
],
"full_text": "Now. Yes. Yes, yes. Okay."
}
},
"status": "success"
}
}About the tokscript.com API
The TokScript API exposes 1 endpoint — get_transcript — that returns a complete speech-to-text transcript for any public TikTok video across 14 distinct response fields. The response includes timestamped text segments, the full combined transcript text, detected language, video metadata such as dimensions and creation time, author profile data including follower count and verification status, engagement statistics, and associated music details.
What the API Returns
The get_transcript endpoint accepts a single required parameter, video_url, which must be the full TikTok URL in the format https://www.tiktok.com/@username/video/<video_id>. The response is organized into four top-level objects: transcript, video, author, and stats, plus a music object.
Transcript Object
The transcript object contains full_text (the entire spoken content as a single string), segments (an array of timestamped text chunks useful for syncing captions or searching by time offset), method (the transcription method used), and language (the detected language of the speech). If the video contains no speech or has been deleted, the endpoint returns an upstream_error rather than an empty transcript.
Video, Author, and Engagement Data
The video object includes id, description, create_time, duration, width, height, cover (thumbnail URL), and location_created. The author object provides id, unique_id, nickname, avatar, verified flag, and follower_count. The stats object exposes play_count, like_count, comment_count, share_count, and collect_count. The music object returns title, author, and duration for the audio track used in the video.
- Index TikTok video content by spoken keywords using
full_textfrom the transcript object for searchable archives. - Build caption overlays or subtitle files using the
segmentsarray with precise timestamps fromget_transcript. - Filter or rank videos by engagement using
play_count,like_count, andshare_countfrom thestatsobject. - Identify verified creators and cross-reference follower counts using
verifiedandfollower_countfrom theauthorobject. - Track TikTok content by geographic origin using
location_createdfrom thevideoobject. - Detect language distribution across a set of videos using the
languagefield in thetranscriptobject. - Correlate background music tracks with transcript content using the
musicobject'stitleandauthorfields.
| 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 that covers transcripts?+
What does get_transcript return for a video with no spoken audio?+
upstream_error response rather than an empty transcript object. The music and stats fields are not guaranteed to populate in this case.Does the API cover TikTok comments or replies?+
Can I retrieve transcripts for multiple videos in a single call?+
get_transcript endpoint accepts one video_url per request. Batch lookups across multiple videos are not supported in a single call. You can fork the API on Parse and revise it to add a batch endpoint that accepts multiple URLs.How fresh is the engagement data returned with each transcript?+
play_count, like_count, comment_count, share_count, and collect_count — reflect the state of the video at the time the request is made. The API does not return historical snapshots or time-series data for these metrics.