BYTETOOLS

Lobsters API

Free Lobsters API with no key: hottest and newest technology stories with tags, scores, comments and submitter data as plain JSON. No signup. Tested.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the Lobsters API?

Lobsters provides a free, key-free JSON API for its computing-focused link aggregator, returning hottest and newest stories with tags, scores, comment counts and submitter information.

Lobsters is a smaller, more technically focused alternative to Hacker News, and its API could not be simpler: append `.json` to any listing page URL and you get structured data. No separate API host, no documentation to hunt for.

Its tagging system is the real differentiator. Every story carries curated tags such as `rust`, `security` or `distributed`, which makes topic filtering far more precise than keyword searching a general feed.

Quick facts

Base URL
https://lobste.rs
Authentication
No API key required.
Rate limit
No published limit; the site asks that you cache and identify yourself with a User-Agent.
Pricing
Free and open source.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Lobsters API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch the hottest stories

GET https://lobste.rs/hottest.json

curl
curl 'https://lobste.rs/hottest.json'
JavaScript (fetch)
const res = await fetch("https://lobste.rs/hottest.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://lobste.rs/hottest.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "short_id": "5gcd3t",
    "created_at": "2026-08-19T05:55:29.500-05:00",
    "title": "HTML Can Do That",
    "url": "https://chrisburnell.com/html-can-do-that/",
    "score": 113,
    "flags": 0,
    "comment_count": 30,
    "description": "",
    "description_plain": "",
    "submitter_user": "abhin4v",
    "user_is_author": false,
    "tags": [
      "web"
    ],
    "short_id_url": "https://lobste.rs/s/5gcd3t",
    "comments_url": "https://lobste.rs/s/5gcd3t/html_can_do"
  },
  {
    "short_id": "caubyr",
    "created_at": "2026-08-19T01:20:33.273-05:00",
    "title": "Bun 1.4 Rust rewrite is not looking good",
    "url": "https://tipiirai.com/writing/bun-rust-rewrite-worries",
    "score": 83,
    "flags": 4,
    "comment_count": 77,
    "description": "",
    "description_plain": "",
    "submitter_user": "robinheghan",
    "user_is_author": false,
    "tags": [
      "vibecoding"
    ],
    "short_id_url": "https://lobste.rs/s/caubyr",
    "comments_url": "https://lobste.rs/s/caubyr/bun_1_4_rust_rewrite_is_not_looking_good"
  },
  {
    "short_id": "kj1bvt",
    "created_at": "2026-08-19T08:01:00.885-05:00",
    "title": "Why I still hand write my commit messages",
    "url": "https://www.jvt.me/posts/2026/08/17/hand-write-commits/",
    "score": 20,
    "flags": 2,
    "comment_count": 9,
    "description": "",
    "description_plain": "",
    "submitter_user": "JamieTanna",
    "user_is_author": true,
    "tags": [
      "practices",
      "vcs",
      "vibecoding"
    ],
    "short_id_url": "https://lobste.rs/s/kj1bvt",
    "comments_url": "https://lobst

Parameters

ParameterTypeRequiredDescription
hottest.jsonpathOptionalCurrently highest-ranked stories. hottest.json
newest.jsonpathOptionalMost recently submitted stories. newest.json
t/<tag>.jsonpathOptionalStories filtered to a tag. t/rust.json
s/<id>.jsonpathOptionalA single story with its comment tree. s/abc123.json
pageintegerOptionalPage number for pagination. 2

Response fields

short_idstring
Story identifier used in URLs.
titlestring
Story title.
urlstring
Linked URL, empty for text posts.
scoreinteger
Net vote score.
comment_countinteger
Number of comments.
tagsarray
Curated topic tags — the main filtering mechanism.
submitter_userobject|string
Who submitted the story.
comments_urlstring
Link to the discussion thread.

What you can build with the Lobsters API

  • Build a focused tech news feed filtered by tag
  • Monitor discussion of a specific technology
  • Aggregate Lobsters alongside other developer news sources
  • Create a curated reading list for a team

Common errors and how to fix them

429 or blocked

Polling too aggressively, or no User-Agent.

Fix: Send a descriptive User-Agent and cache — the site is run by volunteers on modest infrastructure.

Empty tag feed

The tag does not exist.

Fix: Tags are a curated fixed set; check /tags for valid values rather than guessing.

Lobsters API — frequently asked questions

Is the Lobsters API free?

Yes, free with no API key. Simply append .json to any listing URL — there is no separate API host.

How is Lobsters different from Hacker News?

It is smaller and more narrowly technical, invite-only for posting, and every story carries curated topic tags — which makes filtering by subject far more precise.

How do I get stories about one topic?

Use the tag feeds, for example /t/rust.json. Tags are curated rather than free-form, so they are reliable.

Is there a rate limit?

Nothing published, but the site runs on volunteer infrastructure. Send a descriptive User-Agent and cache aggressively.

Tools that pair with this API

Lobsters is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.