RSSHub is an open-source RSS generator that solves a specific problem: many websites — social media, forums, university notice boards, video platforms — do not offer RSS feeds natively, and RSSHub converts their content into standard RSS/Atom feeds. The usage pattern is "route + instance domain": find the route path for a target site in the documentation, append it to any RSSHub instance domain, and you get a subscription URL ready for any feed reader. The project was created by developer DIYgod in 2018, with all code public on GitHub — about 46,000 stars as of 2026-09-02; its README describes it as "the world's largest RSS network," made up of more than 5,000 instances worldwide.

The RSSHub documentation site homepage: "Everything is RSSible," with feature cards for openness, community, and out-of-the-box use

What sets RSSHub apart from other subscription services is that it is not a hosted product run by a company: it is open-source, self-hostable software plus a loose network of instances. The team maintains a single demo instance, rsshub.app, while encouraging users to self-host or use third-party public instances.

At a glance

  • URL: demo instance https://rsshub.app/; documentation https://docs.rsshub.app/; source https://github.com/DIYgod/RSSHub
  • Type: open-source RSS generator (Node.js service with Docker images and an npm package) plus an instance network
  • Cost: free; code released under the AGPL-3.0 license; donations accepted via OpenCollective and other channels
  • Registration: none (instances need no account; self-hosted instances are controlled by their operator)
  • Interface language: documentation available in English and Simplified Chinese
  • Mobile: no official app; companion apps in the ecosystem include RSSBud (iOS) and RSSAid (Android)

Background

The RSSHub GitHub repository was created on April 2, 2018 by DIYgod, who still maintains it; new routes and features come largely from community contributors, whom the documentation site numbers at over 1,300. As of 2026-09-02 the repository has 45,982 stars and 10,185 forks (measured via the GitHub API), and its lib/routes directory holds roughly 1,900 source namespaces.

One easily outdated fact is the license: RSSHub spent years under the MIT license, and many write-ups still say so, but a commit dated December 28, 2025 changed the license to AGPL-3.0, and both the README and the documentation site have been updated. Under the AGPL, if you modify RSSHub and offer it as a network service, your modified code must also be published.

Funding comes from donations and vendor sponsorships: the README's acknowledgements list an OpenCollective donation channel, DIYgod's personal GitHub Sponsors, and product sponsorships from Cloudflare, Netlify, and 1Password.

How routes work

The RSSHub public instances documentation page: the official rsshub.app instance and a list of third-party public instances

The core concept in RSSHub is the "route": each route is a subscription rule for one source site, with parameters in its path. Using the documentation's own example, the Telegram channel route is /telegram/channel/:username; replace :username with a channel id (e.g. awesomeRSSHub), prepend the instance domain, and you get the feed https://rsshub.app/telegram/channel/awesomeRSSHub, ready for any RSS reader. The instance domain can be swapped for a self-hosted instance or any public one.

Several supporting layers surround the routes (see the official guide):

  • Common parameters: every route accepts query parameters for content filtering, full-text output, item limits, and more, without the route itself implementing them.
  • Radar rules: a set of "website URL → RSSHub route" mappings, used by the RSSHub Radar browser extension and companion apps to auto-detect subscribable feeds while you browse.
  • API and npm package: instances expose an API, and RSSHub can also be embedded as an npm package in Node.js projects to request route data programmatically.
  • Route documentation: each route has its own documentation page listing parameters, examples, and anti-scraping warnings.

Instances: official demo, public instances, and self-hosting

RSSHub follows a decentralized instance model, and the public instances page lays out three tiers:

  • Official demo instance rsshub.app: runs the latest master-branch build with a 120-minute cache, free to use. The official FAQ warns that routes flagged "strict anti-crawling" (popular sites such as Facebook) can be unreliable on the demo instance because of per-IP request quotas, and recommends self-hosting for better usability. In our own test on 2026-09-02, opening rsshub.app from our test environment was intercepted by a Cloudflare human-verification challenge (HTTP 403), showing the demo entrance sits behind anti-automation measures and actual reachability varies by network; the documentation site docs.rsshub.app loaded normally.
  • Third-party public instances: the documentation lists 18 community-run public instances (as of 2026-09-02) in various countries, free to use at your own discretion — availability and data handling are each operator's responsibility.
  • Self-hosting: the officially recommended path is Docker Compose deployment, with images on Docker Hub (diygod/rsshub) and GitHub Container Registry; routes that need to render web pages can use the chromium-bundled tag. npm, Heroku, Fly.io, Zeabur, and Sealos are also supported. Some routes only work once you configure target-site cookies or proxies on your own instance.

Content sourcing and compliance notes

RSSHub produces no content of its own: per the official FAQ, it fetches data from the source site when a request arrives, outputs it in RSS format, and caches results to reduce load on the source. This creates two practical boundaries: some source sites explicitly fight scraping, so the corresponding routes are inherently unstable; and the copyright status of scraped content, along with the source site's terms, is for the user to judge — the RSSHub project grants no content license. A related quirk: source sites often hotlink-protect their images, so RSSHub adds referrerpolicy="no-referrer" to images, but some third-party readers strip that attribute and images break; the FAQ suggests workarounds.

When it is useful

  • Subscribing to updates from sites without native RSS: social accounts, forum boards, video and livestreaming platforms, university announcements
  • Filtering information with common parameters (keyword-only pushes, full-text output)
  • Building automation pipelines that use RSS as an intermediate format feeding IFTTT, Telegram bots, and the like
  • Self-hosting a private subscription service if you care about data sovereignty

Limitations

  • The official demo instance has anti-scraping and quota limits; popular routes are unstable, so serious use basically requires self-hosting or picking a public instance.
  • Routes depend on source-site page structures; a redesign breaks them, and repair speed depends on the community.
  • Self-hosting carries an operations burden: a Node.js/Docker environment, Redis caching, and cookies, proxies, or Puppeteer rendering for some routes.
  • The project grants no content license; compliance risk from redistributing scraped third-party content rests with the user.

Similar projects

RSS-Bridge is an open-source project with the same goal (a PHP implementation that generates feeds for sites without RSS); Huginn is a more general self-hosted automation agent that can also watch web pages and emit RSS. All three are open source and self-hostable — pick based on your stack and needs.

References