TikTok Transcript Scraper avatar

TikTok Transcript Scraper

Pricing

from $0.90 / 1,000 tiktok transcript rows

Go to Apify Store
TikTok Transcript Scraper

TikTok Transcript Scraper

Extract public TikTok transcripts, captions, timed segments, VTT/SRT subtitles, and video metadata from TikTok video URLs. Export rows to datasets, API, CSV, Excel, or integrations.

Pricing

from $0.90 / 1,000 tiktok transcript rows

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

5

Monthly active users

5 days ago

Last modified

Share

📄 Get TikTok transcripts from public video URLs

TikTok Transcript Scraper extracts public captions and transcripts from TikTok videos. Paste one or more TikTok video URLs and get plain transcript text, timed transcript segments, VTT/SRT subtitle text, video metadata, creator fields, engagement counts, music details, and source links in an Apify dataset.

Use this TikTok transcript scraper when you need searchable text from short-form videos for content research, social listening, accessibility workflows, trend analysis, creator analysis, or AI pipelines. It works with public videos only, and it returns transcripts when TikTok exposes public captions for that video.

For a small first run, keep the prefilled TED Talks video URL. It has public captions, so you can quickly check the transcript row shape before adding more TikTok links.

⚙️ What this TikTok transcript scraper does

  • Accepts public TikTok video URLs, including desktop, mobile, and short-link formats.
  • Saves one dataset row per video transcript language.
  • Saves plain transcript text and timestamped segments.
  • Can include generated VTT and SRT subtitle text.
  • Adds video metadata such as caption, publish time, duration, thumbnail, hashtags, and video ID.
  • Adds creator metadata such as username, display name, verification status, signature, and visible author stats.
  • Adds visible engagement stats such as plays, likes, comments, shares, and collects.
  • Adds music or original-sound metadata when TikTok exposes it.
  • Can save a no-transcript status row when a public video has no public captions.

📊 Data you can get

Each transcript row includes source fields so you can trace it back to the exact TikTok URL. Core fields include:

  • inputUrl, resolvedUrl, inputIndex, and videoId
  • status and statusReason
  • languageCode and transcriptSource
  • transcriptText
  • segments with start time, end time, and text
  • segmentCount and scrapedAt
  • subtitleFormats.vtt and subtitleFormats.srt when enabled
  • username, authorName, caption, publishedAt, and durationSeconds
  • video, author, engagement, and music objects when their metadata toggles are enabled

Some fields can be null when TikTok does not show them on the public video page. Videos without public captions can still return a status row when Save no-transcript rows is on.

🚀 Common use cases

  • Turn TikTok captions into searchable text for content analysis.
  • Export TikTok video transcripts to JSON, CSV, Excel, or an API workflow.
  • Collect hooks, spoken topics, and script patterns from public videos.
  • Build datasets for social listening, brand monitoring, or trend research.
  • Feed transcript text, timing, and video metadata into AI summarization or classification.
  • Create subtitle-ready VTT/SRT files when TikTok exposes captions.
  • Track which public videos have captions and which do not.

▶️ How to run it

  1. Add one or more public TikTok video URLs in TikTok video URLs.
  2. Keep Languages per video at 10, or lower it for a smaller first run.
  3. Optional: add language codes such as en, eng-US, es, or fr in Language filter.
  4. Choose whether to include metadata, VTT/SRT formats, and no-transcript status rows.
  5. Start the Actor and open the dataset.

The default input is intentionally small. After checking the row shape, add more TikTok video URLs or call the Actor through the Apify API, scheduler, webhooks, or integrations.

🛠️ Input

🧪 Example input

{
"videoUrls": [
{
"url": "https://www.tiktok.com/@tedtoks/video/7295065135788477742"
}
],
"maxTranscriptLanguagesPerVideo": 10,
"languageFilter": [],
"includeNoTranscriptRows": true,
"includeSubtitleFormats": true,
"includeVideoMetadata": true,
"includeAuthorMetadata": true,
"includeEngagementStats": true,
"includeMusicMetadata": true
}

🎛️ Input fields

FieldWhat it does
videoUrlsPublic TikTok video URLs to read. Desktop, mobile, and short links are accepted.
maxTranscriptLanguagesPerVideoCaps how many transcript-language rows can be saved for each video.
languageFilterOptional language codes to keep. Leave empty to keep every public transcript language.
includeNoTranscriptRowsSaves a status row for videos with no public captions or no matching language.
includeSubtitleFormatsAdds VTT and SRT subtitle text to transcript rows.
includeVideoMetadataAdds caption, publish time, duration, thumbnail, hashtags, and video fields.
includeAuthorMetadataAdds public creator profile fields and visible author stats.
includeEngagementStatsAdds visible play, like, comment, share, and collect counts.
includeMusicMetadataAdds public sound or music fields when available.

📦 Output example

{
"inputIndex": 1,
"inputUrl": "https://www.tiktok.com/@washingtonpost/video/7221954260248939822",
"resolvedUrl": "https://www.tiktok.com/@washingtonpost/video/7221954260248939822",
"videoId": "7221954260248939822",
"status": "ok",
"statusReason": null,
"username": "washingtonpost",
"authorName": "The Washington Post",
"caption": "The newly processed, sharper image of a black hole...",
"publishedAt": "2023-04-14T17:11:07.000Z",
"durationSeconds": 30,
"languageCode": "eng-US",
"transcriptSource": "ASR",
"transcriptText": "You remember this black hole image...",
"segments": [
{
"index": 1,
"startSeconds": 0.158,
"endSeconds": 2.661,
"text": "You remember this black hole image we took 4 years ago?"
}
],
"segmentCount": 15,
"subtitleFormats": {
"vtt": "WEBVTT...",
"srt": "1\n00:00:00,158 --> 00:00:02,661\nYou remember this black hole image..."
},
"engagement": {
"playCount": 4500000,
"likeCount": 357100,
"commentCount": 1222,
"shareCount": 3272,
"collectCount": 20177
},
"scrapedAt": "2026-05-22T19:06:02.434Z"
}

The exact number of rows depends on how many public transcript languages TikTok exposes for each video and your language limit.

💳 Pricing

This Actor uses pay-per-event pricing:

  • Actor start: $0.001 per run.
  • TikTok transcript: $0.0009 per saved transcript or no-transcript status.

The default prefill is small, so you can inspect the dataset before running a larger batch.

⚠️ Limits and caveats

  • Only public TikTok videos are supported.
  • The Actor does not use TikTok login, cookies, or private account access.
  • It returns transcripts only when TikTok exposes public captions or subtitle files for the video.
  • Private, deleted, unavailable, or region-restricted videos may return no transcript or an explanatory status row.
  • Some videos expose only one language; others expose creator captions plus machine-translated captions.
  • This Actor does not download TikTok videos or audio files.
  • This Actor does not search TikTok profiles, hashtags, comments, or feeds. Paste direct video URLs.

❓ FAQ

🔐 Does this TikTok transcript scraper need cookies?

No. It reads public TikTok video pages and public caption files. It does not ask for TikTok cookies, login details, or an API key.

🌐 Can it scrape TikTok captions in multiple languages?

Yes, when TikTok exposes multiple public caption tracks for the video. The Actor saves one row per transcript language up to your Languages per video limit.

🚦 What happens when a video has no transcript?

If Save no-transcript rows is enabled, the Actor saves one status row for that video. If it is disabled, videos without matching public captions produce no row.

📤 Can I export TikTok transcripts to CSV or Excel?

Yes. Results are saved to an Apify dataset, which you can export as JSON, CSV, Excel, XML, RSS, or through the Apify API.

🤖 Does it transcribe audio with AI?

No. This Actor extracts public captions and subtitle files that TikTok exposes. It does not download audio or create new AI transcripts from videos that have no public captions.

🔗 Can I scrape a TikTok profile or hashtag?

No. This Actor is focused on direct TikTok video URLs. Profile, hashtag, search, comment, and feed scraping are outside this Actor.

📝 Changelog

  • 0.0: Initial release.
  • 0.1: Updated pricing event copy.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré