Hacker News Trending Tracker - Track Rising Stories avatar

Hacker News Trending Tracker - Track Rising Stories

Pricing

$20.00 / 1,000 page processeds

Go to Apify Store
Hacker News Trending Tracker - Track Rising Stories

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

Emir Llonviche

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

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 agoThe same story, still on the page
Points500500
scorePerHourAverage (what others report)41.7 /h41.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

FieldWhat it is
rank, rankChange, peakRankPosition now, positions gained since your last run (12 → 4 = +8), best rank ever held
isNewThe story was not on the page on your previous run
hoursOnFrontPageHow long it has held the page, uninterrupted
score, scoreChange, scorePerHourObservedPoints now, points gained since last run, and the rate that implies
scorePerHourAverageThe lifetime average, for comparison
comments, commentsChangeDiscussion size and its growth
title, url, domain, hnUrlThe story, the link, its site, the discussion
ageHours, postedAt, type, page, scrapedAtWhen 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 scorePerHourObserved at 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

  • rankChange compares against your previous run, whatever its age. Two runs a week apart give you a week-long delta, not an hourly one. hoursSincePreviousRun in the summary tells you which you got.
  • A story that leaves the page and returns counts as new. hoursOnFrontPage measures 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.