February 4, 2021

How to switch from email to RSS for YouTube subscriptions

Some time ago YouTube removed the option of receiving new videos from channels that you are subscribed to via email. I loved using email because it was easy to sift through new videos, delete those that are not interested and leave unread those that I want to watch a bit later.

Unfortunately, I had to start using the YouTube web interface. A Major drawback of using web interface is that you have to check Subscriptions page often (once every few days) or you would lose the threshold between what you already saw and what you did not see. This also meant that I started using “Watch Later” list, but that was fine.

And today I’ve found out that YouTube still supports RSS for individual channels. I am an avid RSS user too. I’ve been using Feedly since Google Reader was closed.

So, the only problem was how to add all 300+ subscriptions that I have to Feedly. I didn’t want to do that manually.

The quickest way to get the list of my subscriptions was to use Google Takeout. If you select only YouTube subscriptions there, the file would be tiny.

Google Takeout

You will get zip with json file inside that is easy to parse with jq and a bit of bash and to convert to the list of proper URLs.

$ cat subscriptions.json | jq -r ".[].snippet.resourceId.channelId" > rss_list
$ for x in $(cat rss_list); do echo "https://www.youtube.com/feeds/videos.xml?channel_id=$x" >> url_list; done;

Feedly supports importing feeds from OPML file. OPML file is a pretty simple XML file, and you could generate it manually, but I chose to use ready-made solution from https://opml-gen.ovh/.

OPML

This site gave me subscriptions.xml file that I could easily give Feedly to consume.

Feedly

The only thing left is to categorize channels if you wish to do that.