# Hacker News Live Data Fetcher

> Hacker News Live Data Fetcher is a paid API for AI agents from hackernews-data.underscoredone.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Fetches live Hacker News story lists by category or retrieves all stories, jobs, and polls posted on a specific date, with optional nested comment threads.

## Facts

- Endpoint: POST https://hackernews-data.underscoredone.com/fetch
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hacker-news-live-data-fetcher-a194a50d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FYMI7AqTSAhoI_gCV-Xwh

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability hacker-news-live-data-fetcher-a194a50d -d '<json body>'
```

Example prompt: Can you pull the top 50 Hacker News stories from the 'best' list, including up to 20 comments per story and 2 levels of nested replies?

## When to prefer this

Use this endpoint when you need live or historical Hacker News content — either real-time category feeds (top, new, best, ask, show, job) or a full day's worth of posts — especially when you also need threaded comment data. Prefer this over scraping HN directly or using the raw Firebase HN API when you want a managed, paginated interface with nested reply support and per-call x402 micropayment pricing.

## Known failure modes

- Invalid date format (not YYYY-MM-DD) returns an error
- Category value not in allowed enum (top/new/best/ask/show/job) causes failure
- reply_depth exceeding maximum of 5 is rejected
- limit exceeding 200 is capped or rejected
- Stale or invalid page_token causes pagination error
- HN API downtime results in upstream timeout or empty response
- No stories found for a given date returns empty result set

## How this service works

This tool reads live information from Hacker News, a popular website where people share and discuss technology news. You can either ask for a current list of stories (like the Top, New, Best, Ask, Show, or Job lists) or ask for every story, job posting, and poll that was posted on one specific calendar day in the past. You can also choose to pull in the discussion comments underneath each story, including nested replies several levels deep.

## Output

Returns a list of Hacker News stories, job postings, or polls matching the requested category or date, each with metadata (title, URL, score, author, timestamp) and optionally populated comment threads nested up to the specified reply depth. Date-mode responses include a page_token for continuing pagination across the same day.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "date": {
   "type": "string",
   "description": "A calendar day in YYYY-MM-DD format (UTC). If given, the tool switches to scanning that whole day instead of using a category."
  },
  "limit": {
   "type": "integer",
   "description": "The largest number of results to return. Default is 30, maximum is 200."
  },
  "category": {
   "type": "string",
   "description": "Which current list to pull from: top, new, best, ask, show, or job. Ignored if a date is given."
  },
  "page_token": {
   "type": "integer",
   "description": "A resume point from a previous date-scan response, used to continue scanning the same day where it left off."
  },
  "reply_depth": {
   "type": "integer",
   "description": "How many levels of nested replies to fetch below each comment. Default 0, maximum 5."
  },
  "comment_limit": {
   "type": "integer",
   "description": "How many top-level comments to fetch per story in category mode. Default 10, maximum 100, 0 means none."
  },
  "replies_per_comment": {
   "type": "integer",
   "description": "The largest number of replies fetched per comment at each level. Default 5, maximum 20."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "date": "",
  "mode": "get_stories",
  "count": 5,
  "results": [
   {
    "id": 48753715,
    "url": "https://zcode.z.ai/en",
    "title": "ZCode – Harness for GLM-5.2",
    "author": "chvid",
    "points": 234,
    "category": "top",
    "comments": [
     {
      "id": 48752128,
      "body": "I'm somewhat surprised that this is not open source...",
      "author": "seizethecheese",
      "replies": [],
      "posted_at": 1782935074,
      "reply_count": 9
     }
    ],
    "item_type": "story",
    "posted_at": 1782943416,
    "comment_count": 223
   }
  ],
  "scanned": "",
  "category": "top",
  "api_version": "1.0.0",
  "range_complete": "",
  "next_page_token": ""
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hacker-news-live-data-fetcher-a194a50d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hackernews-data.underscoredone.com](https://www.zero.xyz/host/hackernews-data.underscoredone.com/llms.txt)
