pytubefix is a Python library and command-line utility for downloading YouTube content. It provides objects for working with individual videos, playlists, channels, and search results, making it useful for both interactive downloads and Python applications.
The library exposes media streams and video information so applications can decide what to retrieve. Its asynchronous interface supports non-blocking metadata requests, although the documented stream download method remains synchronous.
This is free and open source software.
Key Features
- Select progressive streams containing audio and video, or separate adaptive streams.
- Filter available streams by attributes such as resolution, media type, and file format, or select a specific stream identifier.
- Download audio-only content and choose output directories and filenames.
- Process videos from playlists and channels through the Python interface.
- Search YouTube and filter results by upload date, duration, content type, and other supported criteria.
- Read video metadata, including titles, authors, durations, view counts, and thumbnail URLs.
- Access caption tracks, convert captions to SubRip format, and save them to files.
- Register progress and completion callbacks to integrate downloads into other applications.
- Support OAuth authentication and cached authentication tokens.
- Retrieve chapters and key moments through the asynchronous interface.
- Use the included command-line utility to inspect streams and download selected content without writing a Python script.
Website: pytubefix.readthedocs.io
Support:
Developer: Juan Bindez
License: MIT License

pytubefix is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Console-Based YouTube Tools | |
|---|---|
| yt-dlp | Fork of youtube-dl offering new features |
| You-Get | Downloader that scrapes the web |
| Lux | Download library and CLI tool |
| yewtube | Terminal based YouTube player and downloader |
| YouTube TUI | Lightweight and user friendly TUI for browsing YouTube |
| Tizonia | Cloud music player for the Linux terminal |
| ytdl-sub | Automates media downloads and generates accompanying metadata |
| pipe-viewer | Lightweight YouTube client with CLI and GUI |
| yt-x | Browse YouTube from the terminal |
| pytubefix | Library and CLI for downloading YouTube videos |
| ytsurf | Clean and distraction-free |
| YTerMusic | Aims to be as fast and simple as possible |
| xytz | TUI frontend for yt-dlp |
| ytm-player | Terminal-based client for YouTube Music |
| tuitube | TUI to download videos |
| GopherTube | Terminal YouTube client for searching and watching videos |
| youtube-dl | Download videos from YouTube and many other sites. Extremely versatile |
| ytcc | Keep track of your favorite playlists on YouTube |
| ytm | Play and browse YouTube Music directly from your terminal |
| Rataplay | TUI to search, play and download videos |
| gytm | Terminal-based player for searching and streaming YouTube Music |
| GoMusic | Download and stream music from YouTube |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.