Lobsters
App · News · 9 actions
Read Lobsters, the computing link aggregator: pull the Hottest, Newest and Active feeds, follow a tag, a category, a website or a person, and open any story with its full comment thread.
Actions
| Action | What it does |
|---|---|
| Get a comment | Read one comment on its own: its text, its score, who wrote it and which story it belongs to. |
| Get a story | Read one story together with its whole comment thread. |
| Get someone's profile | Read a Lobsters profile: how long they have been a member, their karma, their write-up, who invited them, and the GitHub and Mastodon accounts they have linked. |
| Get someone's stories | Read the stories one person has submitted to Lobsters, newest first. |
| Get stories | Read one of Lobsters' three front-page feeds: Hottest (the front page, ranked by the site's own hotness), Newest (in the order they were submitted) or Active (whatever is being discussed right now). |
| Get stories from a site | Read every story Lobsters holds that links to one website, newest first: everything from lwn.net, or from your own blog. |
| Get stories in a category | Read the stories in one of the twelve groups Lobsters files its tags under: programming languages, operating systems, tools, practices and so on. |
| Get stories with a tag | Read the stories carrying one or more Lobsters tags, newest first: 'rust', 'security', 'ask' and the hundred-odd others the site files stories under. |
| List tags | Read every tag Lobsters files stories under, alphabetically, each with the site's own description of it and the category it belongs to. |
Get a comment
Read one comment on its own: its text, its score, who wrote it and which story it belongs to. Takes the comment's id or any link to it, including the '#c_…' link a browser copies from the middle of a thread.
Inputs
- Comment
commenttextRequired - The comment's id or a link to it.
Outputs
commentobject
Example output
{
"comment": {
"comment": "It was a level-headed piece.",
"comment_html": "<p>It was a level-headed piece.</p>",
"commenter": "cpurdy",
"created_at": "2026-09-14T14:30:17.379-05:00",
"created_at_utc": "2026-09-14T19:30:17.379000+00:00",
"depth": 0,
"flags": 0,
"is_deleted": false,
"is_moderated": false,
"last_edited_at": "2026-09-14T14:30:17.047-05:00",
"last_edited_at_utc": "2026-09-14T19:30:17.047000+00:00",
"lobsters_url": "https://lobste.rs/c/xxi38g",
"parent_comment": null,
"score": 30,
"short_id": "xxi38g",
"story_short_id": "1ifr5f",
"url": "https://lobste.rs/s/1ifr5f/contagion_fear#c_xxi38g"
}
}Get a story
Read one story together with its whole comment thread. Takes the six-character id Lobsters gives a story or any lobste.rs link to it, including one copied from a browser. Comments come back as a flat list, each carrying how deep in the thread it sits and which comment it replies to, so a step can read them straight through or rebuild the thread from them.
Inputs
- Story
storytextRequired - The story's id or a link to it, such as https://lobste.rs/s/1ifr5f.
Outputs
commentsliststoryobject
Example output
{
"comments": [
{
"comment": "It was a level-headed piece.",
"comment_html": "<p>It was a level-headed piece.</p>",
"commenter": "cpurdy",
"created_at": "2026-09-14T14:30:17.379-05:00",
"created_at_utc": "2026-09-14T19:30:17.379000+00:00",
"depth": 0,
"flags": 0,
"is_deleted": false,
"is_moderated": false,
"last_edited_at": "2026-09-14T14:30:17.047-05:00",
"last_edited_at_utc": "2026-09-14T19:30:17.047000+00:00",
"lobsters_url": "https://lobste.rs/c/xxi38g",
"parent_comment": null,
"score": 30,
"short_id": "xxi38g",
"story_short_id": "1ifr5f",
"url": "https://lobste.rs/s/1ifr5f/contagion_fear#c_xxi38g"
}
],
"story": {
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
}Get someone's profile
Read a Lobsters profile: how long they have been a member, their karma, their write-up, who invited them, and the GitHub and Mastodon accounts they have linked. Takes the username in any capitalisation or a link to the profile.
Inputs
- Username
usernametextRequired - Whose profile to read.
Outputs
userobject
Example output
{
"user": {
"about": "<p>Hi, I'm Peter Bhat Harkins.</p>",
"avatar_url": "https://lobste.rs/avatars/pushcx-100.png",
"created_at": "2012-08-14T20:25:08.000-05:00",
"created_at_utc": "2012-08-15T01:25:08+00:00",
"github_username": "pushcx",
"invited_by": "jcs",
"is_admin": true,
"is_moderator": true,
"karma": null,
"lobsters_url": "https://lobste.rs/~pushcx",
"mastodon_username": "lobsters",
"username": "pushcx"
}
}Get someone's stories
Read the stories one person has submitted to Lobsters, newest first. Takes the username in any capitalisation, with or without its leading '~', or a link to their profile.
Inputs
- Username
usernametextRequired - Whose submissions to read.
- Number of stories
limitnumber - How many stories to return (1–100). Defaults to 25, which is one page on Lobsters; larger numbers read further back.From 1 to 100. Default:
25.
Outputs
result_countnumberresultslistusernametext
Example output
{
"result_count": 1,
"results": [
{
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
],
"username": "rrampage"
}Get stories
Read one of Lobsters' three front-page feeds: Hottest (the front page, ranked by the site's own hotness), Newest (in the order they were submitted) or Active (whatever is being discussed right now). Stories come back in the feed's own order, each with its link, tags, score, comment count and who submitted it.
Inputs
- Feed
feedtext - Which feed to read. Defaults to Hottest, the site's front page.One of:
hottest(Hottest (the front page)),newest(Newest (as submitted)),active(Active (most discussion right now)). Default:hottest. - Number of stories
limitnumber - How many stories to return (1–100). Defaults to 25, which is one page on Lobsters; larger numbers read further back.From 1 to 100. Default:
25.
Outputs
feedtextresult_countnumberresultslist
Example output
{
"feed": "hottest",
"result_count": 1,
"results": [
{
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
]
}Get stories from a site
Read every story Lobsters holds that links to one website, newest first: everything from lwn.net, or from your own blog. Takes a bare domain or any page URL on it; the path and a leading 'www.' are dropped for you, because Lobsters files stories under the bare host.
Inputs
- Website
sitetextRequired - The website to read. A domain or any URL on it both work.
- Number of stories
limitnumber - How many stories to return (1–100). Defaults to 25, which is one page on Lobsters; larger numbers read further back.From 1 to 100. Default:
25.
Outputs
result_countnumberresultslistsitetext
Example output
{
"result_count": 1,
"results": [
{
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
],
"site": "lwn.net"
}Get stories in a category
Read the stories in one of the twelve groups Lobsters files its tags under: programming languages, operating systems, tools, practices and so on. Broader than a tag: choosing 'Programming languages' returns everything tagged with any of the thirty-odd language tags at once.
Inputs
- Category
categorytextRequired - Which group of tags to read.One of:
compsci(Computer science),languages(Programming languages),os(Operating systems),platforms,tools,practices,interaction(Design and accessibility),field(Adjacent fields),culture,genre(Kind of story),format(Format (video, book, Ask, Show)),lobsters(About Lobsters itself). - Number of stories
limitnumber - How many stories to return (1–25). Defaults to 25. Lobsters serves a category as a single page, so 25 is everything it will give.From 1 to 25. Default:
25.
Outputs
categorytextresult_countnumberresultslist
Example output
{
"category": "languages",
"result_count": 1,
"results": [
{
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
]
}Get stories with a tag
Read the stories carrying one or more Lobsters tags, newest first: 'rust', 'security', 'ask' and the hundred-odd others the site files stories under. Picking several widens the result rather than narrowing it: a story carrying any one of them is included. The tag list is fetched from Lobsters, so it is always the tags the site currently has.
Inputs
- Tags
tagslistRequired - The tags to read. A story carrying any one of them is included.
- Number of stories
limitnumber - How many stories to return (1–100). Defaults to 25, which is one page on Lobsters; larger numbers read further back.From 1 to 100. Default:
25.
Outputs
result_countnumberresultslisttagslist
Example output
{
"result_count": 1,
"results": [
{
"comment_count": 36,
"comments_url": "https://lobste.rs/s/1ifr5f/contagion_fear",
"created_at": "2026-09-14T11:53:14.313-05:00",
"created_at_utc": "2026-09-14T16:53:14.313000+00:00",
"description": null,
"description_html": null,
"flags": 1,
"is_text_post": false,
"lobsters_url": "https://lobste.rs/s/1ifr5f",
"score": 131,
"short_id": "1ifr5f",
"submitter": "rrampage",
"submitter_is_author": false,
"tags": [
"vibecoding"
],
"title": "The contagion of fear",
"url": "https://bcantrill.dtrace.org/2026/09/13/the-contagion-of-fear/"
}
],
"tags": [
"rust"
]
}List tags
Read every tag Lobsters files stories under, alphabetically, each with the site's own description of it and the category it belongs to. This is the vocabulary the other actions filter on, so it is what a workflow reads to decide which tag to follow.
Inputs
None.
Outputs
tag_countnumbertagslist
Example output
{
"tag_count": 1,
"tags": [
{
"category": "languages",
"description": "Rust programming",
"is_active": true,
"is_media": false,
"is_privileged": false,
"lobsters_url": "https://lobste.rs/t/rust",
"tag": "rust"
}
]
}