YouTube Transcript & Captions Scraper avatar
YouTube Transcript & Captions Scraper

Pricing

$3.00 / 1,000 results

Go to Apify Store
YouTube Transcript & Captions Scraper

YouTube Transcript & Captions Scraper

Extract transcripts from any YouTube video with captions. Supports 100+ languages, auto-generated captions, and translation. Output as plain text, SRT, VTT, or JSON with timestamps. Includes video metadata (title, channel, views). Perfect for content repurposing and AI training.

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

ben

ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Extract transcripts, captions, and subtitles from any YouTube video. Supports auto-generated and manual captions in 100+ languages with multiple output formats.

Features

  • Universal Transcript Extraction: Works with any YouTube video that has captions enabled
  • 100+ Languages: Supports all languages available on YouTube
  • Auto-Generated Fallback: Falls back to YouTube's auto-generated captions when manual captions unavailable
  • Translation: Translate transcripts to any supported language
  • Multiple Output Formats: Plain text, timestamped, SRT, VTT, or JSON
  • Video Metadata: Optional extraction of title, channel, views, duration
  • Batch Processing: Process multiple videos in a single run
  • High Success Rate: API-based extraction (no browser needed)

Use Cases

  • Content Repurposing: Turn video content into blog posts, articles, or social media
  • SEO Optimization: Extract text for video descriptions and metadata
  • Accessibility: Generate captions for accessibility compliance
  • AI Training Data: Build datasets from YouTube content
  • Research: Analyze video content at scale
  • Translation: Get transcripts in your preferred language
  • Note Taking: Quickly extract key points from educational videos

Input

{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/jNQXAC9IVRw",
"dQw4w9WgXcQ"
],
"preferredLanguages": ["en", "en-US"],
"includeAutoGenerated": true,
"outputFormat": "text",
"includeVideoMetadata": true,
"translateTo": null,
"maxVideos": 0
}

Input Fields

FieldTypeDefaultDescription
videoUrlsarrayrequiredYouTube URLs or video IDs
preferredLanguagesarray["en"]Language codes in order of preference
includeAutoGeneratedbooleantrueInclude auto-generated captions as fallback
outputFormatstring"text"Output format (text, timestamped, srt, vtt, json)
includeVideoMetadatabooleantrueFetch video title, channel, views, etc.
translateTostringnullTranslate to this language code
maxVideosinteger0Limit videos to process (0 = unlimited)

Supported URL Formats

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/embed/VIDEO_ID
  • https://www.youtube.com/shorts/VIDEO_ID
  • VIDEO_ID (direct 11-character ID)

Output

{
"video_id": "dQw4w9WgXcQ",
"video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"success": true,
"transcript_text": "We're no strangers to love. You know the rules and so do I...",
"formatted_transcript": "We're no strangers to love. You know the rules...",
"output_format": "text",
"language": "English",
"language_code": "en",
"is_auto_generated": false,
"is_translated": false,
"available_languages": ["en", "es", "fr", "de", "ja"],
"word_count": 423,
"character_count": 2156,
"segment_count": 87,
"duration_seconds": 212.5,
"title": "Rick Astley - Never Gonna Give You Up",
"channel_name": "Rick Astley",
"view_count": 1400000000,
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"error": null,
"extraction_time_ms": 1234
}

Output Fields

FieldDescription
video_idYouTube video ID
successWhether extraction was successful
transcript_textPlain text transcript
formatted_transcriptTranscript in requested format
language_codeLanguage code of transcript
is_auto_generatedTrue if using YouTube's auto-generated captions
is_translatedTrue if transcript was translated
word_countNumber of words in transcript
segment_countNumber of caption segments
available_languagesAll available transcript languages

Output Formats

FormatDescriptionUse Case
textContinuous plain textReading, AI processing
timestampedText with [MM:SS] timestampsNote taking, navigation
srtSubRip subtitle formatVideo editors, media players
vttWebVTT formatWeb video players, HTML5
jsonDetailed segments with timingCustom processing, analysis

Language Codes

Common language codes: en, en-US, es, fr, de, it, pt, ja, ko, zh-Hans, zh-Hant, ru, ar, hi

For a full list, see YouTube's supported languages.

Error Handling

The scraper handles various error conditions gracefully:

Error TypeDescription
transcripts_disabledVideo owner has disabled captions
no_transcript_foundNo transcript in requested language
video_unavailableVideo is private, deleted, or region-restricted
no_transcript_availableVideo has no captions at all

Limitations

  • Captions Required: Cannot extract from videos without captions
  • Rate Limits: YouTube may rate-limit excessive requests
  • Private Videos: Cannot access private or unlisted videos without authorization
  • Live Streams: May not work with ongoing live streams

Pricing

$3 per 1,000 transcripts extracted.

Examples

Extract single video transcript

{
"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]
}

Get Spanish transcript with translation

{
"videoUrls": ["https://www.youtube.com/watch?v=VIDEO_ID"],
"preferredLanguages": ["es"],
"translateTo": "en"
}

Generate SRT subtitles

{
"videoUrls": ["https://www.youtube.com/watch?v=VIDEO_ID"],
"outputFormat": "srt"
}

Batch process without metadata

{
"videoUrls": ["VIDEO_ID_1", "VIDEO_ID_2", "VIDEO_ID_3"],
"includeVideoMetadata": false,
"maxVideos": 100
}

Support

For questions or issues, contact the developer or open an issue in the repository.