Teachable is a platform that allows you to deliver online courses with your own brand. Rather than using a third-party provider like Udemy, you can host the platform under your own domain.

I’m a member of a few online schools that are build with the Teachable infrastructure.

Two weeks ago, I was on the road with a spotty internet connection. I knew I wanted to download a slew of courses.

Teachable allows you to download videos. But you have to manually go through each section and click the download button.

Is there an easier way?

How To (Mass-)Download Videos from Teachable

Make sure that downloading videos isn’t against the terms of services of your provider before you download courses!

youtube-dl

You need youtube-dl, a popular Python package that allows you to download videos from several platforms.

For Unix (Linux, MacOS):

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Other installation instructions are available on GitHub.

Get Cookies

You’ll need a file that stores your cookies.

For Chrome, look no further than cookies.txt by Genuinous.
Firefox also has plugins, for example, cookies.txt by Lennon Hill.

You’ll need to login into your account on the Teachable platform.

Then fire up the cookies extension and save the text file to your computer.

example cookies text image from the cookies.txt Google Chrome extension

Navigate to the course in your web browser. The URL will be something like <URL-of-the-course-platform>/courses/enrolled/<some-number>.

In your terminal, you are now able to download the course:

youtube-dl --cookies cookies.txt -o "./%(chapter_number)s-%(chapter)s/%(autonumber)03d-%(title)s.%(ext)s" <URL-of-the-course-platform>/courses/enrolled/<some-number>

The above command will create separate folders for each section. It will number the different videos.

The tool is not able to download text-only lessons. But youtube-dl will download all video files.

You can learn more about the output template on GitHub. Maybe you want to adjust it.

If your internet connection drops, you can re-start the download with the -c flag.

Adjust the location of your cookie to your needs. For example, if you downloaded the text file into ~/home/Downloads the above command should read youtube-dl --cookies ~/home/Downloads/cookies.txt ....

Done!

Using youtube-dl is a convenient method to download the videos of your courses for offline use.

The output templates require some command-line knowledge. It took me several tries to find a template that worked for me.

Further Reading

  • youtube-dl - download videos from youtube.com or other video platforms