Release v9.6.4. (Installation)

Pypi Build status Coverage Python Versions

pytube is a lightweight, Pythonic, dependency-free, library (and command-line utility) for downloading YouTube Videos.

Behold, a perfect balance of simplicity versus flexibility:

>>> from pytube import YouTube
>>> YouTube('').streams.first().download()
>>> yt = YouTube('')
>>> yt.streams
... .filter(progressive=True, file_extension='mp4')
... .order_by('resolution')
... .desc()
... .first()
... .download()


  • Support for Both Progressive & DASH Streams
  • Easily Register on_download_progress & on_download_complete callbacks
  • Command-line Interfaced Included
  • Caption Track Support
  • Outputs Caption Tracks to .srt format (SubRip Subtitle)
  • Ability to Capture Thumbnail URL.
  • Extensively Documented Source Code
  • No Third-Party Dependencies


  • Allow downloading age restricted content
  • Complete ffmpeg integrationn

The User Guide

This part of the documentation begins with some background information about the project, then focuses on step-by-step instructions for getting the most out of pytube.

The API Documentation / Guide

If you are looking for information on a specific function, class, or method, this part of the documentation is for you.

Indices and tables