Youtube Transcript
Pricing
$5.00/month + usage
Go to Apify Store
Pricing
$5.00/month + usage
Rating
0.0
(0)
Developer
Canadesk Support
Maintained by Community
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days 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}