Hacker News Trending Tracker - Track Rising Stories
Pricing
$20.00 / 1,000 page processeds
Hacker News Trending Tracker - Track Rising Stories
Track Hacker News front-page stories, rankings, scores, comments and ranking velocity. Identify fast-rising topics and monitor Hacker News trends for tech research, content discovery and market intelligence.
Pricing
$20.00 / 1,000 page processeds
Rating
5.0
(3)
Developer
Emir Llonviche
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Hacker News Front Page Tracker — Rank & Real Velocity
Track the Hacker News front page and see what actually moved since your last run: rank changes, points gained, comments gained, new entrants, and how long each story has held its place.
This is an unofficial scraper. It is not affiliated with, endorsed by, or sponsored by Y Combinator or Hacker News.
No API key, no proxies, no login. A one-page run takes a couple of seconds.
Two things no other Hacker News Actor gives you
Rank. The Hacker News API — Firebase and Algolia alike — exposes no position at all. A story's rank exists only in the page itself. This Actor reads it, remembers it, and tells you rankChange, peakRank and hoursOnFrontPage.
Velocity that was measured rather than divided. The usual "points per hour" is a story's total score divided by its age: a lifetime average. It cannot distinguish a story climbing hard right now from one that surged overnight and has since gone flat — both keep the same number.
This Actor stores each run and reports the difference:
| A story that surged 6 hours ago | The same story, still on the page | |
|---|---|---|
| Points | 500 | 500 |
scorePerHourAverage (what others report) | 41.7 /h | 41.7 /h |
scorePerHourObserved (what this reports) | — | 0 /h |
Same row, same score. One number says it is on fire; the other says it stopped an hour ago.
What you get
| Field | What it is |
|---|---|
rank, rankChange, peakRank | Position now, positions gained since your last run (12 → 4 = +8), best rank ever held |
isNew | The story was not on the page on your previous run |
hoursOnFrontPage | How long it has held the page, uninterrupted |
score, scoreChange, scorePerHourObserved | Points now, points gained since last run, and the rate that implies |
scorePerHourAverage | The lifetime average, for comparison |
comments, commentsChange | Discussion size and its growth |
title, url, domain, hnUrl | The story, the link, its site, the discussion |
ageHours, postedAt, type, page, scrapedAt | When it was posted, what kind of item, where it sat |
On the first run there is nothing to compare against, so every movement field is null — not 0, not false. Reporting "no change" from a single observation would be a claim the data cannot support. Run it a second time and the movement appears.
No personal data, by construction
The front page markup contains an author username on every row, and the API returns both by and the body text of self-posts. None of it is read.
The HTML parser extracts exactly two things: a story id and a rank number. Everything else comes from the API, where by and text are dropped at the boundary — not filtered downstream, never carried in the first place. There is a test that fails if an author name ever appears in the output.
That is a deliberate design choice, and it has a side effect worth knowing: because the HTML is only ever asked for a number and an id, a restyle of Hacker News cannot silently corrupt your data. At worst the run stops and tells you.
Input
{"pages": 1,"minScore": 0,"onlyMovers": false,"timeoutSecs": 30}
- pages — 1 gives the 30-story front page, 3 gives the top 90. Pages after the first are spaced 30 seconds apart to honour the crawl delay Hacker News asks for in its robots.txt, so a 3-page run takes about a minute.
- minScore — keep only stories at or above a point threshold.
- onlyMovers — return only what entered, changed rank, or gained points. Ignored on the first run.
Typical uses
- Catch a story climbing before it reaches the top — high
scorePerHourObservedat a middling rank. - Watch your own launch or your competitor's: rank, velocity, and the moment it stalls.
- Track which domains gain attention, in
DOMAIN_MOMENTUM, ranked by points gained rather than by how many stories they have parked on the page. - Feed front-page movement into a dashboard or a newsletter.
Pricing
$0.02 per page read. A front-page run costs $0.02; three pages cost $0.06. Hourly for a month is about $14.
Running it on a schedule
Movement needs a previous run, so this Actor is built for a schedule. Hourly is the sweet spot: the front page turns over fast enough that a daily run will miss most of the climbing, and much more often than hourly gives you deltas too small to read.
Limits, stated plainly
rankChangecompares against your previous run, whatever its age. Two runs a week apart give you a week-long delta, not an hourly one.hoursSincePreviousRunin the summary tells you which you got.- A story that leaves the page and returns counts as new.
hoursOnFrontPagemeasures an uninterrupted stay. - Hacker News asks for a 30-second crawl delay and will answer 503 if pushed. The Actor waits between pages and reports a 503 in plain language rather than as a crash.
- Beyond page 5 the front page thins out, so that is the cap.
- Deleted and dead items are dropped rather than published as empty rows.
- If more than half the stories come back without details, the run fails instead of publishing a half-empty dataset. A quiet, plausible-looking dataset is worse than a loud failure.
Output
Alongside the dataset, each run writes DOMAIN_MOMENTUM (sites ranked by points gained) and RUN_SUMMARY (new entrants, climbers, hours since the previous run, stories missing details). Point a monitor at the summary and you will know something broke before your users tell you.
Support
Found a bug, or want a field that is not here? Open an issue on the Actor page.