youtube-content · v1.0.0 · 2026-05-06 · sha256 18bc35e6aa3dcc4b
youtube-content v1.0.0A
Immutable. This exact content is served forever at /api/v1/blob/18bc35e6aa3dcc4b.
--- name: youtube-content description: "YouTube: transcripts, audio/video downloads (yt-dlp, transcript-api)" category: research version: 1.0.0 origin: aiden license: Apache-2.0 tags: youtube, transcript, video, audio, download, subtitles, yt-dlp, content, summary --- # YouTube Content Extraction Extract transcripts, download audio or video, and retrieve metadata from YouTube using `youtube-transcript-api` (Python) and `yt-dlp`. ## When to Use - User wants to get the transcript of a YouTube video - User wants to summarize a YouTube video without watching it - User wants to download audio from a YouTube video - User wants to download a video for offline viewing - User wants to search for metadata (title, duration, views) of a video ## How to Use ### 1. Install required tools ```powershell pip install youtube-transcript-api pip install yt-dlp # Verify yt-dlp --version ``` ### 2. Get a video transcript (Python) ```python from youtube_transcript_api import YouTubeTranscriptApi video_id = "dQw4w9WgXcQ" # from youtube.com/watch?v=<id> transcript = YouTubeTranscriptApi.get_transcript(video_id) text = " ".join(entry["text"] for entry in transcript) print(text[:2000]) ``` ### 3. Get transcript in a specific language ```python from youtube_transcript_api import YouTubeTranscriptApi video_id = "dQw4w9WgXcQ" # Try English first, then auto-generated transcript = YouTubeTranscriptApi.get_transcript(video_id, languages=["en", "en-US"]) text = " ".join(entry["text"] for entry in transcript) ``` ### 4. List available transcript languages for a video ```python from youtube_transcript_api import YouTubeTranscriptApi video_id = "dQw4w9WgXcQ" transcript_list = YouTubeTranscriptApi.list_transcripts(video_id) for t in transcript_list: print(t.language, t.language_code, "auto-generated:", t.is_generated) ``` ### 5. Download audio (MP3) with yt-dlp ```powershell $videoUrl = "https://www.youtube.com/watch?v=dQw4w9WgXcQ" yt-dlp -x --audio-format mp3 -o "%(title)s.%(ext)s" $videoUrl ``` ### 6. Download video (best quality) ```powershell $videoUrl = "https://www.youtube.com/watch?v=dQw4w9WgXcQ" yt-dlp -f "bestvideo+bestaudio" --merge-output-format mp4 -o "%(title)s.%(ext)s" $videoUrl ``` ### 7. Download video at specific quality ```powershell # List available formats first yt-dlp -F $videoUrl # Download 720p yt-dlp -f "bestvideo[height<=720]+bestaudio" --merge-output-format mp4 -o "%(title)s.%(ext)s" $videoUrl ``` ### 8. Get video metadata (no download) ```powershell yt-dlp --dump-json --no-download $videoUrl | python -m json.tool | Select-String -Pattern '"title"|"duration"|"view_count"|"upload_date"' ``` ### 9. Download an entire playlist ```powershell $playlistUrl = "https://www.youtube.com/playlist?list=PLxxxxxx" yt-dlp -x --audio-format mp3 -o "%(playlist_index)s-%(title)s.%(ext)s" $playlistUrl ``` ## Examples **"Get me the transcript of this YouTube tutorial so I can read it"** → Use step 2 — extract video ID from URL and call `get_transcript`. **"Download the audio from this podcast episode on YouTube"** → Use step 5 with the video URL to download as MP3. **"What languages are available for transcripts on this video?"** → Use step 4 to list available transcript languages. ## Cautions - `youtube-transcript-api` only works for videos that have transcripts (manual or auto-generated) - Auto-generated transcripts may have errors, especially for technical content or non-English speech - Downloading videos may be subject to YouTube's Terms of Service — use for personal research and fair use only - yt-dlp may need updates when YouTube changes its API: run `yt-dlp -U` to update - Rate limiting may occur on rapid consecutive downloads — add delays between requests for playlists