Why Your RSSHub Feed Isn't Working and What to Check

Updated

An RSSHub feed usually fails for one of four reasons: the route path or parameters don't match the docs, the target site changed or blocks automated access, the public instance is unreachable or rate-limited, or the route needs a self-hosted instance or extra configuration. Work through these in order — most failures resolve at the first or second check.

1. Verify the route path and parameters

RSSHub feeds follow a predictable URL shape:

https://rsshub.app/<namespace>/<route>/<parameter>

Common mistakes:

  • Wrong namespace or route name. Routes are grouped by site (e.g. a namespace for the service, then the specific route). Copy the path directly from the docs rather than typing it from memory.
  • Missing required parameters. Many routes need a user ID, channel ID, or keyword. If a parameter is required and omitted, the route returns an error or empty feed.
  • Wrong parameter type. Some routes expect a numeric ID, others a slug or username. Passing the wrong type often produces an empty result rather than a clear error.
  • Extra or trailing slashes. A stray / at the end can route to a different handler.

Check: Open the feed URL directly in a browser. A working route returns XML. An error page, redirect, or empty <channel> points to the route itself.

2. Check whether the target site changed or blocks access

RSSHub scrapes or calls the underlying site, so it breaks when the site changes.

  • Site redesign or API change. If the source site restructured its pages or changed its internal API, the route may return empty or stale content until it's updated.
  • Anti-bot protection. Sites behind aggressive bot detection, login walls, or CAPTCHAs often can't be scraped from a shared instance.
  • Login-required content. Routes that need an account usually require you to supply credentials or cookies — a public instance won't have them.

Check: Visit the source page manually. If it now requires login, shows a CAPTCHA, or looks structurally different, the route is likely affected. Check the RSSHub docs or project issue tracker for that route's status.

3. Confirm the instance is reachable and not rate-limited

The public instance at rsshub.app is shared, so it can be slow, rate-limited, or temporarily down.

  • Rate limiting. Too many requests in a short window can return errors. Space out requests and avoid polling aggressively.
  • Instance downtime. The public instance occasionally goes down or is blocked in some regions.
  • Network/region blocks. Your network or region may not reach the instance reliably.

Check: Try a known-good route (a simple, popular one from the docs). If that also fails, the problem is the instance or your connection, not the route.

4. Consider whether you need a self-hosted instance or extra config

Some routes only work reliably on your own deployment.

Situation Likely fix
Route needs login/cookies Self-host and supply credentials
Public instance rate-limits you Self-host to get your own quota
Route is region-restricted Self-host in a suitable region
High-volume or private use Self-host for stability and privacy
Route marked as requiring config Follow the route's setup notes in the docs

Self-hosting also lets you add routes that the public instance disables for policy or load reasons.

Quick diagnostic order

  1. Paste the feed URL in a browser — does it return XML?
  2. Compare the path and parameters against the docs, character by character.
  3. Test a different, known-working route on the same instance.
  4. Check the source site for login walls, CAPTCHAs, or redesigns.
  5. If the route needs credentials or you hit rate limits, self-host.

Most "broken feed" reports trace back to step 1 or 2. Only move to self-hosting once you've confirmed the route and instance are otherwise fine.