The magic of rss feeds and content syndication

February 2, 2026 ThePragmaticProgrammer

Tags: ,

Estimated Reading Time: 5 min

What is RSS

RSS is described by wikipedia as the following:

RSS
RSS (RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many different websites in a single news aggregator, which constantly monitors sites for new content, removing the need for the user to manually check them.[1]

In a less wordy description, RSS is a way to subscribe to a website feed and automatically keep up to date with its contents.

I don’t know about you but that sounds really cool! Who doesn’t want a way to non-algorithmically curate and view content from places you care about and without A.I/ads being shoved in your face every step of the way?

How to see RSS

Now that you’ve (hopefully) decided that RSS is awesome you might be wondering how does one do the whole RSS thing? Well you just follow three simple steps:

  1. Get a news aggregator (RSS client)
  2. Find some feeds you want
  3. Enjoy!

There are tons of news aggregators out there so do your own research but I personally use newsboat[2] as I’m a sucker for console apps. If you want to customize newsboat a bit then the newsboat docs are a handy resource for the specific functionalities and this post[3] was really helpful for figuring out how to customize the look of newsboat.

Here is my config to give you an idea of how it can look.

newsboat UI after customization [4]

Places you can get feeds from

After you’ve picked an aggregator to use, now you have to choose some feeds to subscribe to. You can use tools like fetchrss[5] to generate feeds from almost any site however you’re now relying on them staying in business to keep getting feeds so for the sake of this post I will be focusing on places that have native feeds.

Note: X/Twitter is a hellsite and anything by Meta is super locked down and doesn’t have feeds available so unfortunately those are out of the scope of this post.

FreshRSS

FreshRSS[6] is a self-hosted aggregator by main functionality meaning that you put all your feeds here and can read them from the web UI. However, it’s also possible to use it a dumb aggregator and read the feeds from something like newsboat instead making it a really good choice if you have multiple clients you want to read RSS from.

I’ve never used it so I can’t speak to the experience but I have yet to see a negative review so make of that what you will.

Podcasts

If you happen to like podcasts then RSS is perfect for you. All podcasts have an RSS feed and you can find them here[7] and then add that url to your aggregator. Newsboat comes with a sister program called podboat that lets you manage and listen to podcasts you queue for download in newsboat which makes a nice (almost) all-in-one solution for this stuff.

Blogs

Most blogs (including mine) and news sites will have an RSS option available somewhere, they might not always have a direct link but if you put /rss at the end of a root url you’ll more often than not get a hit.

YouTube

Surprisingly, YouTube has RSS feeds built-in although they don’t have an easy way to access them. It was mentioned in this video[8] by Veronica Explains that the channel_id always starts with UC… you might see where I’m going with this.

Let’s take a look at what we get when we curl Veronicas’ channel.

$~:curl https://www.youtube.com/@VeronicaExplains
...about 1 million lines of garbage
{"title":"Veronica Explains","description":"I'm Veronica! I love Linux, old computer hardware, and explaining things.\n\nSome folks call me the Linux Mom, and that works for me. I'm a sysadmin and COBOL lady who's posting fun content about cool things you can do with Linux, as well as some fun retro tech stuff I come across!",
"rssUrl":"https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ","
...about 1 million lines of garbage

I’ve cut out all the garbage data to make this readable but I think you should go curl a channel and see how crazy the output is. Anyways, see that “rssUrl” key value pair? The “https://www.youtube.com/feeds/videos.xml?channel_id=UC” stays the same for every single channel so you can grep that out and have an automated system to get YouTube RSS feeds! I have already made a script[9] to do this which takes up to 255 (I think? it takes the maximum amount of bash command arguments) channels and makes a nice list of the RSS feeds.

Odysee

Odysee[10] is an alternative to YouTube kind of like PeerTube[11], however it does not mirror YouTube unless creators choose too so it’s a more independent platform. Odysee channels have an RSS button built-in which is pretty cool so if you’re over there then you can very easily get feeds.

Reddit

Reddit is another surprisingly easy site to get a feed from, just go to whatever user or subreddit you want to keep updated on and add .rss[12]… yup it’s that easy!

Fediverse

I personally don’t use any fediverse sites however when looking stuff up for this post I did see that bsky[13] has built-in RSS feeds as of 2024, at least according to this post[14] and it appears to work. Just add /rss to whatever public profile you want the feed for.

Same story for mastodon[15], just add .rss[16] to the end of a public profiles url. It can even do tags!

Conclusion

As is tradition, thank you for reading! I genuinely think RSS is really cool and hopefully I’ve convinced you to at least give it a try. I had quite a bit of fun making this post, especially with the YouTube part, it’s really fun to find a problem like that make a little tool to solve it :) Unrelated, I made a few QOL improvements to the site again:

  • tags page which shows all the tags and how many posts are associated with each
  • added lines of code to relevant code blocks on all posts so far
  • added hard-links to all posts in order of appearance since I noticed that newsboat doesn’t extract links from posts as I was making this one (I thought it did but apparently not). Hopefully this makes it a bit nicer for any terminal viewers :)

It’s already been a month of the new year which is crazy. Anyways, go out there and aggregate some feeds! Until next time fellow citizens of the Wired.

[1] rss definition -> https://en.wikipedia.org/wiki/rss

[2] newsboat -> https://newsboat.org

[3] smarttech newsboat setup -> https://smarttech101.com/how-to-setup-newsboat-rss-reader-in-linux

[4] newsboat UI image -> https://progblog.pages.dev/images/magicrss/news.png

[5] fetchrss -> https://fetchrss.com/

[6] FreshRSS -> https://github.com/FreshRSS/FreshRSS

[7] find podcast rss feeds -> https://rss.com/tools/find-my-feed/

[8] veronica explains video -> https://www.youtube.com/watch?v=NUmTaRu6o8g

[9] youtube rss feed script -> https://codeberg.org/StrayB1ts/tools/src/branch/main/ytrss.sh

[10] odysee -> https://odysee.com/

[11] peertube -> https://peertube.tv/

[12] howtogeek reddit rss -> https://www.howtogeek.com/320264/how-to-get-an-rss-feed-for-any-subreddit/

[13] bsky -> https://bsky.social/about

[14] how to get rss feed from bsky -> https://openrss.org/blog/bluesky-has-launched-rss-feeds

[15] mastodon -> https://mastodon.social/

[16] mastodon rss -> https://mstdn.social/@feditips/108357998963885456