# ScrapeMole Social: Hacker News Full-Text Search

> ScrapeMole Social: Hacker News Full-Text Search is a paid API for AI agents from social.scrapemole.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-21).

Search Hacker News stories and comments by keyword with filtering by recency, sort order, type, points, and result count

## Facts

- Endpoint: GET https://social.scrapemole.workers.dev/v1/hn/search?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapemole-social-hacker-news-full-text-search-040352b3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rl40Tzn_SzqDDPgJHGsQC

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 scrapemole-social-hacker-news-full-text-search-040352b3
```

Example prompt: Search Hacker News for stories about the x402 payment protocol from the last 30 days, sorted by relevance, and show me the top 10 results with at least 10 points.

## When to prefer this

Use this endpoint when you need to search the Hacker News corpus by keyword — especially for tech, startup, or developer-community topics. Prefer it over general web search when you specifically want the HN community's perspective, upvoted stories, or threaded discussions. It pays per call in USDC with no account required, making it suitable for agent workflows that need lightweight, on-demand HN search without a subscription. Best for queries where recency (days filter) and community quality signal (minPoints) matter.

## Known failure modes

- Missing required 'q' parameter returns a 400 error and no charge
- Invalid sort value (not 'relevance' or 'date') may return an error or default behavior
- Invalid type value (not 'story' or 'comment') may be rejected
- Limit out of range (outside 1-50) may be clamped or rejected
- Days out of range (outside 1-3650) may be rejected
- Payment failure via x402 results in no call being made and no charge
- Upstream Algolia HN Search API downtime may cause 502/503 responses
- Very niche or rare queries may return zero hits with an empty hits array

## How this service works

Pay-per-call public social data for agents: Telegram public channel posts; Mastodon hashtag timelines; Bluesky post search, profiles and author feeds; Hacker News full-text search and threads with comments; Lobsters hottest stories. Official public APIs only, no logins, no private data. USDC via x402, no accounts; failed calls are never charged.

Payments: x402 v2, scheme "exact", USDC on Base (eip155:8453). The payment is verified before the work and settled only when the response is 200. Terms: https://social.scrapemole.workers.dev/terms

## Output

Returns a JSON object with a hits array of matching HN items (each with id, url, type, hnUrl, title, points, and comment count), total count, and the echoed query string. Up to 50 results per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "examples": [
        "x402"
       ],
       "description": "Search text."
      },
      "days": {
       "type": "string",
       "description": "Only items from the last N days (1-3650)."
      },
      "sort": {
       "type": "string",
       "default": "relevance",
       "description": "\"relevance\" or \"date\"."
      },
      "type": {
       "type": "string",
       "default": "story",
       "description": "\"story\" or \"comment\"."
      },
      "limit": {
       "type": "string",
       "default": "20",
       "description": "Max hits (1-50)."
      },
      "minPoints": {
       "type": "string",
       "description": "Minimum points (stories)."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "hits": [
   {
    "id": "45000000",
    "url": "https://…",
    "type": "story",
    "hnUrl": "https://news.ycombinator.com/item?id=45000000",
    "title": "…",
    "points": 120,
    "comments": 45
   }
  ],
  "count": 1,
  "query": "x402"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapemole-social-hacker-news-full-text-search-040352b3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from social.scrapemole.workers.dev](https://www.zero.xyz/host/social.scrapemole.workers.dev/llms.txt)
