# Reddit Scraper API

> Reddit Scraper API is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured data from Reddit including posts, comments, users, and communities via search queries or direct URLs

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/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-25cc5df9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w7_tqepSj5H0_uWFTvKUX

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-25cc5df9 -d '<json body>'
```

Example prompt: Search Reddit for posts and comments mentioning 'electric vehicle charging' in the r/electricvehicles community, grab up to 50 posts and 100 comments each, and only include content from after January 1 2024 — skip NSFW results.

## When to prefer this

Choose this endpoint when you need structured, pay-per-call Reddit data extraction without managing a scraper infrastructure. It is well-suited for keyword searches within communities, full thread extraction, user profile scraping, and community-level post collection. Prefer it over general web scrapers when you specifically need Reddit-shaped data (posts, comments, users, communities) with granular controls like date filters, NSFW toggles, and per-entity row caps.

## Known failure modes

- Private or deleted subreddit/post returns empty results
- Invalid URL format causes request rejection
- Search without a specified community may return no results
- Rate limiting or Reddit blocking may cause empty or partial results
- Date filters that are too restrictive may return zero items
- Malformed ISO date string in postDateLimit or commentDateLimit causes error

## 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 representing a Reddit entity (post, comment, user, or community) with fields including id, url, title, userId, dataType, parsedId, username, and communityName. Failed or empty runs are not billed.

## 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-25cc5df9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
