Download your enrolled Coursera courses, week by week.
Videos, subtitles, quizzes, notebooks and resources, organised just like on the site.
A privacy-first Windows desktop app β no telemetry, no cloud uploads.
- One-Click Offline Downloading: Browse your enrolled Coursera courses and start downloading entire weeks with a single click.
- Complete Course Materials: Automatically grabs high-quality videos, localized subtitles, quizzes, Jupyter notebooks, and reading resources.
- Live GUI Progress Tracking: Clean PyQt5 interface featuring a live progress bar, real-time stop button, and download history.
- Customizable UI: Switch between list and grid views, and toggle between dark and light themes.
- Smart Resuming: Pause and resume downloads without losing progress, with quick access to your downloaded folders.
- Quality Control: Pick your preferred video resolution and select specific subtitle languages before downloading.
| Area | Implementation |
|---|---|
| UI | PyQt5 desktop app with dark/light themes, list/grid course browser |
| Auth | Browser cookie extraction via rookiepy (no password storage) |
| Downloads | Multithreaded pool + isolated worker subprocess for clean stop/resume |
| Persistence | Local SQLite history, settings, and download state |
| Packaging | PyInstaller single-file .exe for Windows distribution |
Stack: Python 3.12 Β· PyQt5 Β· requests Β· BeautifulSoup Β· rookiepy Β· PyInstaller
The download engine is adapted from the open-source coursera-dl project.
There are two ways to use CourseraGrab: downloading the standalone app (recommended) or running it via the Python terminal.
You do not need Python installed for this method.
- Click the button above to go to the Releases page.
- Download the
CourseraGrab.exefile from the Assets section. - Double-click the
.exefile to run the app.
If you prefer to run the raw Python code, make sure you have Python 3.12+ installed.
β οΈ CRITICAL: You MUST open your terminal (Command Prompt, PowerShell, or your IDE's Terminal) as an Administrator. If you do not run the terminal as an administrator, the script will not have permission to read your browser's login cookies and will fail to load your courses.
pip install -r requirements.txt
python maingui.pyBuilt by Hesam Samani Β· LinkedIn Β· GitHub Β· Portfolio
For personal, offline study of courses you are enrolled in. Please respect Coursera's Terms of Service.