Todo
- Lectures (videos, subtitles, slides)
- Reading materials
- Jupyter notebooks
- Quizzes
Install
Python ⩾3.10 is required.
Install the dl_coursera package in a virtual environment.
$ pip install -U dl_coursera
$ dl_coursera --version
Alternatively, you can download dl_coursera as a single executable from https://github.com/FLZ101/dl_coursera/releases/. Note:
- This may not work if your OS is outdated
- On Windows, SmartScreen may prevent execution of the executable
How-to
-
Get the cookies file
Sign into Coursera, then use a browser extension to export cookies as a cookies file which will expire in about two weeks.
For Chrome/Edge/Firefox, you can use the Cookie-Editor extension.
-
Enroll
Navigate to homepage of the specialization/course you'd like to download, you can see its slug at the address bar. Enroll in.
-
Download
To download a specialization:
dl_coursera --cookies path_of_the_cookies_file --outdir output_directory --spec slugTo download a course:
dl_coursera --cookies path_of_the_cookies_file --outdir output_directory slugFor each course, a
playlist.m3ufile is generated in the course directory. It lists the downloaded videos and can be opened with VLC, mpv, or mplayer.
Extra options:
--quiz: include quizzes--subtitles <languages>: comma-separated subtitle language codes without spaces, e.g.en,zh-CN. Typical codes:en,zh-CN,es,fr,de,pt-BR,ja,ko,ru,it,ar,hi. Default: download the only available language; otherwise English if available.
Note
- If math symbols do not render or images do not show in downloaded HTML files, the browser may be opening them from a Flatpak sandbox path such as
file:///run/user/1000/doc/..., which prevents loading the localresource/files. Open the files with a non-Flatpak browser, drag the directory containingresource/into the browser window, or make the output directory accessible to the Flatpak sandbox.
Troubleshooting
-
Check your network
-
Make sure you have enrolled in the specialization/course
-
If the cookies file might have expired, try getting a new one
-
Try upgrading to the latest version
-
Remove the directory
<output-directory>/<slug>/.cacheand try again -
Visit the issues page. You may find a solution if others has encountered similar issues.
Or you could create a new issue describing what is going wrong and the steps to reproduce it. Don't forget to attach the file
<output-directory>/<slug>/.cache/main.logif it exists.
Star History
Metadata
Release files for dl-coursera 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dl_coursera-1.1.0.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dl_coursera-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / dl_coursera-1.1.0.tar.gz
| Download URL | dl_coursera-1.1.0.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f24f58b1539f64c4bb36eae566b4c5171826af2b14fb5f988f792834997e9f48
|
|
BLAKE2b-256 checksum How to use checksums |
0a636cf75fb820ec131878e05216a9686799ad25af7de2d532358c54f956139b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / dl_coursera-1.1.0-py3-none-any.whl
| Download URL | dl_coursera-1.1.0-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ddcbb5986ec552182fcc18b4e88af5f725a83680da59d078a4eba3ba9fe4e013
|
|
BLAKE2b-256 checksum How to use checksums |
60e016756a2d4e6c7027eedf855192a77b41c68e59cabf3b01edb327933d84c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log