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
(1)
Developer
Actor stats
1
Bookmarked
123
Total users
34
Monthly active users
2 months 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
