YouTube Transcript Extractor (JSON, Plain Text, SRT ,VTT)
Pricing
Pay per usage
YouTube Transcript Extractor (JSON, Plain Text, SRT ,VTT)
YouTube Transcript Extractor – This Apify Actor extracts transcripts from YouTube videos in multiple languages and output formats.Provides detailed timestamps for each segment. Supports plain text, JSON, SRT, and WebVTT, delivering clean, structured transcript data for analysis, AI,or accessibility.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Mubeen Ali
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
YouTube Transcript Extractor (Subtitles, Captions, SRT, VTT, JSON)
Scrap YouTube video transcripts, subtitles, and captions in multiple formats with precise timestamps. Perfect for content creators, researchers, developers, and accessibility professionals who need reliable transcript data from YouTube videos.
📋 Overview
This Apify Actor extracts transcripts from YouTube videos.It supports multiple output formats, multiple languages, and provides detailed timestamp information for each segment. Whether you need plain text for analysis, JSON for processing, or subtitle formats (SRT/WebVTT) for video editing, this actor delivers clean, structured transcript data.
✨ Key Features
- Multiple Format Support: Export transcripts as Plain Text, JSON, WebVTT, or SRT
- Multi-Language Support: Extract transcripts in 20+ languages including English, Hindi, Spanish, Chinese, French, German, and more
- Precise Timestamps: Get accurate start time, end time, and duration for each transcript segment
- Batch Processing: Process multiple YouTube videos in a single run
- Manual & Auto-Generated Transcripts: Automatically fetches manually created transcripts first, falls back to auto-generated captions
- Flexible Input: Accepts YouTube URLs (multiple formats) or direct video IDs
- Clean Output: Removes HTML tags and formatting artifacts for clean text output
- Segment Indexing: Each transcript segment is numbered for easy reference
📥 Input Configuration
Configure the actor using the following input parameters:
Required Parameters
| Parameter | Type | Description |
|---|---|---|
videoUrls | Array | Required. List of YouTube video URLs or video IDs to process |
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
languages | Array | ["en"] | Preferred language codes for transcripts (e.g., ["en", "hi", "es"]) |
outputFormat | String | "text" | Output format: "text", "json", "webvtt", or "srt" |
preserveFormatting | Boolean | false | Preserve HTML formatting tags in transcript (only for WebVTT/JSON formats) |
Supported URL Formats
The actor accepts YouTube videos in multiple URL formats:
- Standard:
https://www.youtube.com/watch?v=VIDEO_ID - Short:
https://youtu.be/VIDEO_ID - Direct ID:
VIDEO_ID(11-character alphanumeric code)
Supported Languages
Select your desired languages. If a transcript is available, it will be returned in the selected language(s).
| Code | Language | Code | Language |
|---|---|---|---|
en | English | hi | Hindi |
en-GB | English (UK) | es | Spanish |
en-US | English (US) | zh-Hans | Chinese (Simplified) |
zh-Hant | Chinese (Traditional) | fr | French |
de | German | pt | Portuguese |
pt-BR | Portuguese (Brazil) | ru | Russian |
ja | Japanese | ko | Korean |
tr | Turkish | it | Italian |
ar | Arabic | vi | Vietnamese |
id | Indonesian | th | Thai |
Input Example
{"videoUrls": ["https://www.youtube.com/watch?v=VjTJvwgJnGc","https://youtu.be/8wCOuEou6q4","jKi2SvWOCXc"],"languages": ["en", "hi"],"outputFormat": "json","preserveFormatting": false}
📤 Output Structure
Each successfully processed video generates a structured result containing transcript data, metadata, and segments.
Output Fields
| Field | Type | Description |
|---|---|---|
format | String | The output format used ("text", "json", "webvtt", "srt") |
metadata | Object | Video and transcript metadata |
metadata.videoId | String | YouTube video ID |
metadata.videoUrl | String | Full YouTube video URL |
metadata.language | String | Language code of the transcript |
metadata.isAutoGenerated | Boolean | Whether the transcript is auto-generated or manual |
transcript | String/Array | Formatted transcript (format depends on outputFormat) |
segments | Array | Array of transcript segments with timestamps |
success | Boolean | Always true for successful extractions |
Segment Structure
Each segment in the segments array contains:
| Field | Type | Description |
|---|---|---|
index | Number | Sequential segment number (starting from 1) |
start | Number | Start time in seconds |
end | Number | End time in seconds |
duration | Number | Duration in seconds |
text | String | Transcript text for this segment |
💰 Pricing
Pay-per-Result Model: $8.00 per 1,000 successful results
- ✅ You are charged only for successful transcript extractions
- ❌ Failed videos (no captions, private, unavailable, rate-limited) are not charged
- 📊 Each successfully processed video which have transcripts counts as one result
❓ Frequently Asked Questions (FAQ)
Q: Which YouTube video formats are supported?
A: Standard YouTube URLs, short youtu.be URLs, and direct 11-character video IDs are supported.
Q: Can I extract transcripts from private, unlisted, or age-restricted videos? A: No. Only publicly available videos with enabled captions can be processed.
Q: What happens if a video has no captions available? A: The extraction fails gracefully and you are not charged for that video.
Q: What is the difference between manual and auto-generated transcripts? A: Manual transcripts are uploaded by the creator and are usually more accurate. Auto-generated transcripts are created by YouTube and may contain errors. The actor prioritizes manual transcripts.
Q: Which output format should I use? A: Text for reading and SEO, JSON for APIs and AI workflows, SRT for video editing, and WebVTT for web video players.
Q: Does this actor download or store YouTube videos? A: No. It only extracts publicly available transcript and caption data.
Note: This actor complies with YouTube’s Terms of Service. Users are responsible for ensuring their usage respects copyright laws and content ownership rights.