How to Download Udacity Nanodegree Course Content

Prashant Dandriyal
3 min readAug 9, 2020

If MEDIUM troubles you asking for membership,

Read it @ pra-dan.github.io

The step-by-step tutorial is based on Udacimak — A Udacity Nanodegree Downloader. It allows you to download all the video and text-related content from the courses that you are enrolled in. It is a CLI-based method. I will use ubuntu-18.04 LTS for demonstration.

Note: Udacimak was inspired after Udacity announced in October 2018 that students who graduate will no longer have life-time access to the course content.

Pre-requisites:

As per the source repo, these are enough to get started but believe me, its not so simple. That’s why I wrote this.

Step 1: Install latest version of node

Open a terminal and execute

$ sudo apt update
$ sudo apt install build-essential checkinstall libssl-dev
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.1/install.sh | bash

Then close the terminal and reopen it.

Now, re-install nvm as

$ nvm --version
$ nvm ls
$ nvm ls-remote

The execution of last command looks somewhat like this. Note that I have installed the latest version.

Now run

$ nvm install 14.7.0

Step 2: Authenticate your Udacity login

There are 3 methods to do so, as mentioned here. I prefer the following method.

  • Visit classroom.udacity.com and log in
  • Open the Developer Tools (press Cmd + Opt + J on MacOS or F12 on Windows or Ctrl + Shift + C on ubuntu)
  • Go to Application tab, then Storage > Cookies > https://classroom.udacity.com.
  • Find _jwt key, its Value is the Udacity authentication token.

As demonstrated here:

Now run

$ udacimak settoken YOUR_LONG_TOKEN_FROM_JWT_KEY

Step 3: Download the contents as json

To get the index of your course, enter the dashboard of your Nanodegree Program

And the index can be found in the URL : https://classroom.udacity.com/nanodegrees/nd131/dashboard/overview

nd131 is the answer in my case.

Now run

$ udacimak download YOUR_INDEX #nd131 FOR ME

You will find a not-so-big file with the name of your course. You must rename it to a better name as it contains whitespaces which often cause trouble. I renamed it to course

Step 4: Install “youtube-dl”

This is perhaps the most prone issue that udacimak users get into. Install it using

$ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
$ sudo chmod a+rx /usr/local/bin/youtube-dl
$ sudo ln -s /usr/bin/python3 /usr/local/bin/python

Step 5: Render the json files

Its time to get the actual content from YouTube and other sources.

  • Create a new directory (say render) where you wish to save the final course content.
  • Now run
$ udacimak render course --targetdir render

You should see the files (mainly youtube videos and gifs) getting downloaded smoothly. If you notice errors, its probably because you didn’t install youtube-dl.

That’s it ! Happy Learning :D

If I could help you, you can also send me some crypto like Solana, Ethereum, Doge or coins on BSC. 🤠

SOL wallet: Geyvsojk1KAegziagYAJ5HWaDuAFYKZAS2KpqZeag9DM

BSC wallet: 0x47acC4B652166AE55fb462e4cD7DD26eFa97Da04

ETH wallet: 0x47acC4B652166AE55fb462e4cD7DD26eFa97Da04

Doge wallet: DFT6Pydzw7RAYG1ww4RRfctBKqyiXbbBwk

--

--