Secrets of the LessWrong RSS Feed
LessWrong’s RSS feed includes all recently published articles by default, but it has a bunch of undocumented features available with query params.
Warning: The only officially supported options are view=frontpage, view=curated, and karmaThreshold. Other options may break in the future.
You can request only posts above a certain karma (
karmaThreshold), only with certain authors (userId), frontpage only (view=frontpage), curated-only (view=curated), and several other views.Just the frontpage: https://www.lesswrong.com/feed.xml?view=frontpage
My posts: https://www.lesswrong.com/feed.xml?userId=piR3ZKGHEp6vqTo87[1]
Comments have RSS feeds (
type=comment,view=postCommentsNew,postId,parentCommentIdif you want only replies to a specific comment)Quick takes / shortform have an RSS feed (
view=shortform,view=topShortFormorview=shortformFrontpage)
There’s also a full GraphQL API if you have needs beyond this, but the RSS feed is nice if you want it to work in a normal feed reader.
LessWrong RSS Feed Builder
Since there’s a lot of options, I also built a tool to generate LessWrong RSS feed URLs.
Full Documentation
Note: This was generated by Claude after reading the source code for feed.xml and related utility code. Again, only view=frontpage, view=curated, and karmaThreshold are officially supported.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Set to comments for comment feeds, otherwise returns posts |
view | string | Feed type/view (see views below). Defaults to rss |
karmaThreshold | number | Minimum karma for posts to appear (see threshold logic below) |
filterSettings | JSON | Advanced filtering (JSON-encoded object) |
postId | string | Filter comments to a specific post |
tagId | string | For tagRelevance post view or tag comment views |
userId | string | Filter by author user ID |
parentCommentId | string | For commentReplies view—replies to a specific comment |
parentAnswerId | string | For repliesToAnswer view—replies to a specific answer |
topLevelCommentId | string | For repliesToCommentThread view—full thread under a comment |
forumEventId | string | For forumEventComments view |
sortBy | string | Sort mode for views that support it (see per-view notes) |
Post Feed Views
| View | Description | Sort Order |
|---|---|---|
rss (default) | All newest posts | postedAt descending |
frontpageRss | Frontpage posts only | frontpageDate descending |
curatedRss | Curated posts only | curatedDate descending |
communityRss | Non-frontpage posts with karma > 2 | postedAt descending |
metaRss | Meta posts only | postedAt descending |
tagRelevance | Posts by tag (requires tagId param) | Tag relevance score |
Note: View names can use either camelCase (frontpageRss) or kebab-case (frontpage-rss).
Comment Feed Views
All comment views require type=comments. The limit is hardcoded to 50 results.
General
| View | Description | Sort |
|---|---|---|
rss (default) | Recent comments with positive score (alias for recentComments) | postedAt desc |
recentComments | Recent comments with positive score | postedAt desc |
allRecentComments | All recent comments including neutral/negative score | postedAt desc |
commentReplies | Replies to a specific comment (requires parentCommentId) | postedAt desc |
moderatorComments | Comments posted with a moderator hat | postedAt desc |
Per-Post (require postId)
These views exclude answers and answer-replies (filter answer: false, parentAnswerId: null).
| View | Description | Sort |
|---|---|---|
postCommentsNew | Comments on a post, newest first | postedAt desc |
postCommentsOld | Comments on a post, oldest first | postedAt asc |
postCommentsTop | Comments on a post, highest karma first | baseScore desc |
postCommentsBest | Comments on a post, best first | baseScore desc |
postCommentsMagic | Comments on a post, magic/Wilson sort | score desc |
postCommentsRecentReplies | Comments on a post, by recent subthread activity | lastSubthreadActivity desc |
postsItemComments | Recent non-deleted comments on a post | postedAt desc |
questionAnswers | Answers to a question post (supports sortBy) | baseScore desc |
answersAndReplies | Answers and their replies (supports sortBy) | baseScore desc |
debateResponses | Debate responses on a post | postedAt asc |
recentDebateResponses | Recent debate responses on a post | postedAt desc |
Per-User
| View | Description | Sort |
|---|---|---|
profileComments | Comments by a user (supports sortBy) | postedAt desc |
profileRecentComments | (Deprecated) Recent comments by a user | postedAt desc |
Shortform / Quick Takes
| View | Description | Sort |
|---|---|---|
shortform | Top-level shortform comments | lastSubthreadActivity desc |
topShortform | Top shortform by score (supports before/after) | baseScore desc |
shortformFrontpage | Frontpage shortform (recent, filtered by quality) | score desc |
Per-Tag (require tagId)
| View | Description | Sort |
|---|---|---|
tagDiscussionComments | Discussion comments on a tag | default |
tagSubforumComments | Subforum comments for a tag (supports sortBy) | lastSubthreadActivity desc |
sortBy Values
Views that support the sortBy parameter accept these values:
| Value | Sort Order |
|---|---|
top | baseScore descending |
new / newest | postedAt descending |
old / oldest | postedAt ascending |
magic | score descending |
recentComments | lastSubthreadActivity descending |
Karma Threshold Logic
The karmaThreshold parameter determines when posts appear in the feed based on when they reached certain karma levels. Posts have timestamps for when they exceeded various karma thresholds.
Input values are rounded to the nearest supported threshold:
| Input Range | Actual Threshold | Date Field Used |
|---|---|---|
| < 16 (or not set) | 2 | scoreExceeded2Date |
| 16-36 | 30 | scoreExceeded30Date |
| 37-59 | 45 | scoreExceeded45Date |
| 60-99 | 75 | scoreExceeded75Date |
| 100-161 | 125 | scoreExceeded125Date |
| >= 162 | 200 | scoreExceeded200Date |
The feed item’s date is the later of:
The karma threshold date (when post reached the threshold)
The view-specific date (e.g.,
frontpageDatefor frontpage feed)
This allows higher-threshold feeds to show older posts that recently became popular.
- ^
I don’t know where to get userIds from the UI, so I used the GraphQL API:
$ curl -s -X POST https://www.lesswrong.com/graphql \ -H ‘Content-Type: application/json’ \ -d ‘{”query”: “query { user(input: { selector: { slug: \”brendan-long\” } }) { result { _id } } }”}’ {”data”:{”user”:{”result”:{”_id”:”piR3ZKGHEp6vqTo87″}}}} - ^
You can find postIds in the post URL, i.e. the postId for https://www.lesswrong.com/posts/ioZxrP7BhS5ArK59w/did-claude-3-opus-align-itself-via-gradient-hacking is
ioZxrP7BhS5ArK59w.
Many of these features (eg, karma thresholds) are reachable in the UI by picking “Subscribe (RSS/Email)” in the sidebar on the front page. Other features are just emergent properties of how the code is structured that we chose not to block; in particular the view names aren’t an RSS-specific thing but rather are used internally for other parts of the site. The code that runs LW is open source so you can look at the code (or have an AI look at the code) to learn more.
Any RSS subscription that you can get a link to via the site’s UI will be supported indefinitely, but RSS subscriptions generated in other ways could get accidentally broken by future code changes. We won’t break them on purpose, but we don’t consider ourselves obligated to test or monitor them.
Ah thanks! I never realized these existed since I couldn’t find any info about the feed beyond its existence in searches.
I’ll mention this. The good thing is that missing options seem to generally cause the feed to just show normal articles, which would make it obvious to anyone that their feed isn’t doing what they expected.
Would you be willing to officially support the shortform and per-user feeds? I think most of the other options are fairly obscure and wouldn’t be useful for most people.
FYI, greaterwrong.com also generates RSS feeds, e.g. my posts are at https://www.greaterwrong.com/users/steve2152?show=posts&format=rss. If you go to any greaterwrong user page, you can select posts or comments etc., then click the RSS icon in the top right corner.
I’m also going to note tts podcast feeds exist:
https://feeds.type3.audio/lesswrong--30-karma.rss
and
https://rss.buzzsprout.com/2037297.rss
If this post gets the attention of site mods, I have some requests for the RSS feed:
It would be nice if some pages had meta tags for special RSS feeds: user pages should advertise an RSS feed with the appropriate
userId, front page should includeview=frontpage, shortform front page should include the shortform feed, etc. I’m planning to inject these automatically with my RSS feeder and this issue has a list of ideas.The RSS feed currently injects a “Published at …” line at the start of every entry, which is unnecessary since the entries already have dates. My RSS reader filters these out but it would be nice if it wasn’t injected at all. On a more minor note, it would look nicer if the injected comment link was surrounded with
<p>instead of<br><br>.RSS feeds can include both a summary and full content, and it would be nice if the summary was the social share summary, since some users specifically curate this. To do that, you would put the social blub in
<description>and the full content in<content:encoded>. Most feed readers will ignore this and just use the full content but for the small number of readers that check it will be a slightly nicer experience.You probably should link your PR for #2 lol