Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Youtuber allows you to create an Atom feed out of a Youtube channel, complete with HD video enclosures allowing you to subscribe to the channel with the podcast client of your choice, and view the downloaded videos with the player of your choice.


You'll need:

  • Python
  • youtube-dl (, or in Ubuntu: sudo apt-get install youtube-dl)
  • A webserver, like Apache (only if you don't want to host videos locally)
  • Linux or Mac (if somebody can make this work on Windows, be my guest)


After downloading the source, build out the project (from the checkout directory). Bootstrapping may need to be run with "sudo", depending on how you've installed Python. If you're uncomfortable with that, you can build your own Python from source so you don't pollute your system Python (which is what I do), or you can use virtualenv:

$ python
$ bin/buildout


You can now fetch a Youtube channel, and all recent videos will be downloaded to the directory of your choice. An Atom feed will also be dropped in the directory, which will link directly to the downloaded files.

Here's an overview of what options you have:

Usage: youtuber [options]

-h, --help            show this help message and exit
                        Youtube user name to download
-d DEST_DIR, --dest=DEST_DIR
                        Directory to put videos and RSS feed
                        Prefix URL
-b DAYS_BACK, --days-back=DAYS_BACK
                        Days back to download videos

And here's an example of downloading the past week's videos from

$ bin/youtuber --user=testedcom --prefix=
    --dest=/tmp/youtube --days-back=7

This will download all the videos uploaded by testedcom in the past week into /tmp/youtube (unless they've already been downloaded). It will also drop an atom.xml in /tmp/youtube with links to all the downloaded videos (prefixed with If you're running this on a web server, you'll want this to be the web-reachable directory where the videos will be served from. If you're running this locally, you'll probably want a file://... prefix.

I personally run this as a cron job on a web server to fetch new videos every couple hours, and subscribe to the feed with my podcast client. I also advise running tmpwatch on the directory occasionally to delete old videos, especially if storage becomes an issue.


Create an Atom feed of a Youtube Channel, with HD video downloadable enclosures



No releases published


No packages published