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

18

Total users

13

Monthly active users

17 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