Youtube Transcript avatar

Youtube Transcript

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Youtube Transcript

Youtube Transcript

๐ŸŽฌ EXTRACT YOUTUBE TRANSCRIPTS in seconds. Get timestamped captions in 40+ languages with auto-translation built in. Supports auto-generated subtitles, batch processing and three output formats: segments, full text or [MM:SS]. Built for AI, LLMs and content teams.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Data Xplorer

Data Xplorer

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

๐ŸŽฌ YouTube Transcript Scraper

Extract the full transcript of any YouTube video in seconds. No YouTube API key required, no browser automation, no manual copy-paste. Get word-level timestamps, auto-generated captions, and optional auto-translation into 40+ languages.

  • ๐Ÿ“ Full Transcript Extraction: Scrape the complete YouTube video transcript with millisecond-precision timestamps
  • ๐ŸŒ 40+ Languages: Extract captions in any available language (English, French, Spanish, German, Japanese, Korean, Arabic, and more)
  • ๐Ÿ”„ Auto-Translation: No English transcript? YouTube auto-translate kicks in automatically to convert any caption track into your target language
  • โฑ๏ธ 3 Output Formats: Structured segments { start, duration, end, text }, full plain text, or timestamped [MM:SS] text
  • ๐Ÿ”— All YouTube URL Formats: Works with youtube.com/watch?v=, youtu.be/, youtube.com/shorts/, and bare video IDs
  • ๐Ÿค– Auto-Generated Captions Supported: Works on videos with manually uploaded subtitles and YouTube's auto-generated ASR captions
  • โšก No API Key Required: Directly taps YouTube's internal InnerTube API with no quota limits and no Google Cloud setup
  • ๐Ÿ›ก๏ธ Resilient by Design: Multi-client fallback (Android โ†’ iOS โ†’ TV), proxy rotation, and automatic retry on rate limits

โ„น๏ธ Proxy note: YouTube's transcript API blocks datacenter IPs. Use Apify Residential Proxy for reliable results. The proxy selector is pre-configured in the input form.


๐Ÿ’Ž Why Choose This YouTube Transcript Scraper?

Most YouTube transcript scrapers rely on fragile HTML parsing or third-party libraries that break every few weeks. This scraper uses YouTube's own InnerTube API, the same internal API the YouTube app uses, making it significantly more stable and capable.

FeatureThis ScraperGeneric scrapers
No API key requiredโœ…โœ…
Multi-client bot bypassโœ…โŒ
Auto-translate fallbackโœ…โŒ
Millisecond timestampsโœ…โŒ
Proxy rotation per requestโœ…โŒ
Batch processingโœ…Rarely

๐Ÿš€ How to Scrape YouTube Transcripts

1. ๐Ÿ”— Paste Your YouTube URLs

Add one or more YouTube video URLs. Supported formats:

  • https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • https://youtu.be/dQw4w9WgXcQ
  • https://www.youtube.com/shorts/dQw4w9WgXcQ
  • Bare video ID: dQw4w9WgXcQ

2. ๐ŸŒ Select Your Language

Pick the transcript language from the dropdown (40+ ISO 639-1 codes). If the requested language has no native caption track, the scraper automatically uses YouTube's built-in auto-translate to convert the closest available track.

3. ๐Ÿ“„ Choose Your Output Format

FormatOutput fieldBest for
Segments (default)segments arrayAI pipelines, RAG, search indexing
Full textfullText stringLLM prompts, summarization, translation
TimestampsfullText stringSubtitles, video editing, karaoke

4. ๐Ÿ”’ Configure Your Proxy

Select Apify Residential in the proxy dropdown (pre-selected by default). YouTube's InnerTube API rejects datacenter IPs, so residential proxies are required for stable operation.


โœจ What You'll Get

๐Ÿ“Š Output Data Structure

FieldTypeDescription
videoIdstringYouTube video ID
videoUrlstringFull YouTube watch URL
titlestringVideo title
authorstringChannel name
channelIdstringYouTube channel ID
durationSecondsnumberTotal video duration in seconds
languagestringLanguage code of the returned transcript
nativeLanguagestringOriginal caption track language
isAutoTranslatedbooleantrue if YouTube auto-translated the transcript
isAutoGeneratedbooleantrue if captions were auto-generated by YouTube (ASR)
segmentCountnumberTotal number of transcript segments
availableLanguagesarrayAll available caption tracks for this video
segmentsarray[{ start, duration, end, text }] with times in seconds (3 decimal places)
fullTextstringFull transcript as plain text or [MM:SS] timestamped text

๐Ÿ“‹ Output Example โ€” Segments Format

{
"videoId": "dQw4w9WgXcQ",
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"author": "Rick Astley",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"durationSeconds": 212,
"language": "en",
"nativeLanguage": "en",
"isAutoTranslated": false,
"isAutoGenerated": false,
"segmentCount": 87,
"availableLanguages": [
{ "code": "en", "name": "English", "isAutoGenerated": false }
],
"segments": [
{ "start": "0.320", "duration": "4.080", "end": "4.400", "text": "We're no strangers to love" },
{ "start": "4.400", "duration": "3.920", "end": "8.320", "text": "You know the rules and so do I" }
]
}

๐Ÿ“‹ Output Example โ€” Full Text Format

{
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"language": "en",
"segmentCount": 87,
"fullText": "We're no strangers to love You know the rules and so do I..."
}

๐Ÿ“‹ Output Example โ€” Timestamps Format

{
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"language": "en",
"segmentCount": 87,
"fullText": "[00:00] We're no strangers to love\n[00:04] You know the rules and so do I\n[00:08] A full commitment's what I'm thinking of..."
}

๐Ÿ“‹ Quick Start

Input Parameters

ParameterTypeDefaultDescription
videoUrlsarrayList of YouTube video URLs or video IDs
preferredLanguagestring"en"Language code from dropdown (ISO 639-1)
customLanguageCodestringOverride the dropdown with any language code (e.g. sw, eu)
outputFormatstring"segments""segments", "text", or "timestamps"
proxyConfigurationobjectResidentialApify proxy settings (residential required)

Input Example

{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/mFQ2wRDNdww"
],
"preferredLanguage": "en",
"outputFormat": "segments",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

๐Ÿ”— Integrations

Connect this YouTube transcript scraper to your AI workflows and automation tools:


๐ŸŽฏ Use Cases

๐Ÿค– AI & LLM Applications

  • Build RAG (Retrieval-Augmented Generation) systems from YouTube video content
  • Feed transcripts into ChatGPT, Claude, or Gemini for summarization, Q&A, or translation
  • Create podcast and video search engines indexed by transcript content
  • Train fine-tuned models on domain-specific YouTube content

๐Ÿ“š Content Research

  • Repurpose video content into blog posts, newsletters, or social media threads
  • Extract quotes and key insights from interviews, lectures, and talks
  • Monitor competitor content and what topics they cover in depth
  • Research SEO keywords from high-ranking YouTube videos in your niche

๐ŸŽ“ Education & Accessibility

  • Generate subtitles and closed captions for your own content
  • Create study notes from educational videos, MOOCs, and lectures
  • Make video content accessible for deaf or hard-of-hearing audiences
  • Translate educational content into multiple languages automatically

๐Ÿ“Š Data Analysis

  • Analyze speaking patterns and vocabulary across channels
  • Track keyword frequency in video transcripts over time
  • Build content classification models from transcript data
  • Compare how different creators cover the same topic

๐Ÿ” Journalism & Research

  • Verify quotes and statements made in video interviews
  • Archive public speeches, hearings, and press conferences
  • Cross-reference claims across multiple video sources
  • Extract structured data from video earnings calls or conference talks

๐Ÿ’ก Pro Tips

๐ŸŽฏ For AI Pipelines

Use outputFormat: "segments" to get timestamped chunks ideal for vector embedding and semantic search. Each segment maps cleanly to a text chunk with its position in the video.

๐Ÿ“ For LLM Summarization

Use outputFormat: "text" to get the full transcript as a single string, ready to drop into a prompt with no parsing required.

๐ŸŽฌ For Subtitle Editing

Use outputFormat: "timestamps" to get [MM:SS] prefixed lines, easy to import into subtitle editors like Aegisub or review in a spreadsheet.

๐ŸŒ For Non-English Videos

Set preferredLanguage to your target language. If the video doesn't have a native track in that language, the scraper will automatically request YouTube's auto-translation which covers 100+ languages. If translation is rate-limited, it gracefully falls back to the native language track.

โšก For Bulk Processing

Pass multiple URLs in a single run. The scraper processes them sequentially with independent proxy sessions per video.


โ“ FAQ

How do I scrape a YouTube transcript without an API key?

This scraper uses YouTube's internal InnerTube API with no Google Cloud setup, no YouTube Data API key, and no quota limits. Just paste your video URLs and run.

Can I extract auto-generated captions from YouTube?

Yes. The scraper fully supports YouTube's auto-generated (ASR) captions, which are available on most videos even without manually uploaded subtitles. The isAutoGenerated field in the output tells you which type was used.

Can I get YouTube transcripts in multiple languages?

Yes. Select the target language from the 40-language dropdown, or enter any ISO 639-1 code in the custom field. If the video has a native track in that language, it's returned directly. If not, YouTube's auto-translate is used automatically.

Why do I need a residential proxy?

YouTube's transcript API blocks requests from datacenter IP ranges. Residential proxies route requests through real home IP addresses, which YouTube treats as legitimate user traffic. The Apify Residential proxy option is pre-selected in the input form.

What YouTube URL formats are supported?

All standard formats: youtube.com/watch?v=, youtu.be/, youtube.com/shorts/, youtube.com/live/, and bare 11-character video IDs.

What happens if a video has no transcript?

The scraper pushes an error entry to the dataset with the videoId, videoUrl, and an error message. Processing continues with the next video in the list.

Is this YouTube transcript scraper free to use?

The actor itself is free. You pay only for Apify compute units (CUs) consumed during the run, plus residential proxy bandwidth. A single video transcript typically costs a fraction of a cent.


๐Ÿค Support

Need help or have a feature request? Open an issue on the actor page.

โค๏ธ Love this scraper? Leave a review on the Apify Store, it helps others discover it!


Built for AI engineers, content creators, researchers, and data teams who need reliable YouTube transcript extraction at scale.