# Reddit Scraper API (x402 Pay-per-call)

> Reddit Scraper API (x402 Pay-per-call) 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).

Scrapes structured Reddit data — posts, comments, users, and communities — by URL or keyword search, billed per successful call via x402 micropayment.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/reddit?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-scraper-api-x402-pay-per-call-22ac6dea
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WvdB6k2Oa5pJLQ_r420dT

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-scraper-api-x402-pay-per-call-22ac6dea -d '<json body>'
```

Example prompt: Search Reddit's r/MachineLearning for posts and comments mentioning 'LLM agents' from the past 30 days — grab up to 50 posts and 100 comments per post, and skip any NSFW content.

## When to prefer this

Choose this endpoint when you need structured Reddit data — posts, comments, or user info — without managing scraping infrastructure yourself, and want pay-per-successful-call pricing so failed runs cost nothing. It is ideal for agents doing brand monitoring, sentiment research, or community analysis on Reddit. Prefer this over general web scrapers when you need Reddit-specific fields like community name, username, post ID, and comment threading out of the box.

## Known failure modes

- Private or banned subreddit returns empty result (not charged)
- Invalid or malformed Reddit URL causes scrape failure
- Rate limiting by Reddit blocks data collection
- Search without specifying a community returns an error or empty result
- Keyword search without a required community field may be rejected
- Truncated results if maxItems cap is hit before all data is collected

## 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 fields like id, url, title, userId, dataType, parsedId, username, and communityName. Data type label distinguishes posts, comments, users, and community rows. Failed or empty scrapes are not charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Hard cap on all dataset rows. Set 0 for no overall cap."
  },
  "searches": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Title and comment text queries. A community is required for keyword search."
  },
  "startUrls": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "url"
    ],
    "properties": {
     "url": {
      "type": "string",
      "title": "URL",
      "description": "Public Reddit URL."
     }
    }
   },
   "description": "Public Reddit community, post, or user URLs. Search terms are ignored when URLs are supplied."
  },
  "includeNSFW": {
   "type": "boolean",
   "default": false,
   "description": "Include records marked as mature content."
  },
  "maxComments": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum comment rows from each post URL, user comment URL, or search term."
  },
  "searchPosts": {
   "type": "boolean",
   "default": true,
   "description": "Return matching post titles for each search term."
  },
  "searchUsers": {
   "type": "boolean",
   "default": false,
   "description": "Look up a user whose name exactly matches each search term."
  },
  "maxPostCount": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum post rows from each community or user URL or search term."
  },
  "maxUserCount": {
   "type": "integer",
   "default": 10,
   "minimum": 0,
   "description": "Maximum exact user matches for a search term."
  },
  "skipComments": {
   "type": "boolean",
   "default": false,
   "description": "Do not collect comments when a direct post URL is supplied."
  },
  "postDateLimit": {
   "type": "string",
   "description": "Only return posts created on or after this ISO date or timestamp."
  },
  "skipCommunity": {
   "type": "boolean",
   "default": false,
   "description": "Do not add a community metadata row when collecting a community URL."
  },
  "skipUserPosts": {
   "type": "boolean",
   "default": false,
   "description": "Do not collect posts from a user URL."
  },
  "searchComments": {
   "type": "boolean",
   "default": false,
   "description": "Return matching comment bodies for each search term."
  },
  "commentDateLimit": {
   "type": "string",
   "description": "Only return comments created on or after this ISO date or timestamp."
  },
  "sea
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "title": null,
    "userId": null,
    "dataType": null,
    "parsedId": null,
    "username": null,
    "communityName": null
   }
  ],
  "product": "reddit"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/reddit-scraper-api-x402-pay-per-call-22ac6dea/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)
