mirrored listing x402 eip155:8453solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

This tool reads live information from Hacker News, a popular website where people share an

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.

Do you run hackernews-data.underscoredone.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
6
calls / 30d
5
unique payers
2026-09-14
updated

Provider

hackernews-data.underscoredone.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "category": "top",
          "comment_limit": 3,
          "limit": 5,
          "reply_depth": 1
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "api_version": "1.0.0",
          "category": "top",
          "count": 5,
          "date": "",
          "mode": "get_stories",
          "next_page_token": "",
          "range_complete": "",
          "results": [
            {
              "author": "chvid",
              "category": "top",
              "comment_count": 223,
              "comments": [
                {
                  "author": "seizethecheese",
                  "body": "I'm somewhat surprised that this is not open source...",
                  "id": 48752128,
                  "posted_at": 1782935074,
                  "replies": [],
                  "reply_count": 9
                }
              ],
              "id": 48753715,
              "item_type": "story",
              "points": 234,
              "posted_at": 1782943416,
              "title": "ZCode – Harness for GLM-5.2",
              "url": "https://zcode.z.ai/en"
            }
          ],
          "scanned": ""
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "additionalProperties": false,
              "properties": {
                "category": {
                  "description": "Which current list to pull from: top, new, best, ask, show, or job. Ignored if a date is given.",
                  "type": "string"
                },
                "comment_limit": {
                  "description": "How many top-level comments to fetch per story in category mode. Default 10, maximum 100, 0 means none.",
                  "type": "integer"
                },
                "date": {
                  "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.",
                  "type": "string"
                },
                "limit": {
                  "description": "The largest number of results to return. Default is 30, maximum is 200.",
                  "type": "integer"
                },
                "page_token": {
                  "description": "A resume point from a previous date-scan response, used to continue scanning the same day where it left off.",
                  "type": "integer"
                },
                "replies_per_comment": {
                  "description": "The largest number of replies fetched per comment at each level. Default 5, maximum 20.",
                  "type": "integer"
                },
                "reply_depth": {
                  "description": "How many levels of nested replies to fetch below each comment. Default 0, maximum 5.",
                  "type": "integer"
                }
              },
              "required": [],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "api_version": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                },
                "date": {
                  "type": "string"
                },
                "mode": {
                  "type": "string"
                },
                "next_page_token": {
                  "type": "string"
                },
                "range_complete": {
                  "type": "string"
                },
                "results": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "scanned": {
                  "type": "string"
                }
              },
              "required": [
                "api_version",
                "mode",
                "category",
                "date",
                "count",
                "scanned",
                "next_page_token",
                "range_complete",
                "results"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://hackernews-data.underscoredone.com/fetch"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://hackernews-data.underscoredone.com/fetch");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://hackernews-data.underscoredone.com/fetch")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/2985.json, and this resource appears in /discovery/resources and /discovery/search.