TikTok Video Transcript & Captions Extractor — Text + SRT avatar

TikTok Video Transcript & Captions Extractor — Text + SRT

Pricing

from $16.00 / 1,000 extracted transcripts

Go to Apify Store
TikTok Video Transcript & Captions Extractor — Text + SRT

TikTok Video Transcript & Captions Extractor — Text + SRT

Extract text from TikTok videos by full link, short link or video ID, from TikTok's native captions. No login or cookies. Returns clean text, timestamps, an SRT file and video stats; videos with no captions return metadata free. For content repurposers, researchers and accessibility teams.

Pricing

from $16.00 / 1,000 extracted transcripts

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

7

Monthly active users

4 days ago

Last modified

Share

TikTok Video Transcript & Captions Extractor: Extract Text from TikTok Videos + SRT

Get the transcript of any TikTok video: send a video URL, short link or ID, get the spoken words as clean text from TikTok's own captions, plus timestamps, an SRT file and the video stats.

You give itYou get backYou pay (Free plan)
TikTok video URLs, short links or bare video IDsTranscript text, word count, caption language, SRT, views/likes/author$0.02 per transcript

Pay per result only: no subscription, no start fee. Videos with no captions return their metadata and are not charged. No login or cookies needed. Paid Apify plans get Store discounts on the price above.

Example: try it in one click

The input form is already filled in with this example: Hank Green explaining redshift and how the James Webb Space Telescope's infrared images get their colors. Press Start and you get the output below.

{
"videoUrl": "https://www.tiktok.com/@hankgreen1/video/7120053846516190469",
"videoUrls": []
}

Real output from that exact input (run on 2026-09-24; long arrays shortened to a few entries and long text cut for display):

[
{
"videoId": "7120053846516190469",
"url": "https://www.tiktok.com/@hankgreen1/video/7120053846516190469",
"title": "Replying to @artemispbj #askhank (posted by @paytmitch)",
"author": "hankgreen1",
"authorName": "Hank Green",
"durationSeconds": 96,
"playCount": 228900,
"likeCount": 22200,
"commentCount": 405,
"shareCount": 149,
"createTime": "2022-07-14T02:45:25.000Z",
"ok": true,
"language": "eng-US",
"wordCount": 295,
"transcript": "A tiny bit technical here. Red shifting is what happens because the universe is expanding and that, along with the uni …",
"segments": [
{
"start": 0.4,
"timestamp": "00:00",
"text": "A tiny bit technical here."
},
{
"start": 2.28,
"timestamp": "00:02",
"text": "Red shifting is what happens because the universe is expanding"
}
],
"srt": "1\n00:00:00,400 --> 00:00:02,260\nA tiny bit technical here.\n\n2\n00:00:02,280 --> 00:00:04,639\nRed shifting is what happens…"
}
]

Extract TikTok video transcripts as clean, readable text — plain-prose paragraphs, per-line timestamps, and a ready-to-use SRT string, plus the video's full metadata (author, views, likes, music). Paste full links, share-sheet short links (vm.tiktok.com/…), or bare video IDs.

Why this one

  • Pay only for real transcripts. A meaningful share of TikTok videos have no captions at all — in an 11-video sample of popular TikToks we measured (2026-08-07), 3 of 11 had none: every dance, silent-comedy, and pre-2022 video in the sample, while 8 of 9 current speech videos were captioned. Actors that bill per result charge you for those empty, metadata-only records. This actor bills per transcript actually extracted — a caption-less video returns an uncharged record with the video's metadata and a clear reason.
  • Parsed, not raw. You get plain text, timestamped segments, and SRT — not a raw WEBVTT blob to post-process.
  • Native captions, exact wording. Transcripts come from TikTok's own caption tracks (including its auto-captions), not a re-transcription — what you get matches what viewers see.
  • Fast and robust. No browser, no login. A typical video takes well under a second. Bad URLs, deleted videos, and private videos produce clean per-item error records — one bad item never stops a batch.

Input

FieldDescription
videoUrlAny TikTok video URL, a vm.tiktok.com / tiktok.com/t short link, or a bare numeric video ID
videoUrlsBatch of videos in one run
languagePreferred caption language (en, es, de, …). Falls back to English, then the first available track; every record lists availableLanguages
formatparagraphs (readable prose, default) or raw (one block)
includeTimestampsAdds per-line timestamps and an SRT subtitle string (default true)
maxVideosSafety cap, 1–200 — also your budget cap since billing is per transcript

Output (one record per video)

{
"videoId": "7120053846516190469",
"url": "https://www.tiktok.com/@hankgreen1/video/7120053846516190469",
"ok": true,
"title": "Replying to @artemispbj #askhank (posted by @paytmitch)",
"author": "hankgreen1",
"authorName": "Hank Green",
"durationSeconds": 96,
"playCount": 228900,
"likeCount": 22200,
"createTime": "2022-07-14T02:45:25.000Z",
"music": { "title": "original sound", "author": "Hank Green" },
"language": "eng-US",
"isAutoGenerated": false,
"availableLanguages": ["eng-US", "eng-US"],
"cuesAfterDedup": 35,
"wordCount": 295,
"transcript": "A tiny bit technical here. Red shifting is what happens because the universe is expanding ...",
"segments": [{ "start": 0.4, "timestamp": "00:00", "text": "A tiny bit technical here." }],
"srt": "1\n00:00:00,400 --> 00:00:02,260\n..."
}

Videos without captions come back as { "ok": false, "error": "No captions on this video …" } with the metadata included — and are never charged.

Pricing

$0.02 per extracted transcript on the Free plan, less on paid Apify plans. You pay only when a transcript comes back: a video with no captions, a deleted or private video, or a bad link returns an uncharged record. maxVideos caps a run, so it doubles as your budget cap. No start fee, no subscription.

Common uses

  • Feed TikTok content to an LLM (summaries, trend analysis, RAG pipelines)
  • Subtitle files (SRT) for re-edits, translations, accessibility
  • Social listening and creator research with engagement metadata attached
  • Quote mining and content repurposing (video → blog/newsletter)

Notes and honest limits

  • TikTok generates captions only for videos with recognizable speech; silent or music-only videos legitimately have none — you are not charged for those.
  • Transcripts are TikTok's native tracks; if TikTok's own ASR misheard a word, the transcript reflects that.
  • Extraction reads TikTok's public web player data — no login, no cookies, and none of your account credentials are ever involved.

Use from code or AI agents

Run it from any HTTP client and get the transcripts back in the same call:

curl -X POST "https://api.apify.com/v2/acts/eliai~tiktok-transcript-clean/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"videoUrl": "https://www.tiktok.com/@hankgreen1/video/7120053846516190469"}'

Or with the Apify JS client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('eliai/tiktok-transcript-clean').call({
videoUrls: ['https://www.tiktok.com/@hankgreen1/video/7120053846516190469', '7120053846516190469'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

AI agents can call this actor as a tool through Apify's MCP server — an MCP-enabled agent can discover it, read the input schema, and fetch TikTok transcripts autonomously.

FAQ

How do I get the transcript of a TikTok video? Paste the link into videoUrl and run — full links, vm.tiktok.com / tiktok.com/t share-sheet short links, and bare numeric video IDs all work. The transcript field is clean prose; segments and srt carry the timing.

Why did a video come back with "no captions"? TikTok generates captions only for videos with recognizable speech — dances, silent comedy, and music-only videos legitimately have none. You get the video's metadata anyway and are not charged for it.

Is this a re-transcription of the audio? No — transcripts come from TikTok's own caption tracks (including its auto-captions), so the wording matches exactly what viewers see on screen.

Can I get subtitles as an SRT file? Yes. With includeTimestamps on (the default), every result includes a ready-to-use srt string.

Do I need to log in or provide cookies? No — extraction reads TikTok's public web player data. No login, no cookies, no account credentials involved.

Can I transcribe a list of videos at once? Put up to 200 links in videoUrls — one captionless or deleted video never stops the rest, and you pay only per transcript actually extracted.

Which languages are supported? Whatever caption tracks the video carries — set language (e.g. es, de) to prefer one; every record lists availableLanguages so you can see what exists.

For AI agents

This Actor is built to be called by software, not just by people.

  • Mount it directly as an MCP tool — no Store search, no ranking, just this one tool: https://mcp.apify.com/?actors=eliai/tiktok-transcript-clean
  • Or call it over HTTP and get the results in the same request: POST https://api.apify.com/v2/acts/eliai~tiktok-transcript-clean/run-sync-get-dataset-items
  • Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
  • Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.

Changelog

  • 2026-11-01: Fixed an intermittent "Caption track was empty" on videos that do have captions. Some videos carry two tracks in the same language, one of them in a non-subtitle format, and TikTok changes their order between page loads; the Actor now prefers the subtitle-format track and tries the next track if one comes back empty. Output and price are unchanged.
  • 2026-11-01: Page text only: a clearer page heading and the "Try it" block is now headed Example. Code, output and price are unchanged.
  • 2026-09-24: The one-click example is now a Hank Green science explainer (redshift and the James Webb telescope) instead of a clip with strong language. Output, pricing and behaviour are unchanged.
  • 2026-09-24: New summary at the top of this page: what you send, what you get, the price, and a real output from the prefilled example.

Who uses it

  • Content repurposers turning TikTok speech into scripts, posts and captions
  • Researchers searching a batch of videos for what was said
  • Accessibility teams producing SRT subtitles from native captions
  • Brand teams monitoring how creators describe their product
  • Developers and AI agents that need video speech as clean text through an API call