Skip to main content

Download videos from Udemy for personal offline use

Project description

Python script to download a course, for personal offline use.



PyPI version Build Status Code Health PyPI

Windows Version

A Windows version without any dependecies is available here

You can get the lastest Windows release from here.



  • Python (2 or 3)
  • pip (Python Install Packager)
  • Python module requests
  • If missing, they will be automatically installed by pip


If you don’t have pip installed, look at their install doc. Easy install (if you trust them) is to run their bootstrap installer directly by using:

sudo curl | sudo python


udemy-dl can be installed using pip

pip install udemy-dl


python -m pip install udemy-dl

In OS X and Linux you need to sudo installing udemy-dl or you may face some errors

sudo pip install udemy-dl

Also you need to sudo installing pip itself or you run into the same problem.


udemy-dl can be updated using pip

pip install --upgrade udemy-dl


python -m pip install --upgrade udemy-dl

In OS X and Linux you need to sudo upgrade udemy-dl

sudo pip install --upgrade udemy-dl


Simply call udemy-dl with the full URL to the course page.



python -m udemy_dl

udemy-dl will ask for your udemy username (email address) and password then start downloading the videos.

By default, udemy-dl will create a subdirectory based on the course name. If you wish to have the files downloaded to a specific location, use the -o /path/to/directory/ parameter.

If you wish, you can include the username/email and password on the command line using the -u and -p parameters.

udemy-dl -u -p $ecRe7w0rd

If you ``don’t want to download but save links to a file``` for later downloading with a different downloader

python -m udemy_dl -s

For information about all available parameters, use the --help parameter

udemy-dl --help

Advanced Usage

usage: udemy-dl [-h] [-u USERNAME] [-p PASSWORD]
                [--lecture-start LECTURE_START] [--lecture-end LECTURE_END]
                [-o OUTPUT] [-d {aria2c,axel,httpie,curl}] [--use-ffmpeg]
                [-q VIDEO_QUALITY] [-s] [--safe-file-names] [-l] [--debug] [--use-course-title]

Fetch all the lectures for a udemy course

positional arguments:
  link                  Link for udemy course

optional arguments:
  -h, --help                show this help message and exit
  -u USERNAME, --username USERNAME
                            Username / Email
  -p PASSWORD, --password PASSWORD
  --lecture-start LECTURE_START
                            Lecture to start at (default is 1)
  --lecture-end LECTURE_END
                            Lecture to end at (default is last)
  -o OUTPUT, --output OUTPUT
                            Output directory / text file path (if saving links)
  -d {aria2c,axel,httpie,curl}, --external-downloader {aria2c,axel,httpie,curl}
                            Download with external downloader [aria2c, axel,
                            httpie, curl] (default is aria2c)
  --use-ffmpeg              Download videos from m3u8/hls with ffmpeg
  -q VIDEO_QUALITY, --video-quality VIDEO_QUALITY
                            Select video quality [default is 654321(highest)]
  -s, --save-links          Do not download but save links to a file
  --safe-file-names         Use safe cross-platform filenames
  -l, --list                Just list all of the possible lectures and their ids
  --debug                   Enable debug mode
  --use-course-title    Use the course title for the parent folder name (WARNING: can make file path too long
  -v, --version             Display the version of udemy-dl and exit


udemy-dl can be uninstalled using pip

sudo pip uninstall udemy-dl

You may uninstall the required requests module too but be aware that those might be required for other Python modules.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for udemy-dl, version 0.2.2a0
Filename, size File type Python version Upload date Hashes
Filename, size udemy-dl-0.2.2a0.tar.gz (18.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page