# Reddit Search Scraper (x402)

> Reddit Search Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Searches and retrieves structured Reddit posts and comments by keyword, subreddit, URL, or date range, with pay-per-call billing via x402.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/reddit-search?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/reddit-search-scraper-x402-bbbdc022
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_x9kKDIFQ8PIKNN9b2s4S4

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 reddit-search-scraper-x402-bbbdc022 -d '<json body>'
```

Example prompt: Search Reddit for the top 50 posts mentioning 'AI agents' from the past month sorted by relevance, and include up to 20 comments per post — skip any NSFW content.

## When to prefer this

Choose this endpoint when you need structured Reddit data (posts + comments) programmatically without managing Reddit API credentials or rate limits. Ideal for agents doing sentiment analysis, trend research, or competitive intelligence on Reddit. Pay-per-call x402 billing means no subscription cost — only pay for successful, non-empty runs. Prefer over raw Reddit API when you want normalized JSON output and date filtering out of the box.

## Known failure modes

- Empty result set if queries return no matching posts (not charged)
- Invalid date format for dateFrom/dateTo causes rejection
- Subreddit name not found or private returns empty results
- maxPosts or maxComments exceeding platform limits silently capped at 100
- NSFW posts excluded by default unless includeNsfw is set to true
- Network timeout on large comment fetches for high-activity threads

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of items, each containing post ID, title, body, author, subreddit, score, kind, and the originating query. Comments are nested within posts up to the maxComments limit.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "relevance",
    "hot",
    "top",
    "new",
    "comments"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Global archive order. New uses creation time; top and comments use archived counts. Relevance and hot currently use newest order."
  },
  "urls": {
   "type": "array",
   "description": "Optional post, search, subreddit, or user-submitted URLs. These take priority over queries and subredditName."
  },
  "dateTo": {
   "type": "string",
   "description": "Keep posts on or before this UTC date (YYYY-MM-DD) or ISO timestamp."
  },
  "queries": {
   "type": "array",
   "description": "Search phrases across public Reddit posts. Ignored when urls are supplied."
  },
  "dateFrom": {
   "type": "string",
   "description": "Keep posts on or after this UTC date (YYYY-MM-DD) or ISO timestamp."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Hard cap across posts and comments. Zero means no total cap."
  },
  "maxPosts": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Maximum posts per target. Community archive currently exposes at most 100 per target."
  },
  "timeframe": {
   "enum": [
    "all",
    "year",
    "month",
    "week",
    "day",
    "hour"
   ],
   "type": "string",
   "default": "all",
   "description": "Reddit's time window for global searches."
  },
  "includeNsfw": {
   "type": "boolean",
   "default": false,
   "description": "Include posts marked as adult content."
  },
  "maxComments": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Maximum comments from the initial public thread response for each post."
  },
  "commentDateTo": {
   "type": "string",
   "description": "Keep comments on or before this UTC date or ISO timestamp."
  },
  "subredditName": {
   "type": "string",
   "description": "Optional community name without r/. With no subredditKeywords, collect its newest posts."
  },
  "subredditSort": {
   "enum": [
    "relevance",
    "hot",
    "top",
    "new",
    "comments"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Order the returned community archive page: newest for relevance/new, archived score for top/hot, or archived comment count for comments."
  },
  "scrapeComments": {
   "type": "boolean",
   "default": false,
   "description": "Collect public comments from each saved post."
  },
  "commentD
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "body": null,
    "kind": null,
    "query": null,
    "score": null,
    "title": null,
    "author": null,
    "subreddit": null
   }
  ],
  "product": "reddit-search"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/reddit-search-scraper-x402-bbbdc022/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
