GitHubLog in
TikTok Transcript API

TikTok Transcript API

Returns the transcript of a TikTok video, as plain text or timestamped segments. The video is given as a URL, a short link or a 19-digit id. The caption track is used when the video has one; otherwise AI Fallback Transcription transcribes the audio (on by default). TikTok requests are held open, so the transcript almost always comes back in the response rather than as a job.

Caption transcript1 creditWhen the video has a caption track
AI Fallback Transcription1 / 5 minOn by default with no captions; on delivery, minimum 1
Failed requestsFreeA request that fails costs nothing
Supported URLs/video/vm.tiktok.comvt.tiktok.comvideo idAll URL formats
POST/api/v2/transcripts/videoidempotent

How a request resolves

  1. Caption track foundThe video's caption track is read and returned.200
  2. No captionsAI Fallback Transcription runs while the request is held open for up to 45 seconds. No polling.200
  3. Still running after 45 sAnswers with a job to poll, or POSTs the result to your callback_url. Retrying is safe and hits the cache once it is done.202

Body parameters

A video URL or 11-character YouTube video ID. Accepts YouTube (watch, youtu.be, /shorts/), TikTok, and Instagram URLs, plus direct media file URLs (mp4/mp3/wav/…). Under the default mode, a video without captions is transcribed by AI Fallback Transcription (see mode).

curl https://transcriptfetch.com/api/v2/transcripts/video \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video":"https://www.tiktok.com/@khanacademy/video/7690953765293231373"}'
SuccessExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "transcript",
    "video_id": "7690953765293231373",
    "url": "https://www.tiktok.com/@khanacademy/video/7690953765293231373",
    "platform": "tiktok",
    "title": "Lower Car Payment? Check the Loan First!  The best deal isn’t always the one with the lowest monthly payment. Learn more in Khan Academy’s Monthly payment versus total cost lesson! Link in bio",
    "channel": "khanacademy",
    "duration": 35,
    "language": "eng-US",
    "thumbnail_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/ogAAeIAg75qA92HwwcidCiuCVDcBDgDS5EfCnn~tplv-tiktokx-origin.image",
    "source": "captions",
    "segments": [
      {
        "start": 0.5,
        "duration": 3.98,
        "text": "Wait, this payment for my new car is way lower?"
      },
      {
        "start": 4.78,
        "duration": 2,
        "text": "Yeah, I'm going with this payment."
      },
      {
        "start": 6.781,
        "duration": 2.86,
        "text": "Okay, but look at that loan closely."
      }
    ]
  },
  "usage": {
    "credits_spent": 1,
    "balance": 656,
    "bytes": 1893
  }
}

Every TikTok endpoint

Same call, other platforms:YouTube Transcript APIInstagram Transcript API

Frequently asked questions

Which TikTok URLs are accepted?

Full video URLs (tiktok.com/@user/video/<id>), the vm.tiktok.com and vt.tiktok.com short links TikTok's share sheet produces, and the bare numeric video id. The URL formats page lists each with an example.

Does TikTok have captions, or does every transcript need AI Fallback Transcription?

Many TikTok videos carry a caption track, and the endpoint reads it first: the response says source captions and costs 1 credit. When there is none, AI Fallback Transcription transcribes the audio on the same request and source says audio.

Will a TikTok request answer 202 and make me poll?

Rarely. TikTok is short-form, so the request is held open and the finished transcript is returned inline whether or not the media length could be read. Only a transcription that outlasts the hold answers 202 with a job to poll.

Can I transcribe a private TikTok, or one behind an age gate?

No. Only public videos are reachable. A private, removed or region-locked video fails with a clear error and costs nothing.