Pricing
$5.00/month + usage
Go to Apify Store
Youtube Transcript
Extract transcripts (with timestamps) from YouTube videos.
Pricing
$5.00/month + usage
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 months ago
Last modified
Categories
Share
YouTube Transcript Scraper
A high-performance scraper to extract transcripts and subtitles directly from YouTube videos.
โน๏ธ This scrapes public YouTube transcripts โ no authentication required. It uses lightweight HTTP requests instead of heavy browser automation for maximum speed.
Features
- Batch URL Processing: Extract transcripts from multiple YouTube videos in a single run.
- Timestamp Mode: Optionally include timestamps indicating exactly when each spoken segment occurs.
- Smart Fallback Mechanisms: Automatically tries multiple internal YouTube APIs (InnerTube, then HTML scraping fallback) for maximum reliability.
- Clean Text Parsing: Cleanly handles complex XML subtitle structures and HTML entities to return pure text.
- High Performance Execution: Runs fully headless via pure HTTP GET/POST requests, vastly outperforming Puppeteer approaches.
- Proxy Support: Integrates Apify Proxies seamlessly via Undici to bypass region or rate-limit blocks.
Input Parameters
| Parameter | Type | Description |
|---|---|---|
startUrls | Array | A list of YouTube video URLs to process (max 3 per run). |
includeTimestamps | String | "Yes" to return timestamps with text, or "No" (default) for a single combined plain text string. |
proxy | Object | Proxy configuration. Recommended for preventing region blocking. |
Output
Data is stored in the default dataset in JSON format.
Example: Plain Text Mode (includeTimestamps="No")
{"url":"https://www.youtube.com/watch?v=J9DwXeAtWrs","transcript":"When the Romans officially pulled out of Britain in the fourth and fifth centuries AD, they left in their wake a patchwork of Brethonic and Romano British kingdoms scattered throughout [music] the island. Just like on the mainland, however, it didn't take long for warlike peoples on the peripheries to move in and take","error":null}
Example: With Timestamps (includeTimestamps="Yes")
{"url":"https://www.youtube.com/watch?v=J9DwXeAtWrs","transcript":[{"timestamp":"0:02","text":"When the Romans officially pulled out of"},{"timestamp":"0:04","text":"Britain in the fourth and fifth"},{"timestamp":"0:06","text":"centuries AD,"},{"timestamp":"0:09","text":"they left in their wake a patchwork of"},{"timestamp":"0:12","text":"Brethonic and Romano British kingdoms"},{"timestamp":"0:16","text":"scattered throughout [music] the island."},{"timestamp":"0:21","text":"Just like on the mainland, however, it"},{"timestamp":"0:23","text":"didn't take long for warlike peoples on"},{"timestamp":"0:26","text":"the peripheries to move in and take"}],"error":null}
