home / media / yt-dlp

yt-dlp

150k

Media download CLI for fetching video, audio, subtitles, and metadata from YouTube and thousands of supported sites.

$python -m pip install -U --pre "yt-dlp[default]"
Language
Python
Stars
150,175
Category
Media & Video
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

yt-dlp is a media download CLI for fetching video, audio, subtitles, thumbnails, and metadata from YouTube and thousands of supported sites. It also works as an inspection tool for formats, subtitles, and playlist metadata before you decide what to download.

What It Enables
  • Download videos, playlists, livestream captures, or audio-only files from supported sites with explicit format selection, output templates, and post-processing steps.
  • Inspect available formats, subtitles, thumbnails, and extractor support without downloading first, then choose the right variant for a scripted workflow.
  • Write .info.json metadata, subtitles, thumbnails, and comments to disk, or load prior info JSON files to replay download steps with preserved metadata.
Agent Fit
  • JSON output via --dump-json and --dump-single-json, plus simulate and list modes, makes inspect-decide-download loops straightforward in the shell.
  • The command surface is mostly flag-driven and non-interactive, but some sites still require cookies, credentials, browser-derived state, or extra runtime components.
  • Best fit is media capture and archive automation where an agent needs direct file outputs and metadata, not general browser or content management workflows.
Caveats
  • Authenticated or rate-limited sites may require browser cookies, passwords, or provider-specific options, which makes unattended runs environment-dependent.
  • Full YouTube support and post-processing often depend on external tools such as yt-dlp-ejs, a JavaScript runtime, and ffmpeg.