How to get a TikTok transcript
Get the transcript of a TikTok video as text or subtitles, list a profile's latest videos, and handle videos without captions.
Updated
Short answer: TikTok shows captions on many videos but gives you no way to copy or download them. To get the text, send the video link to a transcript API. With TranscriptDock that is one request for 1 credit, and it returns plain text, timed segments, SRT or VTT. Videos without captions can be transcribed from the audio on a paid plan.
Which links work#
- Video links:
https://www.tiktok.com/@user/video/1234567890123456789 - Share links from the app:
https://vm.tiktok.com/...(resolved to the video for you) - A profile, such as
@user, through video discovery below.
Get one transcript#
Submit the link, wait for the job, then export. The flow is the same as for YouTube; see the quickstart for each step's response.
curl -X POST https://www.transcriptdock.com/v1/jobs \-H "Authorization: Bearer td_live_YOUR_KEY" \-H "Idempotency-Key: tt-7680721699171601694" \-H "Content-Type: application/json" \-d '{ "source": { "url": "https://www.tiktok.com/@tiktok/video/7680721699171601694" }, "mode": "captions_only" }'
The transcript JSON says where the text came from in source_origin: creator_captions, platform_captions (TikTok's automatic captions) or speech_recognition.
A profile's latest videos#
List up to 10 of a profile's newest videos, with view counts and the profile's stats, for 1 credit. Then submit the URLs you want as a batch.
curl -X POST https://www.transcriptdock.com/v1/video-discoveries \-H "Authorization: Bearer td_live_YOUR_KEY" \-H "Idempotency-Key: tiktok-profile-1" \-H "Content-Type: application/json" \-d '{ "kind": "tiktok_user_videos", "user": "@tiktok", "limit": 10 }'
Read the result with GET /v1/video-discoveries/{id}. Add "include_details": true for likes, comments, hashtags and caption languages per video. Details are in the API reference.
Videos without captions#
Plenty of TikToks have no caption track, especially music and older videos. Send mode: "auto" on a paid plan: captions are used when they exist, and the audio is transcribed otherwise, at 2 credits per started minute with word timings. On the free plan the job fails with NO_CAPTIONS and nothing is charged.
Ask Claude instead#
With the MCP server connected, ask "List the latest videos from TikTok user @tiktok and summarize the first one". Claude lists the profile and fetches the transcript for you.
--write-subs --skip-download when a video has them, but TikTok changes often and blocks many server IPs, so it breaks without warning.