Parameters
TIP
Parameters here are actually URI query and can be linked together with &
to generate a complex feed.
Parameters here need to be placed after the route path. Some routes may have custom route parameters and parameters here need to be placed after them.
E.g.
https://rsshub.app/twitter/user/durov/readable=1&includeRts=0?brief=100&limit=5
If a output format (.atom
, .rss
, .json
, .debug.json
) is set, it needs to be placed between the route path (including custom route parameters) and other parameters.
E.g.
https://rsshub.app/twitter/user/durov/readable=1&includeRts=0.atom?brief=100&limit=5
# Filtering
Warning
Please make sure you've fully URL-encoded (opens new window) the parameters. Do not rely on the browser's automatic URL encoding. Some characters, such as +
, &
, will not be automatically encoded, resulting in the final parsing result not being correct.
Warning
filter supports Regex, and due to the fact that some Regex are vulnerable to DoS (ReDoS), default engine re2
blocks some of these functionalities available in node Regexp
. These two engines also behaves a bit different in some corner cases. Details (opens new window)
If you need to use a different engine, please refer to Deploy->Features->FILTER_REGEX_ENGINE.
The following URL query parameters are supported, Regex support is built-in.
Set filter
to include the content
filter
: filtertitle
and descriptionfilter_title
: filtertitle
onlyfilter_description
: filterdescription
onlyfilter_author
: filterauthor
onlyfilter_category
: filtercategory
onlyfilter_time
: filterpubDate
, in seconds, return specified time range. Item withoutpubDate
will not be filtered.
E.g. https://rsshub.app/dribbble/popular?filter=Blue|Yellow|Black (opens new window)
Set filterout
to exclude unwanted content.
filterout
: filtertitle
and descriptionfilterout_title
: filtertitle
onlyfilterout_description
: filterdescription
onlyfilterout_author
: filterauthor
onlyfilterout_category
: filtercategory
only
E.g. https://rsshub.app/dribbble/popular?filterout=Blue|Yellow|Black (opens new window)
Set filter_case_sensitive
to determine whether the filtering keywords should be case sensitive. The parameter would apply to both filter
and filterout
.
Default: true
# Limit Entries
Set limit
to limit the number of articles in the feed.
E.g. Dribbble Popular Top 10 https://rsshub.app/dribbble/popular?limit=10 (opens new window)
# Sorted
Set sorted
to control whether to sort the output by the publish date (pubDate
). This is useful for some feeds that pin some entries at the top. Default to true
i.e. the output is sorted.
E.g. NJU Undergraduate Bulletin Board https://rsshub.app/nju/jw/ggtz?sorted=false (opens new window)
# Fulltext
Enable fulltext via mode
parameter.
E.g. Bilibili article https://rsshub.app/bilibili/user/article/334958638?mode=fulltext (opens new window)
# Access Control
Set key
or code
to grant access to requests. See Access Control Configuration.
# Telegram Instant View
Replace website link with Telegram's Instant View link.
Enable Telegram Instant View requires a page template, it can be obtained from Telegram's Instant View page (opens new window)
tgiv
: template hash, obtained from the link of template page generated(the string after&rhash=
)
E.g. https://rsshub.app/novel/biquge/94_94525?tgiv=bd3c42818a7f7e (opens new window)
# Sci-hub link
Output Sci-hub link in scientific journal routes, this supports major journals or routes that output DOIs.
scihub
: set to any value
E.g. https://rsshub.app/pnas/latest?scihub=1 (opens new window)
# Conversion between Traditional and Simplified Chinese
opencc
:s2t
(Simplified Chinese to Traditional Chinese)、t2s
(Traditional Chinese to Simplified Chinese), other optional values refer to simplecc-wasm - Configurations (opens new window)
E.g. https://rsshub.app/dcard/posts/popular?opencc=t2s (opens new window)
# Multimedia processing
Warning
This is an experimental API
image_hotlink_template
and multimedia_hotlink_template
allow users to supply templates to replace media URLs. Certain routes plus certain RSS readers may result in users needing these features, but it's not very common. Vulnerable characters will be escaped automatically, making XSS attack impossible. The scope of URL replacement is limited to media elements, making any script URL unable to load and unable to cause XSS. As a result, users can only take the control of "where are the media from". These features are commonly side-effect-free. To enable these two parameters, please set ALLOW_USER_HOTLINK_TEMPLATE
to true
image_hotlink_template
: replace image URL in the description to avoid anti-hotlink protection, leave it blank to disable this function. Usage reference #2769 (opens new window). You may use any property listed in URL (opens new window) (suffixing with_ue
results in URL encoding), format of JS template literal. e.g.${protocol}//${host}${pathname}
,https://i3.wp.com/${host}${pathname}
,https://images.weserv.nl?url=${href_ue}
multimedia_hotlink_template
: the same asimage_hotlink_template
but apply to audio and video. Note: the service must follow redirects, allow reverse-proxy for audio and video, and must drop theReferer
header when reverse-proxying. Here is an easy-to-deploy project that fits these requirements (opens new window). The project accepts simple URL concatenation, e.g.https://example.com/${href}
, in whichexample.com
should be replaced with the domain name of the service you've deployedwrap_multimedia_in_iframe
: wrap audio and video in<iframe>
to prevent the reader from sendingReferer
header. This workaround is only compatible with a few readers, such as RSS Guard and Akregator, which may not support the previous method. You can try this method in such a case
There are more details in the FAQ.
# Output Formats
RSSHub conforms to RSS 2.0, Atom and JSON Feed Standard, simply append .rss
, .atom
or .json
to the end of the feed address to obtain the feed in corresponding format. The default output format is RSS 2.0.
E.g.
- Default (RSS 2.0) - https://rsshub.app/dribbble/popular (opens new window)
- RSS 2.0 - https://rsshub.app/dribbble/popular.rss (opens new window)
- Atom - https://rsshub.app/dribbble/popular.atom (opens new window)
- JSON Feed - https://rsshub.app/twitter/user/DIYgod.json (opens new window)
- Apply filters or URL query - https://rsshub.app/dribbble/popular.atom?filterout=Blue|Yellow|Black (opens new window)
# Debug
If the RSSHub instance is running with debugInfo=true
enabled, suffixing a route with .debug.json
will result in the value of ctx.state.json
being returned.
This feature aims to facilitate debugging or developing customized features. A route developer has the freedom to determine whether to adopt it or not, without any format requirement.
For example:
/furstar/characters/cn.debug.json
# Brief introduction
Set the parameter brief
to generate a brief pure-text introduction with a limited number of characters ( ≥ 100
).
For example:
- Brief introduction with 100 characters:
?brief=100