TikTok Transcript Scraper avatar

TikTok Transcript Scraper

Pricing

from $0.60 / 1,000 video transcripts

Go to Apify Store
TikTok Transcript Scraper

TikTok Transcript Scraper

Get the full transcript of any TikTok video, with timestamps. Uses TikTok captions when available and AI speech-to-text for videos without them. Add video links or whole profiles. SRT subtitles, 90+ languages, no login needed.

Pricing

from $0.60 / 1,000 video transcripts

Rating

0.0

(0)

Developer

Coder

Coder

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Get the full spoken transcript of any public TikTok video, with timestamps, as clean structured data, fast.

Add video links or whole profiles and export the transcripts as JSON, CSV or Excel, or pull them through the Apify API. Results appear in your dataset while the run is still going.

What This Actor Does

  • One row per video with the full transcript, timestamped segments and the video's main stats
  • Uses TikTok's own captions when the video has them
  • Videos without captions (about half of TikTok) are transcribed with AI speech-to-text, in 90+ languages
  • Works with video links, short links (vm.tiktok.com, vt.tiktok.com) and profiles (their latest videos)
  • Optional SRT subtitles for each video, ready for video editors and players
  • Videos with only music and videos that cannot be transcribed still get a row explaining why, free of charge

Best For

  • Content research and repurposing TikTok videos into blogs, posts and newsletters
  • Feeding transcripts into AI tools, LLMs and RAG pipelines
  • Studying hooks, scripts and talking points of creators and competitors
  • Brand and product mention monitoring in what creators actually say
  • Accessibility and subtitles

Input

FieldWhat it does
videoUrlsVideo links, one per row, e.g. https://www.tiktok.com/@gordonramsayofficial/video/7138842940956216582
profilesUsernames or profile links; their latest videos are transcribed
maxVideosPerProfileHow many of each profile's latest videos to transcribe (default 10)
newerThanProfiles only: skip older videos, e.g. 2026-09-01 or 7 days
aiTranscriptionTranscribe videos without TikTok captions with AI (default on)
languageauto (default) or a language code such as en, es, ur: preferred caption language, and the spoken language for AI
includeSrtAlso add each transcript as SRT subtitles (default off)

Example input

{
"videoUrls": [
"https://www.tiktok.com/@gordonramsayofficial/video/7138842940956216582"
],
"profiles": ["storystaticc_"],
"maxVideosPerProfile": 20,
"includeSrt": true
}

Output

One table with one row per video. transcriptSource says how the transcript was made: tiktok_captions (TikTok's own captions) or ai (AI speech-to-text). The table shows the most useful columns; every field, including the timestamped segments, is included when you export or use the API.

Fields

FieldDescription
transcript, wordCountThe full transcript as one text, and its number of words
segmentsThe transcript in timed parts: start and end in seconds, text
transcriptSource, audioMinutestiktok_captions or ai; for ai, the started minutes of audio
transcriptLanguage, isTranslationLanguage of the transcript; true when it is TikTok's translation
availableCaptionLanguagesEvery caption language TikTok has for the video
srtSRT subtitles (when includeSrt is on)
hasSpeech, notefalse with a note when the video has no spoken words (not charged)
id, url, caption, createdAt, durationSecondsVideo ID, link, caption text, post date and length
viewCount, likeCount, commentCount, shareCountEngagement counts
author, musicTitleThe creator (ID, username, name, verified, followers) and the sound
sourceYour link, or the profile the video came from
error, errorCodeOnly on videos that could not be transcribed (not charged)
scrapedAtWhen the row was collected

Example output

{
"id": "7138842940956216582",
"url": "https://www.tiktok.com/@gordonramsayofficial/video/7138842940956216582",
"caption": "#Toast the weekend with this #garlic #tomato toast #recipe ! ...",
"createdAt": "2022-09-02T17:56:41Z",
"durationSeconds": 42,
"viewCount": 15900000,
"likeCount": 1600000,
"author": { "username": "gordonramsayofficial", "name": "Gordon Ramsay", "verified": true },
"musicTitle": "original sound",
"hasSpeech": true,
"transcript": "so if you feel adventurous, follow this. that's not rocket science, is it? that's common sense...",
"wordCount": 27,
"transcriptSource": "tiktok_captions",
"transcriptLanguage": "en",
"isTranslation": false,
"segments": [
{ "start": 0.04, "end": 2.66, "text": "so if you feel adventurous, follow this." },
{ "start": 15.2, "end": 19.5, "text": "that's not rocket science, is it? that's common sense." }
],
"availableCaptionLanguages": ["en"],
"scrapedAt": "2026-10-06T12:01:50Z"
}

A video with only music:

{
"id": "7623088450576633119",
"url": "https://www.tiktok.com/@khaby.lame/video/7623088450576633119",
"hasSpeech": false,
"transcript": "",
"note": "No spoken words were found (music or sounds only)."
}

How To Use

  1. Add video links, profiles, or both.
  2. Leave AI transcription on to also get videos without TikTok captions.
  3. Run the Actor and open the Output tab, export the results, or read them through the Apify API.

Pricing

This Actor uses pay-per-event pricing, so you only pay for transcripts you receive:

  • Transcript: each video transcript saved to your dataset
  • AI transcription minute: an add-on for transcripts made with AI speech-to-text (videos without TikTok captions), per started minute of audio. Most TikTok videos are under 2 minutes
  • Actor start: a small fee each time a run starts

Rows for videos without speech, and for videos that could not be transcribed, are free. Current prices for each Apify plan are shown on the Actor's Pricing tab. To pay only for caption transcripts, turn AI transcription off.

If a run reaches the maximum cost you set for it, it stops cleanly and keeps everything collected so far.

Free plan

On the Apify free plan every feature is available to try, with smaller amounts per run: up to 10 links or profiles, 5 videos per profile and 10 minutes of AI transcription per run (caption transcripts are not limited by minutes). Upgrade to a paid Apify plan to remove these limits.

Best Practices

  • For the best accuracy on videos that mix languages, prefer videos with TikTok captions, or set language to the main spoken language.
  • To collect a creator's new videos regularly, schedule a run with their profile and newerThan set to 7 days.

FAQ

How accurate are the transcripts?

TikTok captions and AI transcripts are both very accurate on clear speech. The AI handles accents and 90+ languages; heavy background music or several people talking at once lower the accuracy.

What about videos with a song?

When the video's sound is a song, the transcript may contain the song's lyrics as well as any speech. Videos with only instrumental music get hasSpeech: false and are not charged.

Can I get the transcript in another language?

When TikTok has captions in your language (including TikTok's own translations), you get them. Otherwise you get the transcript in the spoken language.

Collect the video links with the TikTok Scraper or TikTok Hashtag Scraper, then add them here.

Responsible Use

This Actor collects publicly available data only. Make sure your use complies with TikTok's terms, applicable laws and data-protection rules such as the GDPR, especially when you process personal data.

Troubleshooting

  • A row has error filled in: the video was removed, made private or restricted, or no transcript could be made right now. Open it in a browser to check, or try it again in a new run. These rows are not charged.
  • A row has hasSpeech: false: the video has no spoken words (music, sounds or a photo slideshow). Not charged.
  • A link was skipped: it opens a hashtag or sound instead of a video or profile.

If something still does not work, open an issue on the Actor's Issues tab with your run link and we will take a look.