Hacker News Watch — Keyword Mentions & Trend Monitor avatar

Hacker News Watch — Keyword Mentions & Trend Monitor

Pricing

$1.00 / 1,000 results

Go to Apify Store
Hacker News Watch — Keyword Mentions & Trend Monitor

Hacker News Watch — Keyword Mentions & Trend Monitor

Scheduled change feed of new Hacker News stories matching keywords.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Nick

Nick

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Hacker News Monitor — Keyword Mentions & Trend Tracker

Track new Hacker News stories matching your keywords, with points and comment counts. Set a minimum score to filter out noise, or leave keywords empty for the newest stories. Official Algolia Hacker News Search API, watermarked so each run flags exactly what is new.

What does this Actor do?

You give it keywords. It queries the official Algolia Hacker News search index — the same one that powers HN's own search — once per keyword, sorted newest-first in the New feed or from the current front page, merges the results, de-duplicates by story ID, applies your score and comment thresholds, and emits what is left.

Two design choices matter. Each keyword is a separate query, and each emitted story records which keyword caught it in matchedKeyword — so one scheduled run can drive several different alerts without you having to re-derive why a story matched. And it keeps a list of story IDs it has already seen, so newSinceLastRun tells you truthfully whether a story is new to you, even when a story sits in the window across two consecutive runs.

The score threshold is the practical part. Hacker News posts hundreds of stories a day and most go nowhere; minPoints: 5 or minComments: 3 turns a firehose into something a human will actually read.

Who is it for?

  • Founders and product teams who want to know the moment their product is mentioned.
  • Developer-relations and marketing teams tracking how a technology is being discussed.
  • Competitive analysts watching a rival's launches and the comment threads about them.
  • Investors and scouts monitoring Show HN for early-stage projects in a category.
  • AI agent builders who want a tech-news tool with a stable output schema.

Use cases

  • Alert me when my product or company is mentioned on Hacker News.
  • Track what HN says about a competitor, filtered to threads with real discussion.
  • Find Show HN launches in my category and route them to a scouting channel.
  • Monitor a technology keyword and post matches to Slack every morning.
  • Watch the newest stories unfiltered as a raw front-page-adjacent feed.
  • Give an agent a tool that answers "what is Hacker News saying about this right now?"

What you get

One row per story. Any value the source does not publish is null — the field is always present, and a trimmed copy of the source hit stays in raw.

FieldTypeDescription
storyIdstringHacker News item ID — the unique key the seen-list tracks
titlestringStory title
urlstringThe linked article URL. null for text posts such as Ask HN
hnUrlstringLink to the Hacker News discussion thread
pointsintegerScore at the time this row was fetched
numCommentsintegerComment count at the time this row was fetched
authorstringSubmitter's HN username
createdAtstringWhen the story was posted
matchedKeywordstringWhich of your keywords matched this story; null when running without keywords
rawobjectTrimmed copy of the source search hit
newSinceLastRunbooleantrue if this story ID had not been seen on an earlier successful run
retrievedAtstringISO 8601 timestamp of when this row was fetched

Sample output record

{
"storyId": "41938201",
"title": "Show HN: A self-hosted change feed for government data",
"url": "https://example.com/blog/change-feeds",
"hnUrl": "https://news.ycombinator.com/item?id=41938201",
"points": 87,
"numComments": 34,
"author": "someuser",
"createdAt": "2026-08-22T14:03:11.000Z",
"matchedKeyword": "change feed",
"raw": { "objectID": "41938201", "…": "…" },
"newSinceLastRun": true,
"retrievedAt": "2026-08-23T10:15:22.907Z"
}

How to use it

Watch keywords with a noise filter

{
"keywords": ["AI agents"],
"minPoints": 5,
"maxResults": 25
}

Track several topics at once

Each keyword is queried separately and the matching keyword is recorded on every row.

{
"keywords": ["apify", "web scraping", "change feed"],
"minComments": 3,
"maxResults": 100
}

The newest stories, unfiltered

{
"maxResults": 100
}

Current front-page feed

{
"feed": "front_page",
"minPoints": 10
}

Input parameters

InputTypeDescription
keywordsarrayTerms, each searched separately. Empty fetches the newest stories without a query
feedstringnew (default) searches newest-first; front_page returns the current front page and ignores postedSince
minPointsintegerOnly return stories with at least this many points. Default: 0
minCommentsintegerOnly return stories with at least this many comments. Default: 0
maxResultsintegerMaximum records per run (1–1000). Default: 100
postedSincestringISO date or timestamp. Overrides the previous successful run's watermark

How monitoring works (first run and scheduling)

The first run covers the last seven days unless postedSince is supplied. To keep the watermark and the seen-story list across runs, schedule this Actor as a saved Task so runs share the same storage — both live in the task's key-value store. A fresh unsaved run starts a fresh baseline.

The dataset contains the window, not a strict delta. A story can appear in two consecutive runs; newSinceLastRun is false on the second. Filter on that flag downstream if you only want to alert once per story.

Honest limitations

  • Points and comment counts are a snapshot. They are whatever the search index held at fetch time. A story fetched twenty minutes after posting shows a low score even if it later hits the front page — which is exactly why minPoints can hide a story that has not accumulated votes yet.
  • Each run emits the window, not a strict delta. Use newSinceLastRun to alert once.
  • Keywords are queried separately, then merged. Two keywords means two searches and a union of the results, not an AND across both terms.
  • Stories only — no comments. This Actor returns story records. The text of comment threads is not retrieved; hnUrl links to the discussion.
  • url is null for text posts. Ask HN and similar self-posts have no external link; use hnUrl.
  • Search relevance is Algolia's. A keyword match is whatever the HN search index considers a match, which includes matches on the story text as well as the title.
  • Front page is a current feed, not history. feed: "front_page" returns stories currently on the front page; it does not include rank or historical front-page membership.

Reliability

Diagnostics are written to the RUN_SUMMARY key-value record — never into the dataset. A failed upstream request leaves the watermark and the seen-story list unchanged, so a transient outage cannot silently skip a window.

Every record carries retrievedAt and an hnUrl back to the thread, so you can check any row against Hacker News yourself.

Maintained against the upstream API. If the search API changes its schema or an endpoint moves, report it through the Issues tab and it gets fixed.

Integrations

Connect this Actor to Make, Zapier, n8n, Slack, Google Sheets, Airtable or any HTTP endpoint through Apify integrations. A scheduled Task can post every new mention of your product into a Slack channel, or fire a webhook so a summarization job runs the moment a thread takes off. Datasets export as JSON, CSV, Excel, XML, RSS or HTML.

API usage

curl -X POST "https://api.apify.com/v2/acts/oneshotventure~hn-trends/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["AI agents"], "minPoints": 5, "maxResults": 25}'

Python, JavaScript, PHP and CLI clients are documented under Apify API clients.

Use with AI agents (MCP)

This Actor is callable from any MCP-compatible client — Claude, Cursor, VS Code or your own agent — through the Apify MCP server. The input schema is fully described and every record uses one stable, flat JSON shape, so an agent can call it and read the result without a parsing step. Because it reads the official Hacker News search API rather than a rendered page, the answer an agent gets is the same one the source publishes — and url plus hnUrl give the agent both the article and the discussion to fetch.

Frequently asked questions

Is there a Hacker News API?

Yes — Hacker News search is powered by a public Algolia index that anyone can query without a key. This Actor is the scheduling, multi-keyword and change-feed layer over it.

How do I get alerts when my startup is mentioned on HN?

Put your company and product names in keywords, save the Actor as a Task, schedule it hourly or daily, and connect the Task to Slack or a webhook. Set minPoints: 0 so you catch mentions before they accumulate votes.

How do I monitor Show HN posts?

Add Show HN to keywords, optionally alongside your category terms. Each row records which keyword matched in matchedKeyword.

Can I send HN mentions to Slack?

Yes — connect the scheduled Task to Slack through Apify integrations, and filter on newSinceLastRun so each story is announced only once.

Why does a story show fewer points than I see on the site?

Because points is a snapshot from when the row was fetched. Scores climb after posting; re-running later returns an updated count for the same story ID.

Does it return comments?

No, only story records. hnUrl links to the discussion thread if you want to read or fetch it separately.

Why did the same story appear twice?

The window is inclusive of its start, so a story can fall into two consecutive runs. The second appearance carries newSinceLastRun: false.

Disclaimer

This independent tool uses the public Algolia Hacker News Search API and is not affiliated with Y Combinator, Hacker News, or Algolia.