UdemySaver is an open-source Udemy course downloader written in modern C++20. It lets you save videos, subtitles, and course assets you own for offline learning. A built-in HTTP server powers a responsive web interface so you can browse your Udemy library, queue downloads, and monitor progress from any browser.
- Download Udemy courses, lectures, subtitles, and attachments for offline access.
- Responsive web interface to browse your Udemy library.
- Queue and monitor downloads for single lectures or entire courses.
- Automatically organizes files under a structured
downloads/directory. - Cross-platform build via CMake for Windows, macOS, and Linux.
| Tool/Library | Notes |
|---|---|
| C++20 compiler | MSVC / Clang / GCC |
| CMake ≥ 3.8 | Build system |
| Boost (system, thread, beast) | Networking primitives |
| libcurl | HTTP requests & downloads |
| nlohmann_json | JSON parsing |
git clone https://github.com/jadis0x/UdemySaver.git
cd UdemySaver
cmake -S . -B build
cmake --build buildCreate a settings.ini alongside the executable:
# UdemySaver settings
# http_proxy=http://127.0.0.1:8080 ; optional
udemy_access_token=PASTE_YOUR_TOKEN_HERE
udemy_api_base=https://www.udemy.com
download_subtitles=true
download_assets=true You can also start the program without a token and paste it via the web interface; the file will be created automatically.
- Log in to Udemy in your browser.
- Open the developer tools (F12) and head to the Application/Storage tab.
- Under Cookies for
www.udemy.com, copy the value ofaccess_token. - Use this value in
settings.inior paste it into the web UI when prompted.
- Run the application:
./UdemySaver- Open a browser at http://127.0.0.1:8080.
- If prompted, paste your Udemy access token.
- Browse your library, choose a course, and click Download.
- Files are saved under a
downloads/directory.
This tool is intended for downloading courses you have legally purchased. Respect Udemy's Terms of Service and local laws when using it.
This project is licensed under the MIT License.