TikTok Transcript Scraper avatar

TikTok Transcript Scraper

Pricing

from $0.70 / 1,000 results

Go to Apify Store
TikTok Transcript Scraper

TikTok Transcript Scraper

Rewatching TikToks to take notes wastes hours. Get clean transcripts instead: timestamped text, every subtitle language, AI speech-to-text when captions are missing and translation into 133 languages, plus video and author data. No login.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

Crawl Craft

Crawl Craft

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

What is TikTok Transcript Scraper?

TikTok Transcript Scraper is an Apify Actor that turns public TikTok videos into transcripts. Paste video links, short links or IDs and it returns, when available, the spoken text, timed segments, subtitle tracks and an optional translation, plus video, author and music details. Use it to scrape TikTok transcript text without a login.

  • Timed transcripts: get the transcript as plain text and as sentence segments, so you can search or quote an exact moment.
  • Every subtitle language: keep all TikTok subtitle tracks for a video, or filter to the languages you need.
  • TikTok speech to text when captions are missing: AI speech-to-text transcribes videos that have no subtitles, or every video if you prefer.
  • Translation into 133 languages: receive a time-aligned translated copy next to the original.
  • Bulk input: paste a long list of videos, or link a .txt file with one entry per line.

Click Try for free, paste your TikTok video links and press Start.

What data can you extract from TikTok?

TikTok Transcript Scraper returns one record per input video. The data is spread over several table views in the Output tab, and you can export it as JSON, CSV or Excel. It sits next to video details such as views and likes. Field names below match the dataset schema exactly. Some fields depend on your input: translation is empty when you do not choose a target language, and whisper is an object whose ran is false and whose status says why speech-to-text did not run.

FieldDescriptionExample
transcriptTranscript language, full text and sentence-level segments with HH:MM:SS.mmm timestamps.-
transcriptTextThe full transcript as plain text.-
segmentsTimed transcript lines: start and end in seconds, plus text.-
segmentCountNumber of timed transcript lines.37
transcriptDurationEnd time of the last transcript line in seconds.82.061
transcriptSourcetiktok_subtitle (TikTok's subtitles) or whisper (AI speech-to-text); empty when there is no transcript.tiktok_subtitle
transcriptLanguageIsoTwo-letter language code of the transcript.en
transcriptWordCountWord count of the transcript.237
transcriptCharCountCharacter count of the transcript.1252
languageCodeLanguage code of the transcript track.eng-US
subtitlesAvailableTrue when TikTok has subtitles for the video (after the language filter).true
availableSubtitleLanguagesLanguage codes of all subtitle tracks returned.-
subtitlesEvery subtitle track: language, source, links, size, segments and full text.-
subtitleUrlTikTok's link to the subtitle file (expires after about two days).-
translationTranslated transcript (language, source, text and timed segments); empty when not requested.-
whisperSpeech-to-text result: whether it ran, model, detected language, segments, transcript and status.-
textVideo caption exactly as shown on TikTok (line breaks kept).Say hello to GPT-4o...
createTimeISOUpload time (ISO 8601, UTC).2024-05-13T17:35:20.000Z
playCountNumber of views.5900000
diggCountNumber of likes (hearts).483100
commentCountNumber of comments.5548
shareCountNumber of shares.117400
collectCountNumber of times the video was saved.48452
repostCountNumber of reposts.0
hashtagsHashtags with ID and name.-
mentions@mentions in the caption.-
videoMetaSize, duration, quality, covers, play / download links and subtitle links.-
authorMetaAuthor profile: username, name, verification, bio, bio link, followers, likes, videos, avatar, business info and settings.-
musicMetaSound used in the video: name, artist, original flag, duration, cover and audio link.-
locationMetaTagged place (address, city, country), when the video has one.-
webVideoUrlCanonical link to the video.https://www.tiktok.com/@openai/video/7368539099893927214
submittedVideoUrlThe entry exactly as you gave it.https://www.tiktok.com/@openai/video/7368539099893927214
statusok, or error when the video could not be loaded.ok
errorWhy the video could not be loaded (deleted, private, invalid input or blocked).-

Other fields in the dataset include isAd, isSponsored, isSlideshow, isPinned, isAigc, locationCreated, categories, tags, stickerTexts, duetEnabled, stitchEnabled and commentsEnabled. The Output tab groups them into nine views: Overview, Transcript, Subtitles, Translation, AI speech-to-text, Video and engagement, Video details, Author and Music.

Use cases for TikTok data

  • Content research: use TikTok video speech to text on competitor clips, then read each transcript next to playCount, diggCount and shareCount to see which topics and hooks perform.
  • Content analysis: feed transcriptText into your own text analysis or a TikTok transcript AI workflow to find themes, keywords and questions across many videos.
  • Accessibility and archiving: treat the Actor as a TikTok video transcript downloader that also saves the original subtitle files to a key-value store you name.
  • Localization: use the translation field to read videos in another language, or to prepare TikTok subtitles in a different language for a new audience.
  • Brand and sponsor monitoring: read what is said in a video, as a TikTok video transcriber would, next to flags such as isAd and isSponsored.
  • Academic and market research: build a dataset of spoken text with hashtags, region and upload dates, collected with a TikTok video transcript extractor in one run.
  • Repurposing content: turn a spoken video into a blog post, script or social caption, using the output of a TikTok video transcript generator as your first draft.

How to scrape TikTok transcripts

  1. Create a free Apify account.
  2. Open TikTok Transcript Scraper.
  3. Paste one or more TikTok video links, short links or numeric video IDs into TikTok video URLs (urls).
  4. Choose the TikTok transcription mode in Subtitles & transcription (downloadSubtitlesOptions), and optionally a subtitle language or a translation target.
  5. Click Start and wait for the run to finish.
  6. Export TikTok transcript results as JSON, CSV or Excel from the Output tab.

How to get TikTok transcript text for videos without subtitles

Set downloadSubtitlesOptions to DOWNLOAD_AND_TRANSCRIBE_VIDEOS_WITHOUT_SUBTITLES. TikTok's own subtitles are used when they exist, and AI speech-to-text creates a transcript for the rest. Use TRANSCRIBE_ALL_VIDEOS to run speech-to-text on every video, which turns the Actor into a TikTok transcript generator for every clip. Videos with no speech, and photo posts, can still come back without a transcript. You will find the result in whisper and transcriptText.

How to download TikTok subtitles in one language

Select the languages you want in languages; all regional variants are kept, so English keeps eng-US and eng-GB. To keep the subtitles as files, enter a storage name in videoKvStoreIdOrName; every track is saved there as a .vtt file. Leave languages empty to keep every language. With languages set, the Actor runs as a TikTok video subtitle extractor for only the tracks you need.

How to translate TikTok video to English

Pick english in translate. To translate TikTok video to Spanish, pick spanish instead; any of the 133 languages in the list works. TikTok's own translated subtitles are used when they exist for that language, and the result is stored in translation with time-aligned segments.

How to get transcripts in bulk

A TikTok transcript bulk run only needs a long list in urls, one entry per line, or a link to a .txt file with one entry per line. Duplicates are removed. Raise concurrency (1 to 10, default 4) to process more videos at the same time.

How to use it as a TikTok video to text converter

Choose a speech-to-text option and the Actor can transcribe TikTok audio to text for videos with speech. Pick a model in transcriptionModel; the default is base. The speech-to-text details are stored in whisper, and the text is in transcriptText.

How much does it cost to scrape TikTok transcripts?

This TikTok transcripts scraper uses the pay-per-event model: the price depends on your Apify plan, and each video record saved to the dataset counts as one main_result event. The price per 1,000 results is:

Apify planPrice per 1,000 results
Free$1
Bronze$0.9
Silver$0.8
Gold / Platinum / Diamond$0.7

For example, on the Free plan 1,000 videos cost $1. Videos that cannot be loaded (deleted, private, invalid or blocked) are saved as error rows without that event. Each run also has a small start charge of $0.00005 (the Actor Start event).

On the Apify free plan, each run processes up to 10 videos, so you can get a TikTok transcript free of charge for small tests; paid plans have no per-run cap. See the Pricing tab for current rates.

Input

The only required field is urls, the list of TikTok videos. It accepts full video links, photo-post links, short links (vm.tiktok.com, vt.tiktok.com, tiktok.com/t/...), bare numeric video IDs and links to a .txt file. Everything else is optional. See the Input tab for every option.

TikTok Transcript Scraper input form with TikTok video URLs and subtitle options

Example input:

{
"urls": [
"https://www.tiktok.com/@openai/video/7368539099893927214"
],
"downloadSubtitlesOptions": "DOWNLOAD_SUBTITLES"
}
ParameterWhat it does
urlsTikTok videos to get transcripts for, one per line.
downloadSubtitlesOptionsDOWNLOAD_SUBTITLES (TikTok subtitles only, default), DOWNLOAD_AND_TRANSCRIBE_VIDEOS_WITHOUT_SUBTITLES or TRANSCRIBE_ALL_VIDEOS.
languagesKeep only subtitle tracks in the selected languages. Empty keeps every language.
transcriptionModelSpeech-to-text model: tiny, base (default), small, medium, large-v3 or distil-large-v3.
transcriptionLanguageOptional two-letter code of the spoken audio, for example en. Empty detects the language automatically.
translateOptional target language for a translated, time-aligned copy of the transcript.
videoKvStoreIdOrNameOptional key-value store name where subtitle and speech-to-text files are saved.
keepDownloadedVideosAlso store the MP4 that was downloaded for speech-to-text. Needs a storage name and a speech-to-text option.
enrichAuthorProfileAdds the author's bio link, business category, language and organisation flag. Turn off for faster runs. On by default.
concurrency, maxRetries, requestDelay, timeoutSpeed and retry settings.
proxyConfigurationOptional proxy choice.

๐Ÿ’ก Start with a few videos to check the result before you run a long list.

Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields. Choose the Transcript view to read each transcript next to its language and word count. The Output tab also offers a combined JSON file with every record of the run.

TikTok Transcript Scraper output table with transcript, language and view counts

You can export the dataset as JSON, CSV or Excel. The subtitles field covers a TikTok subtitles download with every track.

Example output for the input above, shortened to the fields that have example values in the dataset schema:

{
"id": "7368539099893927214",
"text": "Say hello to GPT-4o...",
"textLanguage": "en",
"createTime": 1715621720,
"createTimeISO": "2024-05-13T17:35:20.000Z",
"locationCreated": "US",
"isAd": false,
"hasTikTokShopProduct": false,
"webVideoUrl": "https://www.tiktok.com/@openai/video/7368539099893927214",
"diggCount": 483100,
"shareCount": 117400,
"playCount": 5900000,
"collectCount": 48452,
"commentCount": 5548,
"repostCount": 0,
"isSlideshow": false,
"submittedVideoUrl": "https://www.tiktok.com/@openai/video/7368539099893927214",
"author": "openai",
"author_id": "7256178298626032683",
"author_url": "https://www.tiktok.com/@openai",
"duration": 82,
"audio_title": "original sound",
"audio_artist": "OpenAI",
"languageCode": "eng-US",
"subtitleFormat": "webvtt",
"segmentCount": 37,
"transcriptDuration": 82.061,
"transcriptSource": "tiktok_subtitle",
"transcriptLanguageIso": "en",
"transcriptWordCount": 237,
"transcriptCharCount": 1252,
"subtitlesAvailable": true,
"status": "ok"
}

The real record also contains the full transcript in transcript and transcriptText, the timed segments, and the nested videoMeta, authorMeta and musicMeta objects described in the field table.

Limitations and error handling

  • Public videos only: private videos cannot be read and are reported as not available.
  • Free plan cap: free plan runs process up to 10 videos per run. Paid plans have no per-run cap.
  • Speech-to-text takes time: with the default 1 GB of memory, expect roughly 1 to 5 minutes per minute of video. More memory in the run options makes it faster, and the medium, large-v3 and distil-large-v3 models need 4 GB or more.
  • Subtitle links expire: without a storage name in videoKvStoreIdOrName, links point to TikTok's own subtitle files, which expire after about two days.
  • Translation depends on the source: if a translation cannot be produced, the translation object carries an error message instead of text.
  • Not every video has speech: a music-only or silent video can come back without a transcript.
  • Subtitle availability: a TikTok subtitle extractor can only return what TikTok provides, so videos without subtitles need a speech-to-text option.

Every input entry gets a row, even when it fails. Check these fields:

FieldValuesMeaning
statusokThe video was loaded.
statuserrorThe video could not be loaded. error explains why: deleted, private, invalid input or blocked.
inputTypeurl, short_url, id, invalidHow TikTok Transcript Scraper read your entry.

Error rows are not charged. If a video is reported as blocked, run it again later.

Integrating TikTok Transcript Scraper with other apps

You can run TikTok Transcript Scraper from the Console, call it through the Apify API, schedule it, or trigger a webhook when a run finishes. Each Output tab view is also available through the API as a dataset view, so a script or workflow can read just the transcript or just the author data. Feed the dataset into your own TikTok video transcript tool or spreadsheet. See the API tab for ready-made JavaScript, Python and CLI snippets. For more options, read the Apify integrations documentation.

Other TikTok scrapers by crawl_craft

ActorWhat it extractsWhen to use it
TikTok Video ScraperCaptions, hashtags, views, likes, comments, shares, author and music data, watermark-free video downloads and transcripts.Use it when you mainly need video statistics and video file downloads.
TikTok User Search ScraperFull creator profiles from a keyword search: username, bio, bio link, followers, likes, videos, verified, TikTok Shop and live status.Use it first to find creators, then bring their video links here for transcripts.

Use this TikTok video transcript scraper when the spoken text, subtitle languages, speech-to-text and translation are the point.

TikTok Transcript Scraper works on public TikTok videos and needs no login; private videos are reported as not available. Results can still contain personal data, such as author names and usernames, so only collect it with a legitimate reason. Consider data protection rules such as GDPR (Regulation (EU) 2016/679) and TikTok's terms, and consult a lawyer if you are unsure. Read more about the legality of web scraping and ethical web scraping.

โ“ FAQ

How to get the full transcript of a TikTok video?

Paste the video link into urls and click Start. As a TikTok transcript extractor, the Actor returns the transcript in transcriptText and as timed segments. For a video that has no captions, choose a speech-to-text option in downloadSubtitlesOptions.

Is it a TikTok subtitle scraper or a speech-to-text tool?

Both. It acts as a TikTok subtitles extractor when TikTok has subtitles, and you get every track. When it does not, AI speech-to-text generates the transcript. transcriptSource shows which one produced the text.

Is there a TikTok transcript downloader for subtitle files?

Yes. Export the dataset as JSON, CSV or Excel. When you name a storage in videoKvStoreIdOrName, each subtitle track is saved there as a .vtt file, so a TikTok video subtitles download takes one run.

How much does it cost?

You pay $1 per 1,000 results on the Free plan and less on paid plans, on the pay-per-event model, and one saved video record is one result. Free plan runs are capped at 10 videos, enough to try a TikTok video transcript free of charge. See the Pricing tab for current rates.

Do I need an account, API key or proxies?

You need an Apify account to run the Actor, but no TikTok login is needed. Proxy settings are optional (proxyConfiguration).

How many videos can I process?

Free plan runs process up to 10 videos per run. Paid plans have no per-run cap. Run a small test first to confirm the output fits your needs.

Can I scrape private videos?

No. Private videos are reported as not available.

Can I use it as a TikTok transcript API?

Yes. Through the Apify API it works as a TikTok video transcript API: start a run and read the dataset items afterwards, for example from Python or Node.js with the Apify client libraries. Each Output tab view is available as ?view=transcript, ?view=subtitles and so on.

How can I get TikTok transcripts with timestamps?

The segments field holds each line with start and end in seconds, and transcript holds sentence segments with HH:MM:SS.mmm timestamps. That gives you a TikTok transcript with timestamps, ready for search, quoting or subtitle files.

Can it work as a TikTok caption scraper?

Yes. As a TikTok caption extractor, it returns each caption in text exactly as shown on TikTok, together with hashtags and mentions.

Your feedback

Found a bug or need another field? Open a ticket in the Actor's Issues tab and we will take a look. For a custom solution, such as a tailored TikTok transcript tool or a different output format, write to hello.crawlcraft@gmail.com.