TikTok Transcript Scraper
Pricing
from $3.00 / 1,000 results
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
Actor stats
18
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
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
| Field | Type | Description |
|---|---|---|
postUrls | Array 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.
| Field | Type | Description |
|---|---|---|
url | String | Original video URL |
success | Boolean | Whether a transcript was extracted |
message | String | Status message (empty on success) |
postId | String | Unique TikTok video ID |
username | String | Author's username |
nickname | String | Author's display name |
caption | String | Video caption/description |
publishDate | String | Human-readable UTC publish date |
duration | Integer | Video duration (seconds) |
language | String | Language code (e.g. eng-US, spa, por) |
source | String | Creator (author-provided) or MT (machine-translated) |
transcript | String | Full transcript text for this language |
segments | Array | Timestamped cues: [{start, end, text}, ...] |
segmentCount | Integer | Number 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