12

One can obtain RSS feeds for individual channels by using the Export to RSS readers feature or by using the below, but these yield multiple RSS feeds, one for each channel/user.

  • RSS for YouTube Channel: https://www.youtube.com/feeds/videos.xml?channel_id=[channel id]
  • RSS for YouTube User: https://www.youtube.com/feeds/videos.xml?user=[username]

I want a single feed for all my subscriptions.

Ideal solution would be a single RSS feed for all YouTube Subscriptions provided by YouTube itself, but I can't seem to find one.

I have read multiple questions about combining multiple RSS feeds to obtain a single feed (here and here among several others), but this will require repeating the process when I unsubscribe to an old channel or add a new channel. This is not ideal, plus a lot of the answers are now obsolete (for example, Yahoo pipes is shutdown).

Is it possible to create a single RSS feed for all YouTube Subscriptions so that I will be notified when new videos are posted?

(Similar to the subscription page on youtube https://www.youtube.com/feed/subscriptions, except in rss form). Surprisingly, the url has feed in it, but there is no RSS feed for the page.

There is the new Notifications feature in YouTube that alerts me when there are new videos, but I have to visit the website and/or keep it open. Is it possible to extract/create an RSS feed from YouTube notifications?

2
  • I think you don't like the fact that the other answer doesn't solve your problem. But if there was an answer to this question, it would also be an answer to the other question. So for that reason, it seems like a dupe to me. Commented Dec 16, 2019 at 4:43
  • 4
    Does this answer your question? How do I get an RSS feed of my YouTube subscriptions? Commented Dec 16, 2019 at 4:43

4 Answers 4

4

This is one of the features that got lost in the transition from the YouTube Data API v2 to v3; YouTube does not have a feed for a user's subscriptions anymore represented in RSS/Atom.

As a workaround, you can use the individual channel's feeds and then use a feedreader that supports a "folder view", at which point we're pretty much exactly where you started with your question.

3

The Subscription Manager page is not (no longer) linked anywhere that I could find but it still exists: https://www.youtube.com/subscription_manager and there is a functional Export button at the bottom.

However, the resulting XML/OPML file is a static snapshot of all subscribed channels into one folder, so unfortunately you will need to repeat the export and import into your reader every time you add or delete a subscription, or curate the list manually in your reader. I have not tried to use the direct download link itself in my reader, which is https://www.youtube.com/subscription_manager?action_takeout=1 (for which you would need to be logged in at YouTube, so I'm sure that won't work from a reader).

This does update the individual channels. The 15 most recent videos of each channel are listed and updated when there are new videos.

1
  • 2
    This was working until at least October 24, 2020, but since November 1, 2020 it no longer seems to be working. Commented Jan 17, 2021 at 21:01
2

I was able to do this by following the instructions in David Hariri' blog post YouTube Subscriptions via RSS:

  1. Navigate to https://www.youtube.com/feed/channels
  2. Scroll to the bottom. Keep scrolling until it has loaded all of your subscriptions.
  3. Open the console in the dev tools and paste this script in and press Return:
    var opmlData = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OPML version=\"1.0\">\n<body>\n<outline text=\"YouTube Subscriptions\" title=\"YouTube Subscriptions\">\n" + JSON.stringify(ytInitialData.contents).match(/"channelId":\s*"([^"]+)",\s*"title":\s*{\s*"simpleText":\s*"([^"]+)"\s*}/g).map(match => /"channelId":\s*"([^"]+)"/.exec(match)[1]).map(cid => `<outline type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=${cid}" />`).join('\n') + "\n</outline>\n</body>\n</opml>"; var blob = new Blob([opmlData], { type: 'text/xml' }); var a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'subscriptions.opml'; a.click(); 
  4. You should get a prompt to allow downloads on the page. Accept it and you should have the .opml file you need for your RSS reader.
-3

Just add your entire OPML file to a reader like Inoreader and then click add to folder, ... boom.

1
  • 1
    This is a workaround, not a solution, and it’s just a repeat of the accepted answer. Commented Apr 25, 2017 at 10:29

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.