RSSHub
Generate RSS feeds for sites that lack them
RSSHub is an extensible feed generator that creates RSS feeds for thousands of websites and services that do not provide one. It targets users who want feeds from feedless sites. It is deployed via Docker.
Key features
- Feeds for thousands of sources
- Hundreds of community routes
- Pairs with any RSS reader
- Highly extensible
Pros & cons
Strengths
- Feeds from feedless sites
- Huge route catalog
- Active community
Trade-offs
- Some routes break over time
- Not a reader itself
RSSHub replaces
Last reviewed Aug 26, 2026 · 903 words
The public RSSHub instance at rsshub.app is the wrong way to use RSSHub, and that single fact is why the project is worth self-hosting. Shared instances get rate-limited or outright blocked by the sites they scrape, so the route that works for you today returns a 503 tomorrow because 10,000 other people hit the same origin from the same IP. Your own copy uses your own IP, holds your own API keys, and costs about 256 MB of RAM in a container that has run on my box for years without attention.
It makes feeds; it does not read them
RSSHub is a feed generator, not a reader. Every route is a URL pattern that RSSHub fetches on demand, scrapes, and returns as RSS, Atom, or JSON Feed. http://rsshub:1200/github/issue/DIYgod/RSSHub gives you the issue tracker for the RSSHub repo itself; /telegram/channel/durov gives you a public Telegram channel. There are hundreds of route families covering thousands of sources, and the route documentation at docs.rsshub.app lists every parameter each one takes.
You still need something to subscribe to those URLs. FreshRSS or Miniflux on the same Docker network is the usual pairing; the FreshRSS vs Miniflux comparison covers which one to pick. Point the reader at http://rsshub:1200/... over the internal network and RSSHub never needs a public port at all.
The compose file, with the two extras that matter
services:
rsshub:
image: diygod/rsshub:latest
environment:
- CACHE_TYPE=redis
- REDIS_URL=redis://redis:6379/
- PUPPETEER_WS_ENDPOINT=ws://browserless:3000
- ACCESS_KEY=change-me-to-something-long
depends_on:
- redis
- browserless
restart: unless-stopped
redis:
image: redis:alpine
restart: unless-stopped
browserless:
image: browserless/chrome
restart: unless-stopped
Redis is the first extra. RSSHub caches every route's output (the default CACHE_EXPIRE is 300 seconds), and with in-memory caching the cache dies on restart and cannot be shared. Redis makes the cache persistent and lets a reader polling 200 feeds every 15 minutes hit the origin sites far less often, which is also what keeps your IP from being the next one blocked.
Browserless is the second. A minority of routes need a real browser because the target site renders with JavaScript; RSSHub drives one through Puppeteer over the websocket endpoint above. Skip it and those routes fail with an unhelpful error; include it and budget another 500 MB to 1 GB of RAM for Chrome.
ACCESS_KEY matters even on a LAN. Without it, anyone who can reach port 1200 can make your server scrape arbitrary sites on their behalf. With it, every request needs ?key=your-key appended, which your reader handles fine as part of the feed URL.
Some routes need keys, and some will simply break
The honest part of the catalogue's cons list is "some routes break over time", and it is true. RSSHub works by scraping, and the sites being scraped do not care about your feed. The pattern I have seen over several years: routes for sites with stable public APIs (GitHub, Telegram, most podcast hosts, government and university sites) stay working for years; routes for sites that actively fight scraping (anything owned by Meta, X/Twitter, several e-commerce platforms) break every few months and get fixed by community contributors a few weeks later.
Routes with official APIs want credentials in the environment. GITHUB_ACCESS_TOKEN lifts GitHub's anonymous rate limit from 60 to 5,000 requests per hour; YOUTUBE_KEY is required for most YouTube routes; Twitter routes need account cookies and are the most fragile in the catalogue. Read a route's page in the docs before subscribing; if it lists a required config variable, set it first and save yourself a debugging session.
Finding routes without reading the catalogue
The RSSHub Radar browser extension (Chrome and Firefox) is the trick that makes this practical. Visit any site, click the icon, and it lists every RSSHub route that matches the page, plus any native feed the site already publishes. Set your own instance's URL in its options and the routes it offers point straight at your server. Between Radar and the docs search, I have never had to read route source code to figure out a URL.
Update it more often than you think
Because routes are patched constantly, a six-month-old RSSHub image is missing dozens of fixes. I pull the image weekly with an automated updater and have never had a breaking change in the container itself; the environment-variable configuration has been stable for years. The container updates without fires post covers the pattern. If a feed goes quiet, check the docs page for the route before assuming your setup is at fault; the changelog will usually tell you it broke upstream.
What I'd do
Run RSSHub next to your reader on the same Docker network, no public port, ACCESS_KEY set, Redis for cache, browserless only if a route you actually want needs it. Set GITHUB_ACCESS_TOKEN on day one. Subscribe to stable-API sources freely and treat scraped social-media routes as a nice-to-have that will need re-checking. Done that way it is the cheapest, most useful 256 MB in an RSS stack, and it is the piece that turned "this site has no feed" from a dead end into a two-minute job.
Compare RSSHub
21 head-to-head comparisons.
- RSSHub vs FreshRSS
- RSSHub vs Miniflux
- RSSHub vs Fluent Reader
- RSSHub vs RSS-Bridge
- RSSHub vs Winds
- RSSHub vs NewsBlur
- RSSHub vs Stringer
- RSSHub vs yarr
- RSSHub vs Newsboat
- RSSHub vs Feedbin
- RSSHub vs CommaFeed
- RSSHub vs Kill the Newsletter
- RSSHub vs Feeder
- RSSHub vs Tiny Tiny RSS
- RSSHub vs RSS Guard
- RSSHub vs selfoss
- RSSHub vs Fusion
- RSSHub vs RSS-proxy
- RSSHub vs QuiteRSS
- RSSHub vs Nextcloud News
- RSSHub vs osmos::feed
Similar rss & news readers apps
FreshRSS
RSS & News ReadersFree, self-hostable RSS feed aggregator
Replaces Feedly, Inoreader
Miniflux
RSS & News ReadersMinimalist and opinionated RSS feed reader
Replaces Feedly, Inoreader
Fluent Reader
RSS & News ReadersModern desktop RSS reader with a fluent design
Replaces Feedly
RSS-Bridge
RSS & News ReadersGenerate RSS feeds for websites that lack them
Replaces Feedly
Winds
RSS & News ReadersBeautiful open-source RSS and podcast application
Replaces Feedly
NewsBlur
RSS & News ReadersPersonal news reader with training and sharing
Replaces Feedly, Google Reader