TikTok Transcript Scraper avatar

TikTok Transcript Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
TikTok Transcript Scraper

TikTok Transcript Scraper

Extract transcripts and subtitles from TikTok videos in all available languages. Returns timestamped segments plus full plain-text transcript per language.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(17)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

18

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Share

Extract transcripts (subtitles/captions) from TikTok videos in every available language. Returns both full plain-text and timestamped segments per language — ideal for content analysis, translation, SEO research, and accessibility.

Features

  • All languages at once — one result row per video per language, including creator-provided subtitles and TikTok's machine-translated versions
  • Timestamped segments — precise [start, end, text] cues for each caption
  • Full plain-text transcripts — ready-to-use joined text
  • Video metadata included — author, caption, publish date, duration
  • No cookies required — works against public videos only
  • Anti-detection — Firefox stealth browser, randomized fingerprint

Input

FieldTypeDescription
postUrlsArray of strings (required, min 1)TikTok video URLs to extract transcripts from

Example Input

{
"postUrls": [
"https://www.tiktok.com/@khaby.lame/video/7595604254929210646",
"https://www.tiktok.com/@charlidamelio/video/7594925330234218794"
]
}

Output

One dataset item per (video × language). A video with 6 available languages produces 6 output rows.

FieldTypeDescription
urlStringOriginal video URL
successBooleanWhether a transcript was extracted
messageStringStatus message (empty on success)
postIdStringUnique TikTok video ID
usernameStringAuthor's username
nicknameStringAuthor's display name
captionStringVideo caption/description
publishDateStringHuman-readable UTC publish date
durationIntegerVideo duration (seconds)
languageStringLanguage code (e.g. eng-US, spa, por)
sourceStringCreator (author-provided) or MT (machine-translated)
transcriptStringFull transcript text for this language
segmentsArrayTimestamped cues: [{start, end, text}, ...]
segmentCountIntegerNumber of segments

Example Output (one row)

{
"url": "https://www.tiktok.com/@khaby.lame/video/7595604254929210646",
"success": true,
"message": "",
"postId": "7595604254929210646",
"username": "khaby.lame",
"nickname": "Khabane lame",
"caption": "Try something different next time #learnfromkhaby",
"publishDate": "2026-01-15 15:03:52",
"duration": 16,
"language": "eng-US",
"source": "Creator",
"transcript": "Hey guys welcome back to another video ...",
"segments": [
{ "start": 0.0, "end": 2.5, "text": "Hey guys welcome back" },
{ "start": 2.5, "end": 4.2, "text": "to another video" }
],
"segmentCount": 2
}

FAQ

Q: Do I need to provide cookies or a login? No. The scraper works entirely with public TikTok videos.

Q: What if a video has no subtitles? The scraper emits one row per video with success=false and message="No transcript available". All metadata fields remain populated.

Q: How many rows will I get per video? One row per available language. TikTok often provides 5–10 languages per popular video (one creator-uploaded plus several machine translations).

Q: Are machine-translated captions included? Yes. The source field tells you whether a transcript was uploaded by the creator (Creator) or auto-translated by TikTok (MT).

Q: Which video URL formats are supported? Standard TikTok video URLs such as https://www.tiktok.com/@username/video/1234567890123456789.

Q: Can private or deleted videos be scraped? No. Private, deleted, or region-restricted videos will return a failure row with an explanatory message.

Limitations

  • Only public videos are supported
  • Some videos may be region-restricted
  • Videos without any TikTok-generated captions cannot produce transcripts