Hacker News Top
Fetch the top N stories from Hacker News with titles, URLs, scores, and comment counts. Uses the official HN Firebase API. Free, no auth.
Tool ID
hacker-news-top
Credential Required
No.
Input Properties
| Property | Type | Default | Description |
|---|---|---|---|
count |
string | "10" |
Number of stories to fetch. Clamped to 1-50. |
Published Outputs
| Output | Description |
|---|---|
summary |
Multi-line text summary, ready to email or Slack |
stories |
JSON array of {rank, id, title, url, score, by, comments, hnLink} |
count |
Number of stories returned |
timestamp |
ISO 8601 timestamp |
Example
Input:
tool: hacker-news-top
properties:
count: "5"
Actual captured output:
Hacker News top 5 — 2026-04-21 13:57
1. The Vercel breach: OAuth attack exposes risk in platform environment variables (30 pts, 9 comments, 0.7h ago)
https://www.trendmicro.com/en_us/research/26/d/vercel-breach-oauth-supply-chain.html
2. Laws of Software Engineering (595 pts, 304 comments, 6.9h ago)
https://lawsofsoftwareengineering.com
3. A Periodic Map of Cheese (24 pts, 1 comments, 1.4h ago)
https://cheesemap.netlify.app/
4. Show HN: GoModel – an open-source AI gateway in Go (94 pts, 29 comments, 3.8h ago)
https://github.com/ENTERPILOT/GOModel/
5. Fusion Power Plant Simulator (80 pts, 27 comments, 3.5h ago)
https://www.fusionenergybase.com/fusion-power-plant-simulator
How it works
The HN API requires two steps: fetch the ID list, then fetch each story's details. This tool parallelizes the per-story fetches (up to 10 concurrent) so 10 stories completes in ~1-2 seconds total.
Chaining Patterns
- hacker-news-top → email — daily morning tech digest
- hacker-news-top → ai → slack — summarize trending topics, post to team
- hacker-news-top → dataframe — filter by score threshold
- Part of
daily-briefcomposite jobs
Limitations
- Only "top" stories. For "new" or "best" or "ask HN" etc., a separate endpoint call would be needed.
- No comment contents — just count.
- Stories without URLs (Ask HN, Show HN text posts) get the HN-link URL as the
urlfield.