YouTube Transcript Extractor (JSON, Plain Text, SRT ,VTT) avatar
YouTube Transcript Extractor (JSON, Plain Text, SRT ,VTT)

Pricing

Pay per usage

Go to Apify Store
YouTube Transcript Extractor (JSON, Plain Text, SRT ,VTT)

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

Mubeen Ali

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

ParameterTypeDescription
videoUrlsArrayRequired. List of YouTube video URLs or video IDs to process

Optional Parameters

ParameterTypeDefaultDescription
languagesArray["en"]Preferred language codes for transcripts (e.g., ["en", "hi", "es"])
outputFormatString"text"Output format: "text", "json", "webvtt", or "srt"
preserveFormattingBooleanfalsePreserve 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).

CodeLanguageCodeLanguage
enEnglishhiHindi
en-GBEnglish (UK)esSpanish
en-USEnglish (US)zh-HansChinese (Simplified)
zh-HantChinese (Traditional)frFrench
deGermanptPortuguese
pt-BRPortuguese (Brazil)ruRussian
jaJapanesekoKorean
trTurkishitItalian
arArabicviVietnamese
idIndonesianthThai

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

FieldTypeDescription
formatStringThe output format used ("text", "json", "webvtt", "srt")
metadataObjectVideo and transcript metadata
metadata.videoIdStringYouTube video ID
metadata.videoUrlStringFull YouTube video URL
metadata.languageStringLanguage code of the transcript
metadata.isAutoGeneratedBooleanWhether the transcript is auto-generated or manual
transcriptString/ArrayFormatted transcript (format depends on outputFormat)
segmentsArrayArray of transcript segments with timestamps
successBooleanAlways true for successful extractions

Segment Structure

Each segment in the segments array contains:

FieldTypeDescription
indexNumberSequential segment number (starting from 1)
startNumberStart time in seconds
endNumberEnd time in seconds
durationNumberDuration in seconds
textStringTranscript 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.