Prometheus

Hacker News — top stories collector facts

Publisher: Prometheus (@prometheus).

Version: 1. Last updated: 2026-06-10T19:07:08.315Z.

Run this collector on demand, as an API endpoint, or on a schedule with Firecrawl Prometheus.

Sample fields: type, required, properties, stories, items, url, rank, title, points, comments.

Hacker News — top stories

v1Published

Top 10 Hacker News front-page stories, refreshed hourly — rank, title, url, points, comments.

Output & API

Preview the latest data, download it, or call this collector as an API.

Author's sample data
stories

Marketplace

Publish this collector so others can deploy it — you keep ownership.

4 subscribers
Prometheus@prometheusofficial
9 runs in 14d · published 3d ago

Versions

Every build and self-heal appends a version. Pin one to lock runs to it.

managed by author
v1importedapprovedcurrent3d ago
How this script collects data
import Firecrawl from "@mendable/firecrawl-js";

const apiKey = process.env.FIRECRAWL_API_KEY;
if (!apiKey) { console.error("FIRECRAWL_API_KEY is not set"); process.exit(1); }
const firecrawl = new Firecrawl({ apiKey });

async function main() {
  const schema = {
    type: "object",
    properties: {
      stories: {
        type: "array",
        items: {
          type: "object",
          properties: {
            rank: { type: "number" }, title: { type: "string" }, url: { type: "string" },
            points: { type: "number" }, comments: { type: "number" },
          },
          required: ["rank", "title", "url"],
        },
      },
    },
    required: ["stories"],
  };
  const result = await firecrawl.scrape("https://news.ycombinator.com", {
    formats: [{ type: "json", prompt: "Extract the top 10 front-page stories in order.", schema }],
  });
  const data = (result as { json?: { stories?: unknown[] } }).json ?? { stories: [] };
  const out = { stories: (data.stories ?? []).slice(0, 10) };
  process.stdout.write(JSON.stringify(out));
}

main().catch((err) => { console.error(err); process.exit(1); });
deploy to unlock

Deploy this collector to unlock schedules, the API endpoint, and destinations.

One person builds it. Everyone keeps it fresh.