youtube_dl
YouTube video downloader
What it is and what it does
youtube-dl is a command-line program that downloads videos from YouTube and several other video platforms. It works on Unix, Windows, and macOS and can be used either as a standalone tool or imported as a Python module. The tool supports downloading individual videos, entire playlists, and offers extensive options for format selection, quality control, and output customization.
The package has no external runtime dependencies, making installation straightforward via pip or system package managers. It is released into the public domain, giving you full freedom to modify and redistribute it. However, the project's last release was in December 2021, and while the repository remains active, the age of the codebase means extractors may require updates to work with current anti-scraping measures on video platforms.
Use it for:
- Download individual YouTube videos for offline viewing or archival purposes.
- Batch-download entire YouTube playlists or channels with customizable format and quality settings.
- Extract audio from videos and save as MP3 or other audio formats using format selection options.
- Automate video downloads in scripts or scheduled tasks via command-line integration.
- Download videos from platforms other than YouTube that the tool's extractors support.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Command-line tool to download videos from YouTube and other video platforms, with support for playlists, format selection, and extensive configuration options.
Yes, with conditions. The package is stable, dependency-free, and permissively licensed, making it straightforward to install and use. However, install it only if you accept that extractors may be outdated—the last release was in 2021, and YouTube's anti-scraping measures evolve frequently. For production or mission-critical workflows, verify that the extractors still work for your target platforms before relying on it. A security vulnerability (GHSA-22fp-mf44-f2mq) is recorded; evaluate its severity for your use case.
Install
youtube-dl on PyPI
pip
pip install youtube-dluv
uv add youtube-dlpoetry
poetry add youtube-dlInstalling youtube_dl
Before you install
Low install friction with no runtime dependencies. Actively maintained as of 2026-02-19 with substantial community engagement (140956 stars). However, the package has not received a new release since 2021-12-16, which is over four years old.
License in practice
Released under the Unlicense (public domain), meaning you can modify, redistribute, or use it however you like with no restrictions or attribution requirements.
Quickstart
pip install youtube-dl
youtube-dl 'https://www.youtube.com/watch?v=VIDEO_ID'
# Or as a Python module:
import youtube_dl
with youtube_dl.YoutubeDL() as ydl:
ydl.download(['https://www.youtube.com/watch?v=VIDEO_ID'])
Requires Python 2.6, 2.7, or 3.2+ interpreter installed on the system. YouTube's evolving anti-scraping measures may require frequent extractor updates.
Verify before relying
- Whether the package's extractors still work reliably against current YouTube and other platform anti-scraping measures, given the last release was in 2021.
- Current compatibility with modern Python versions beyond 3.8, which was the latest listed in classifiers at release time.
- Details of the security vulnerability GHSA-22fp-mf44-f2mq and whether it affects typical use cases.
Package facts
| License | Unlicense (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,702 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 250,104/month — #8,639 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | 1 — GHSA-22fp-mf44-f2mq |
Evidence: youtube_dl-2021.12.17-py2.py3-none-any.whl
Tags
More Video packages
yt-dlp downloads audio and video from thousands…
permissive · top 5,000 on PyPI
moviepyMoviePy is a Python library for video editing…
permissive · top 5,000 on PyPI
livekit-apiGenerate access tokens and call LiveKit server…
permissive · top 5,000 on PyPI
pytubepytube downloads YouTube videos and playlists…
permissive · top 5,000 on PyPI
livekit-agentsA framework for building realtime multimodal…
permissive · top 5,000 on PyPI
ffmpyffmpy is a Python wrapper around FFmpeg that…
permissive · top 5,000 on PyPI
spotdlspotDL downloads songs from Spotify playlists…
permissive · top 15,000 on PyPI
subliminalSubliminal downloads subtitles for video files…
permissive · top 15,000 on PyPI
pytubefixDownloads YouTube videos, playlists, and…
permissive · top 15,000 on PyPI
bgutil-ytdlp-pot-providerA yt-dlp plugin that provides proof-of-origin…
copyleft · top 15,000 on PyPI
casttubeInteract with YouTube on Chromecast devices by…
permissive · top 15,000 on PyPI
streamlinkStreamlink extracts video streams from various…
permissive · top 15,000 on PyPI
scenedetectDetects scene cuts and shot changes in videos,…
permissive · top 5,000 on PyPI
youtube-transcript-apiFetches transcripts and subtitles from YouTube…
permissive · top 1,000 on PyPI