# Reddit Scraper – Posts, Comments, AI Answers & Products (`yumitori/reddit-scraper`) Actor

Reliable Reddit scraper that just works — scrape posts, every comment, users, communities & search. No login or API key, every field returned, export to CSV/JSON. Plus Reddit AI answers, product picks with live prices, native comment search & keyword/audience intelligence.

- **URL**: https://apify.com/yumitori/reddit-scraper.md
- **Developed by:** [Yakugusa Yumitori](https://apify.com/yumitori) (community)
- **Categories:** Social media, AI, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<h1 align="center">Reddit Scraper</h1>

<p align="center"><b>Posts&nbsp;·&nbsp;Comments&nbsp;·&nbsp;Users&nbsp;·&nbsp;Communities&nbsp;·&nbsp;Search&nbsp;·&nbsp;AI&nbsp;Answers&nbsp;·&nbsp;Intelligence</b></p>

<p align="center">
The fast, reliable <b>Reddit comment &amp; post scraper</b> — scrape <b>every comment</b> (including nested replies), plus posts, users, communities & search, as clean structured data. Bulk comment extraction, every field returned, export to CSV/Excel/JSON.<br>
No login. No API key. No app setup. Pay only for results.
</p>

<p align="center">
  <a href="https://apify.com/yumitori/reddit-scraper"><img src="https://img.shields.io/badge/%E2%96%B6%20Try%20it%20free-3B5BDB?style=for-the-badge&logoColor=white" alt="Try it free"></a>
  &nbsp;
  <a href="#input"><img src="https://img.shields.io/badge/Input-555555?style=for-the-badge" alt="Input"></a>
  &nbsp;
  <a href="#output"><img src="https://img.shields.io/badge/Output-555555?style=for-the-badge" alt="Output"></a>
  &nbsp;
  <a href="#pricing"><img src="https://img.shields.io/badge/Pricing-555555?style=for-the-badge" alt="Pricing"></a>
  &nbsp;
  <a href="#faq"><img src="https://img.shields.io/badge/FAQ-555555?style=for-the-badge" alt="FAQ"></a>
</p>

<p align="center">
⚡ <b>No blocks · No timeouts · Every field, every time</b> &nbsp;|&nbsp; 🧵 Every comment in a thread &nbsp;|&nbsp; 🤖 AI answers &amp; product picks &nbsp;|&nbsp; 💲 From $2 / 1,000 results
</p>

---

### What it does

Give it a **subreddit, keyword, username, category, question, or URL** — get back structured JSON (also CSV, Excel, XML). It pulls posts, full comment threads, user profiles, and community data, and layers on intelligence most people don't know Reddit has: AI-synthesized answers with product picks, the algorithmic feed, keyword/audience sizing, and more.

| Feature | What you get |
|---|---|
| 🧵 **Every comment** | Full threads incl. nested replies — not just the first page. Flat or threaded. |
| 🤖 **Ask Reddit AI** | A synthesized answer to any question, with citations |
| 🛍️ **Product picks** | Shopping questions return product cards — name, image, prices & **buy links** |
| 🧭 **Algorithmic feed** | Reddit's actual ranked feed, incl. the recommendations it injects |
| 💬 **Comment search** | Live, relevance-ranked search across comment bodies |
| 🔑 **Keyword intelligence** | A keyword → communities, **total addressable audience**, related communities, topics, top conversations |
| 🗂️ **Category crawl** | Enter a topic ("Fitness", "Crypto") → auto-finds & crawls the top communities |
| 🔀 **Virality & influence** | Crosspost spread graph · subs a user moderates · participant lists |
| 📊 **Built-in analytics** | Sentiment, themes & engagement-ranked pain points |

> ⚡ **Fast & reliable by design.** No blocks, no browser-driven timeouts, and **every field is always present** — no "enable detailed fields" toggle. IP rotation is built in, with nothing for you to configure.

---

### Why it beats other Reddit scrapers

| What people complain about elsewhere | Here |
|---|---|
| *"Gets blocked / 403s / times out"* | ✅ Reliable at scale, no blocks |
| *"So slow"* | ✅ Fast — no browser overhead |
| *"Only ~200 comments"* | ✅ **Every** comment, recursively |
| *"Flat list, no nested replies"* | ✅ Optional threaded trees |
| *"Charged for runs that return nothing"* | ✅ Pay per result — empty runs cost ~nothing |
| *"Missing fields unless you toggle a setting"* | ✅ 70+ fields, always present |
| *"Just raw data, no insights"* | ✅ AI answers, sentiment, keyword & audience intel |

---

### How to use it

1. **Create a free Apify account** (or log in).
2. Pick at least one source — a **subreddit, keyword, username, category, question, or URL**.
3. (Optional) toggle add-ons: full comments, analytics, post intelligence, etc.
4. Click **Start** and download as JSON, CSV, or Excel — or pull via API / MCP.

> 🟢 **New here? Just put one subreddit in `subreddits` and hit Start.** Everything else is optional. The recipes below are copy-paste ready — paste one into the JSON editor (the **{}** tab) and run.

---

### Recipes — copy, paste, run

Each recipe is a complete input. Use the **JSON** input tab, paste, and **Start**.

**1. Posts from a subreddit** — newest / top / hot posts of a community
```json
{ "subreddits": ["technology"], "sort": "top", "time": "week", "maxPostsPerSource": 100 }
````

**2. Only the *popular* posts (filter by upvotes/comments)** — skip the noise

```json
{ "subreddits": ["technology"], "sort": "new", "minScore": 500, "minComments": 50, "maxPostsPerSource": 200 }
```

**3. Every comment on a post** — full thread, including nested replies

```json
{ "startUrls": [{ "url": "https://www.reddit.com/r/AskReddit/comments/abc123/post_title/" }],
  "includeComments": true, "maxCommentsPerPost": 5000, "threadedComments": false }
```

**4. Posts + their comments from a subreddit**

```json
{ "subreddits": ["buildapc"], "sort": "top", "time": "month", "maxPostsPerSource": 50,
  "includeComments": true, "maxCommentsPerPost": 200 }
```

**5. Every recent comment across a whole subreddit** — mass comment extraction

```json
{ "subredditComments": ["wallstreetbets"], "maxPostsPerSource": 1000 }
```

**6. Search posts or comments by keyword**

```json
{ "searches": ["electric vehicles"], "searchType": "comments", "sort": "top", "time": "month", "maxPostsPerSource": 200 }
```

*Set `searchType` to `posts`, `comments`, `communities`, or `users`. Add `"searchCommunity": "cars"` to search inside one subreddit.*

**7. Crawl a whole topic (no subreddit names needed)**

```json
{ "categories": ["Crypto"], "categoryMaxCommunities": 10, "sort": "top", "time": "week", "maxPostsPerSource": 50 }
```

**8. Size a keyword — communities + audience + related subs**

```json
{ "keywords": ["ozempic"] }
```

**9. Ask Reddit AI + get product picks with prices**

```json
{ "answers": ["best budget mechanical keyboard under $100"], "answersProducts": true }
```

**10. Scrape a user's posts + comments**

```json
{ "users": ["spez"], "includeComments": true, "includeUserInfluence": true }
```

**11. Monitor a brand (run daily on a schedule)**

```json
{ "searches": ["YourBrand"], "searchType": "posts", "sort": "new", "time": "day",
  "minScore": 5, "includeAnalytics": true }
```

***

### <a id="input"></a>Input — every setting explained

**Add at least one source; everything else is optional.** The input form is grouped into collapsible sections — here's every field, what it does, and when to use it.

**📥 Sources — pick at least one**

| Setting | What it does |
|---|---|
| `subreddits` | Communities to scrape. Start typing for the 500 most popular, or enter any name. |
| `categories` | A topic ("Fitness", "Crypto") → auto-finds and crawls the top communities in it. Best when you don't know subreddit names. |
| `searches` | Keywords to search. Pair with `searchType` to choose what comes back. |
| `subredditComments` | A subreddit → **every recent comment across all its posts** (mass comment pull). |
| `users` | Usernames → profile + their posts (and comments, if enabled). |
| `keywords` | A keyword → its whole landscape: communities, total audience, related subs, topics, top conversations. |
| `answers` | Questions for Reddit's AI → a synthesized answer (+ product cards for shopping questions). |
| `startUrls` | Paste any Reddit URLs (post, user, subreddit, or search) — the type is auto-detected. |

**🔧 Search & feed**

| Setting | What it does | Default |
|---|---|---|
| `searchType` | What `searches` returns: `posts`, `comments`, `communities`, or `users`. | posts |
| `searchCommunity` | Limit a search to one subreddit (name only, e.g. `cars`). | (all of Reddit) |
| `feedMode` | `listing` = classic sorted; `algorithmic` = Reddit's real ranked feed. | listing |
| `sort` / `time` | Order (hot/new/top/rising/controversial/best) and window (hour…all). | top / week |
| `maxPostsPerSource` | Cap posts pulled per subreddit/search/user. | 100 |
| `maxItems` | Hard cap on total results for the whole run. | 10000 |

**💬 Comments**

| Setting | What it does | Default |
|---|---|---|
| `includeComments` | Pull the full comment thread of each post (every comment). | off |
| `threadedComments` | Output comments as a nested reply tree instead of a flat list. | off |
| `maxCommentsPerPost` | Cap comments fetched per post. | 500 |

**🎚️ Filters — keep only what you want**

| Setting | What it does | Default |
|---|---|---|
| `minScore` | Only posts with at least this many upvotes (0 = no filter). | 0 |
| `minComments` | Only posts with at least this many comments. | 0 |
| `minUpvoteRatio` | Only posts above this upvote ratio (0–1). | 0 |
| `includeNSFW` | Include 18+ content. | off |

**✨ Intelligence & enrichments (optional add-ons)**

| Setting | What it does |
|---|---|
| `postIntelligence` | Per post: related questions + products named in its comments. |
| `includeCrosspostGraph` | Adds `crossposted_to` — every place a post spread to. |
| `includeUserInfluence` | Adds the subreddits a user moderates + trophies (when scraping users). |
| `collectUsers` | Emits the deduped list of everyone who participated. |
| `includeAnalytics` | Adds sentiment, top themes & ranked pain points per subreddit/post. |
| `answersProducts` | Include product cards (with prices) in AI answers. |
| `categoryMaxCommunities` / `keywordMaxCommunities` / `keywordConversations` | Tune breadth of the category & keyword modes. |

***

### <a id="output"></a>Output

Clean JSON — API / MCP / spreadsheet / LLM-ready. Organized views: **🤖 AI Answers · 📋 Posts · 💬 Comments · 👥 Communities & Users · 🔑 Keyword Intel · 📊 Analytics**.

**Post** (70+ fields, incl. computed engagement analytics):

```jsonc
{
  "type": "post",
  "title": "What's the best mechanical keyboard under $100?",
  "subreddit": "MechanicalKeyboards",
  "author": "…",
  "score": 1542, "upvote_ratio": 0.97, "num_comments": 387,
  "created_utc": 1781348353,
  "permalink": "https://www.reddit.com/r/MechanicalKeyboards/comments/…",
  "age_hours": 76.3, "score_per_hour": 20.2, "comments_per_hour": 5.1,
  "engagement_total": 1929, "is_high_engagement": true,
  "word_count": 27, "outbound_url_host": null
}
```

**Comment** (self-contained — carries its post context + analytics):

```jsonc
{
  "type": "comment",
  "body": "Keychron V1 is unbeatable at that price…",
  "author": "…", "score": 214, "controversiality": 0,
  "depth": 1, "num_replies": 3,
  "post_title": "What's the best mechanical keyboard under $100?",
  "subreddit": "MechanicalKeyboards",
  "age_hours": 70.1, "score_per_hour": 3.05, "word_count": 9,
  "permalink": "https://www.reddit.com/r/…/comment/…"
}
```

**Ask Reddit AI** (`{ "answers": ["best budget mechanical keyboard under $100"] }`):

```jsonc
{
  "type": "answer",
  "query": "best budget mechanical keyboard under $100",
  "answer": "Redditors frequently recommend Keychron, Aula…",
  "products": [
    { "title": "Aula F75 Wireless Mechanical Keyboard…", "image_url": "https://…",
      "offers": [
        { "retailer": "Amazon",  "price": "$65.99", "purchase_url": "https://www.amazon.com/…" },
        { "retailer": "Walmart", "price": "$59.39", "purchase_url": "https://www.walmart.com/…" } ] }
  ],
  "source_subreddits": ["MechanicalKeyboards", "budgetkeebs"]
}
```

***

### Use cases

- **Product & affiliate research** — what Reddit recommends to buy, with prices & buy links
- **Market & pain-point research** — sentiment, themes, and ranked unmet needs by niche
- **Brand & topic monitoring** — AI summaries + sentiment from real threads
- **Audience & influence mapping** — who participates, who moderates, which communities overlap
- **AI / LLM training data** — clean posts + complete comment threads

***

### <a id="pricing"></a>Pricing

Pay-per-result — no subscription, no idle fees.

- **From $2 per 1,000 results** · failed or empty runs cost ~nothing
- 1,000 items ≈ **$2** · 10,000 ≈ $20

***

### <a id="faq"></a>FAQ

**Do I need a Reddit account or API key?** No — none required. Paste a subreddit, keyword, or URL and run.

**My old Reddit scraper stopped working / keeps returning empty — why?** Many Reddit scrapers broke recently and now return nothing, 403 errors, or missing score and comment fields. This one is actively maintained and built to keep working — and you only pay for results, so a run that returns nothing costs ~nothing.

**How do I scrape all comments from a Reddit post?** Paste the post URL into `startUrls`, set `includeComments: true`, and raise `maxCommentsPerPost`. You get **every** comment, including deeply nested replies — flat or as a threaded tree. See Recipe 3.

**How do I get every comment from a whole subreddit?** Use `subredditComments` with the subreddit name — it pulls every recent comment across all of its posts in one run (Recipe 5). This is the fastest way to do mass comment extraction.

**Can I search Reddit comments by keyword?** Yes — live, relevance-ranked comment search across all of Reddit or inside one community (`searchType: comments`).

**How do I scrape a whole subreddit's posts?** Put the name in `subreddits`, choose `sort` (hot/new/top/rising) and `time`, and set `maxPostsPerSource` (Recipe 1).

**How do I export Reddit data to CSV or Excel?** Run the actor, then download the dataset as CSV, Excel, XML, JSON, or HTML — or pull it via API, MCP, n8n, Make, or Zapier. Dates come out as readable ISO timestamps, so CSVs open clean.

**Is scraping Reddit legal?** This collects only **public** Reddit data — no private messages, no logged-in account data, no moderator-only data. As always, comply with applicable laws and terms for your use case.

**How much does it cost?** Pay-per-result, from **$2 / 1,000 items** — no subscription, no idle fees, and failed or empty runs cost ~nothing.

<p align="center"><a href="https://apify.com/yumitori/reddit-scraper"><img src="https://img.shields.io/badge/%E2%96%B6%20Start%20scraping%20Reddit-3B5BDB?style=for-the-badge" alt="Start"></a></p>

# Actor input Schema

## `startUrls` (type: `array`):

👉 The easy way: paste any Reddit URL — a post, subreddit, user, or search page — and hit Start. The type is detected automatically. Add as many as you want. (Or use one of the source fields below instead.)

## `subreddits` (type: `array`):

Communities to scrape. Start typing to pick from the 500 most popular, or enter ANY name. Example: streetwear, AskReddit.

## `searches` (type: `array`):

Keywords to search across Reddit (or one community, via "Search within community" below). Returns the type chosen in "Search returns".

## `searchType` (type: `string`):

What your Search keywords return. "Comments" is the live comment search Reddit removed from its public API.

## `searchCommunity` (type: `string`):

Restrict searches to one subreddit (name only, e.g. "fashion"). Leave blank to search all of Reddit.

## `users` (type: `array`):

Reddit usernames → profile + their posts (and comments). Example: spez.

## `keywords` (type: `array`):

A keyword → its community landscape: matching communities, total addressable audience, related communities, Reddit topics, and live top conversations. Example: ozempic.

## `categories` (type: `array`):

Start a crawl from a topic — no subreddit names needed. The actor finds the top communities in each category and crawls them. Pick from Reddit's official categories or type any topic. e.g. "Crypto", "Computers & Hardware", "Fitness".

## `categoryMaxCommunities` (type: `integer`):

How many top communities to crawl per category.

## `answers` (type: `array`):

Questions for Reddit's AI answer engine → a synthesized answer from real threads + citations. Shopping questions also return product cards with prices and buy links. Example: best budget mechanical keyboard under $100.

## `answersProducts` (type: `boolean`):

For AI answers, include product cards + retailer prices when the question has shopping intent.

## `subredditComments` (type: `array`):

Subreddit names → EVERY recent comment across the whole sub (all posts), not per-post. Mass comment extraction. e.g. "AskReddit".

## `sort` (type: `string`):

Order for subreddit posts (used when feed mode = Listing).

## `time` (type: `string`):

For Top / Controversial sorts and searches.

## `feedMode` (type: `string`):

How subreddit posts are pulled. Algorithmic returns Reddit's actual ranked feed with `feed_rank` and the recommendation cells the app injects.

## `maxPostsPerSource` (type: `integer`):

Posts to pull per subreddit / search / user. Reddit caps any single listing at ~1,000 — combine sorts & time ranges to exceed it.

## `maxItems` (type: `integer`):

Hard cap on total records the run returns. Pay-per-result: you're only charged for what's returned.

## `includeComments` (type: `boolean`):

Fetch EVERY comment of each post — recursively expanding hidden/collapsed replies (most scrapers stop at ~200). Adds requests per post.

## `threadedComments` (type: `boolean`):

Output comments as a nested reply tree — each comment carries its `replies`, preserving the full thread hierarchy (instead of a flat list). Requires "Include full comment threads".

## `maxCommentsPerPost` (type: `integer`):

Upper bound on comments fetched per post when the above is on.

## `minScore` (type: `integer`):

Keep only posts with at least this score. 0 = no filter.

## `minComments` (type: `integer`):

Keep only posts with at least this many comments. 0 = no filter.

## `minUpvoteRatio` (type: `number`):

Only keep posts with at least this upvote ratio (0–1). 0 = no filter.

## `includeNSFW` (type: `boolean`):

Include over-18 content. Off = filtered out.

## `postIntelligence` (type: `boolean`):

For each post, add related\_questions (questions associated with the post's topic — content ideation) and mentioned\_products (products named in its comments, with counts). One extra lookup per post.

## `includeCrosspostGraph` (type: `boolean`):

For crossposted posts, add `crossposted_to` — every other post + subreddit the same content spread to. Virality & repost-network tracking (no other scraper surfaces this). One extra request per crossposted post.

## `includeUserInfluence` (type: `boolean`):

When scraping users, add the subreddits they MODERATE (control) + trophies — power/network mapping no other scraper has. Two extra requests per user.

## `collectUsers` (type: `boolean`):

Emit a deduped list of every username that participated (posted or commented) in each subreddit/post — audience & power-user extraction. Forces comment fetch to gather commenters.

## `includeAnalytics` (type: `boolean`):

Compute sentiment (positive/negative/neutral), top themes, and ranked PAIN POINTS (unmet needs/complaints, weighted by engagement) over the harvested posts+comments of each subreddit/post. Forces comment fetch. Great for market research & product-gap discovery.

## `keywordMaxCommunities` (type: `integer`):

How many matching communities to return per keyword (each adds one lookup for live active-user counts).

## `keywordConversations` (type: `integer`):

How many current top posts mentioning the keyword to attach. 0 = skip.

## `country` (type: `string`):

Country context (ISO-2). Affects regional ranking.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.reddit.com/r/technology/"
    }
  ],
  "subreddits": [],
  "searches": [],
  "searchType": "posts",
  "users": [],
  "keywords": [],
  "categories": [],
  "categoryMaxCommunities": 10,
  "answers": [],
  "answersProducts": true,
  "subredditComments": [],
  "sort": "top",
  "time": "week",
  "feedMode": "listing",
  "maxPostsPerSource": 100,
  "maxItems": 10000,
  "includeComments": false,
  "threadedComments": false,
  "maxCommentsPerPost": 500,
  "minScore": 0,
  "minComments": 0,
  "minUpvoteRatio": 0,
  "includeNSFW": false,
  "postIntelligence": false,
  "includeCrosspostGraph": false,
  "includeUserInfluence": false,
  "collectUsers": false,
  "includeAnalytics": false,
  "keywordMaxCommunities": 15,
  "keywordConversations": 8,
  "country": "us"
}
```

# Actor output Schema

## `data` (type: `string`):

All posts / comments / users / communities.

## `summary` (type: `string`):

Record count + config.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.reddit.com/r/technology/"
        }
    ],
    "subreddits": [],
    "searches": [],
    "users": [],
    "keywords": [],
    "categories": [],
    "answers": [],
    "subredditComments": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("yumitori/reddit-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.reddit.com/r/technology/" }],
    "subreddits": [],
    "searches": [],
    "users": [],
    "keywords": [],
    "categories": [],
    "answers": [],
    "subredditComments": [],
}

# Run the Actor and wait for it to finish
run = client.actor("yumitori/reddit-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.reddit.com/r/technology/"
    }
  ],
  "subreddits": [],
  "searches": [],
  "users": [],
  "keywords": [],
  "categories": [],
  "answers": [],
  "subredditComments": []
}' |
apify call yumitori/reddit-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=yumitori/reddit-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Scraper – Posts, Comments, AI Answers & Products",
        "description": "Reliable Reddit scraper that just works — scrape posts, every comment, users, communities & search. No login or API key, every field returned, export to CSV/JSON. Plus Reddit AI answers, product picks with live prices, native comment search & keyword/audience intelligence.",
        "version": "0.1",
        "x-build-id": "sVWvKcgEX6vN7yCcn"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/yumitori~reddit-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-yumitori-reddit-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/yumitori~reddit-scraper/runs": {
            "post": {
                "operationId": "runs-sync-yumitori-reddit-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/yumitori~reddit-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-yumitori-reddit-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Reddit URLs — paste & Start",
                        "type": "array",
                        "description": "👉 The easy way: paste any Reddit URL — a post, subreddit, user, or search page — and hit Start. The type is detected automatically. Add as many as you want. (Or use one of the source fields below instead.)",
                        "items": {
                            "type": "string"
                        }
                    },
                    "subreddits": {
                        "title": "Subreddits",
                        "type": "array",
                        "description": "Communities to scrape. Start typing to pick from the 500 most popular, or enter ANY name. Example: streetwear, AskReddit.",
                        "items": {
                            "type": "string",
                            "enumSuggestedValues": [
                                "Home",
                                "AskReddit",
                                "NoStupidQuestions",
                                "BaldursGate3",
                                "facepalm",
                                "interestingasfuck",
                                "Damnthatsinteresting",
                                "LivestreamFail",
                                "pics",
                                "Palworld",
                                "AmItheAsshole",
                                "mildlyinfuriating",
                                "Piracy",
                                "PeterExplainsTheJoke",
                                "funny",
                                "AITAH",
                                "movies",
                                "Helldivers",
                                "gaming",
                                "worldnews",
                                "leagueoflegends",
                                "pcmasterrace",
                                "Unexpected",
                                "news",
                                "politics",
                                "wallstreetbets",
                                "todayilearned",
                                "nottheonion",
                                "memes",
                                "PublicFreakout",
                                "Wellthatsucks",
                                "explainlikeimfive",
                                "OutOfTheLoop",
                                "OnePiece",
                                "BlackPeopleTwitter",
                                "buildapc",
                                "HonkaiStarRail",
                                "SipsTea",
                                "Minecraft",
                                "mildlyinteresting",
                                "nfl",
                                "BeAmazed",
                                "DIY",
                                "nba",
                                "MapPorn",
                                "Steam",
                                "Overwatch",
                                "Genshin_Impact",
                                "classicwow",
                                "soccer",
                                "Eldenring",
                                "badroommates",
                                "personalfinance",
                                "antiwork",
                                "anime",
                                "wow",
                                "DnD",
                                "technology",
                                "WhitePeopleTwitter",
                                "EscapefromTarkov",
                                "unpopularopinion",
                                "popculturechat",
                                "videos",
                                "BestofRedditorUpdates",
                                "youtube",
                                "legaladvice",
                                "ffxiv",
                                "sysadmin",
                                "MadeMeSmile",
                                "CombatFootage",
                                "relationship_advice",
                                "discordapp",
                                "pcgaming",
                                "Games",
                                "ChatGPT",
                                "GlobalOffensive",
                                "2007scape",
                                "formula1",
                                "CuratedTumblr",
                                "Gamingcirclejerk",
                                "TikTokCringe",
                                "PiratedGames",
                                "techsupport",
                                "shitposting",
                                "theydidthemath",
                                "malelivingspace",
                                "WTF",
                                "cyberpunkgame",
                                "OldSchoolCool",
                                "coolguides",
                                "AskMen",
                                "dankmemes",
                                "feedthebeast",
                                "Warframe",
                                "UkraineWarVideoReport",
                                "SteamDeck",
                                "college",
                                "manga",
                                "CrazyFuckingVideos",
                                "rareinsults",
                                "amiwrong",
                                "Nijisanji",
                                "Kanye",
                                "KitchenConfidential",
                                "Fauxmoi",
                                "europe",
                                "iphone",
                                "Cooking",
                                "television",
                                "Truckers",
                                "ExplainTheJoke",
                                "marvelstudios",
                                "TwoXChromosomes",
                                "TrueOffMyChest",
                                "StableDiffusion",
                                "HonkaiStarRail_leaks",
                                "tifu",
                                "pathofexile",
                                "DotA2",
                                "Tekken",
                                "meirl",
                                "Weird",
                                "therewasanattempt",
                                "SquaredCircle",
                                "entertainment",
                                "nvidia",
                                "nextfuckinglevel",
                                "OculusQuest",
                                "BoomersBeingFools",
                                "jobs",
                                "HolUp",
                                "AskUK",
                                "Twitch",
                                "CrackWatch",
                                "Destiny",
                                "comics",
                                "CasualUK",
                                "cscareerquestions",
                                "PERSoNA",
                                "Millennials",
                                "Hololive",
                                "3Dprinting",
                                "travel",
                                "VirtualYoutubers",
                                "JoeRogan",
                                "learnprogramming",
                                "Scams",
                                "JuJutsuKaisen",
                                "apexlegends",
                                "GenZ",
                                "KidsAreFuckingStupid",
                                "magicTCG",
                                "Tinder",
                                "clevercomebacks",
                                "pokemon",
                                "Genshin_Impact_Leaks",
                                "PersonalFinanceCanada",
                                "Music",
                                "apple",
                                "ImTheMainCharacter",
                                "SweatyPalms",
                                "dndnext",
                                "ProgrammerHumor",
                                "VALORANT",
                                "books",
                                "australia",
                                "FortNiteBR",
                                "StardewValley",
                                "cats",
                                "de",
                                "diablo4",
                                "PS5",
                                "ThatsInsane",
                                "povertyfinance",
                                "geography",
                                "skyrim",
                                "teenagers",
                                "Amd",
                                "gamedev",
                                "skyrimmods",
                                "Animemes",
                                "germany",
                                "LifeProTips",
                                "Frugal",
                                "recruitinghell",
                                "AskHistorians",
                                "Jujutsufolk",
                                "Asmongold",
                                "BG3Builds",
                                "canada",
                                "snowboarding",
                                "ukraine",
                                "TooAfraidToAsk",
                                "Warthunder",
                                "selfhosted",
                                "RPClipsGTA",
                                "homelab",
                                "AskWomen",
                                "Philippines",
                                "india",
                                "tumblr",
                                "webdev",
                                "HistoryMemes",
                                "FashionReps",
                                "Costco",
                                "ask",
                                "NonCredibleDefense",
                                "dataisbeautiful",
                                "TwoHotTakes",
                                "copypasta",
                                "DataHoarder",
                                "hockey",
                                "aww",
                                "yakuzagames",
                                "StarWars",
                                "196",
                                "shittymoviedetails",
                                "BuyItForLife",
                                "changemyview",
                                "sex",
                                "MMA",
                                "TheLastAirbender",
                                "Marvel",
                                "whatisthisthing",
                                "Teachers",
                                "HazbinHotel",
                                "MechanicalKeyboards",
                                "redditonwiki",
                                "Windows10",
                                "science",
                                "stocks",
                                "MonsterHunter",
                                "Windows11",
                                "greentext",
                                "totalwar",
                                "LegalAdviceUK",
                                "GamingLeaksAndRumours",
                                "relationships",
                                "offmychest",
                                "Bitcoin",
                                "Roms",
                                "csMajors",
                                "YouShouldKnow",
                                "LinusTechTips",
                                "DestinyTheGame",
                                "deadbydaylight",
                                "GranblueFantasyRelink",
                                "Construction",
                                "LocalLLaMA",
                                "motorcycles",
                                "MonsterHunterWorld",
                                "gameofthrones",
                                "MacOS",
                                "learnpython",
                                "SkincareAddiction",
                                "CryptoCurrency",
                                "h3h3productions",
                                "trees",
                                "Grimdank",
                                "NintendoSwitch",
                                "mac",
                                "oddlysatisfying",
                                "space",
                                "TaylorSwift",
                                "hearthstone",
                                "france",
                                "Conservative",
                                "HomeNetworking",
                                "ontario",
                                "blender",
                                "Terraria",
                                "videogames",
                                "Persona5",
                                "Showerthoughts",
                                "headphones",
                                "cars",
                                "Fitness",
                                "tf2",
                                "Sims4",
                                "help",
                                "ADHD",
                                "chess",
                                "ufc",
                                "Enshrouded",
                                "godot",
                                "whenthe",
                                "virtualreality",
                                "FinalFantasy",
                                "Funnymemes",
                                "reddeadredemption",
                                "XboxSeriesX",
                                "askscience",
                                "aviation",
                                "formuladank",
                                "gachagaming",
                                "HomeImprovement",
                                "ApplyingToCollege",
                                "dating_advice",
                                "PleX",
                                "halo",
                                "instacart",
                                "CleaningTips",
                                "AusFinance",
                                "Accounting",
                                "stupidquestions",
                                "doordash",
                                "NewsOfTheStupid",
                                "golf",
                                "LeopardsAteMyFace",
                                "Seattle",
                                "UFOs",
                                "fightporn",
                                "LowSodiumCyberpunk",
                                "CrackSupport",
                                "wholesomememes",
                                "lego",
                                "careerguidance",
                                "LastEpoch",
                                "ChainsawMan",
                                "CrusaderKings",
                                "Jokes",
                                "Polska",
                                "mapporncirclejerk",
                                "Starfield",
                                "conspiracy",
                                "london",
                                "Warhammer40k",
                                "Finanzen",
                                "law",
                                "Whatcouldgowrong",
                                "Art",
                                "comicbookmovies",
                                "melbourne",
                                "playstation",
                                "gtaonline",
                                "Money",
                                "skiing",
                                "midjourney",
                                "argentina",
                                "4chan",
                                "Entrepreneur",
                                "baseball",
                                "MurderedByWords",
                                "RimWorld",
                                "lotr",
                                "boardgames",
                                "goodanimemes",
                                "hmmm",
                                "lostarkgame",
                                "Economics",
                                "unrealengine",
                                "maybemaybemaybe",
                                "nbacirclejerk",
                                "computers",
                                "notinteresting",
                                "projectzomboid",
                                "oculus",
                                "Satisfyingasfuck",
                                "Competitiveoverwatch",
                                "MouseReview",
                                "Fantasy",
                                "horror",
                                "OpenAI",
                                "Fallout",
                                "BatmanArkham",
                                "Guitar",
                                "FluentInFinance",
                                "AbruptChaos",
                                "rust",
                                "blunderyears",
                                "hoi4",
                                "TheSilphRoad",
                                "IdiotsInCars",
                                "singapore",
                                "pettyrevenge",
                                "49ers",
                                "privacy",
                                "Guildwars2",
                                "Monitors",
                                "atheism",
                                "TombRaider",
                                "starcitizen",
                                "PoliticalHumor",
                                "Rainbow6",
                                "30PlusSkinCare",
                                "CrappyDesign",
                                "software",
                                "investing",
                                "singularity",
                                "sydney",
                                "GooglePixel",
                                "40kLore",
                                "newzealand",
                                "grandorder",
                                "dating",
                                "factorio",
                                "footballmanagergames",
                                "BG3",
                                "funnyvideos",
                                "unitedkingdom",
                                "CreditCards",
                                "loseit",
                                "homeowners",
                                "brasil",
                                "BrandNewSentence",
                                "RealEstate",
                                "eu4",
                                "OnePunchMan",
                                "homeassistant",
                                "amazonprime",
                                "Advice",
                                "MechanicAdvice",
                                "JRPG",
                                "vancouver",
                                "MemePiece",
                                "hiphopheads",
                                "WerWieWas",
                                "IAmA",
                                "AskCulinary",
                                "ChikaPH",
                                "delta",
                                "DCcomics",
                                "marvelmemes",
                                "PrequelMemes",
                                "Unity3D",
                                "runescape",
                                "excel",
                                "MarvelStudiosSpoilers",
                                "askTO",
                                "patientgamers",
                                "MaliciousCompliance",
                                "manhwa",
                                "holdmycatnip",
                                "Jujutsushi",
                                "DeepRockGalactic",
                                "ios",
                                "nhl",
                                "AskNYC",
                                "buildapcsales",
                                "ich_iel",
                                "BollyBlindsNGossip",
                                "programming",
                                "ShingekiNoKyojin",
                                "Watches",
                                "SwiftlyNeutral",
                                "geometrydash",
                                "nostalgia",
                                "askSingapore",
                                "Parenting",
                                "JEENEETards",
                                "Naruto",
                                "reactjs",
                                "gamingsuggestions",
                                "popheads",
                                "yugioh",
                                "summonerschool",
                                "UKPersonalFinance",
                                "windows",
                                "chrome",
                                "medicalschool",
                                "IAmTheMainCharacter",
                                "Bogleheads",
                                "texts",
                                "rupaulsdragrace",
                                "EDH",
                                "KGBTR",
                                "linux",
                                "dndmemes",
                                "cursedcomments",
                                "Presidents",
                                "HollowKnight",
                                "Superstonk",
                                "TerrifyingAsFuck",
                                "VisionPro",
                                "DMAcademy",
                                "UkrainianConflict",
                                "SpidermanPS4",
                                "linux_gaming",
                                "pokemongo",
                                "Deltarune",
                                "FFVIIRemake",
                                "GoodAssSub",
                                "osugame",
                                "whatcarshouldIbuy",
                                "KansasCityChiefs",
                                "LeagueOfMemes",
                                "linuxquestions",
                                "writing",
                                "thalassophobia",
                                "civ",
                                "UnethicalLifeProTips",
                                "perfectlycutscreams",
                                "Target",
                                "valheim",
                                "notliketheothergirls",
                                "comicbooks",
                                "arknights",
                                "StardustCrusaders",
                                "Futurology",
                                "AMDHelp"
                            ]
                        }
                    },
                    "searches": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "Keywords to search across Reddit (or one community, via \"Search within community\" below). Returns the type chosen in \"Search returns\".",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchType": {
                        "title": "Search returns",
                        "enum": [
                            "posts",
                            "comments",
                            "communities",
                            "users"
                        ],
                        "type": "string",
                        "description": "What your Search keywords return. \"Comments\" is the live comment search Reddit removed from its public API.",
                        "default": "posts"
                    },
                    "searchCommunity": {
                        "title": "Search within community",
                        "type": "string",
                        "description": "Restrict searches to one subreddit (name only, e.g. \"fashion\"). Leave blank to search all of Reddit."
                    },
                    "users": {
                        "title": "Usernames",
                        "type": "array",
                        "description": "Reddit usernames → profile + their posts (and comments). Example: spez.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Keyword intelligence",
                        "type": "array",
                        "description": "A keyword → its community landscape: matching communities, total addressable audience, related communities, Reddit topics, and live top conversations. Example: ozempic.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categories": {
                        "title": "Categories / topics",
                        "type": "array",
                        "description": "Start a crawl from a topic — no subreddit names needed. The actor finds the top communities in each category and crawls them. Pick from Reddit's official categories or type any topic. e.g. \"Crypto\", \"Computers & Hardware\", \"Fitness\".",
                        "items": {
                            "type": "string",
                            "enumSuggestedValues": [
                                "3D Printing",
                                "Accessories & Jewelry",
                                "Action Games",
                                "Action Movies & Series",
                                "Activism",
                                "Addiction Support",
                                "Adult Content",
                                "Adventure Games",
                                "Alcoholic Beverages",
                                "Amazing",
                                "Animals & Pets",
                                "Animated Movies & Series",
                                "Anime & Cosplay",
                                "Anime & Manga",
                                "Architecture",
                                "Art",
                                "Aviation",
                                "Baking & Desserts",
                                "Barbecues & Grilling",
                                "Baseball",
                                "Basketball",
                                "Beauty & Grooming",
                                "Bikes & Cycling",
                                "Biological Sciences",
                                "Boating & Sailing",
                                "Books & Literature",
                                "Business & Finance",
                                "Business News & Discussion",
                                "Camping & Hiking",
                                "Career",
                                "Cars & Trucks",
                                "Celebrities",
                                "Chemistry",
                                "Classical Music",
                                "Climate & Environment",
                                "Collectibles",
                                "Collectibles & Other Hobbies",
                                "College Sports",
                                "Comedy Movies & Series",
                                "Comics",
                                "Computers & Hardware",
                                "Consumer Electronics",
                                "Cosplay",
                                "Country Music",
                                "Crazy & Shocking",
                                "Creators & Influencers",
                                "Creepy",
                                "Cricket",
                                "Cringe & Facepalm",
                                "Crypto",
                                "Culture, Race, & Ethnicity",
                                "DIY & Crafts",
                                "DIY Electronics",
                                "Dance & Electronic Music",
                                "Data Science",
                                "Deals & Marketplace",
                                "Design",
                                "Diet & Nutrition",
                                "Digital Art",
                                "Documentary Movies & Series",
                                "Drama Movies & Series",
                                "Economics",
                                "Education & Career",
                                "Engineering",
                                "Esports",
                                "Ethics & Philosophy",
                                "Family & Parenting",
                                "Fantasy Movies & Series",
                                "Fashion",
                                "Fashion & Beauty",
                                "Filmmaking",
                                "Fishing",
                                "Fitness",
                                "Food & Drinks",
                                "Food & Recipes",
                                "Food industry & Restaurants",
                                "Football",
                                "Funny",
                                "Gambling",
                                "Games",
                                "Gaming Consoles & Gear",
                                "Gaming News & Discussion",
                                "Gardening & Farming",
                                "Gender & Sexual Orientation",
                                "Generations & Nostalgia",
                                "Geography",
                                "Golf",
                                "Guns & Weapons",
                                "Hair",
                                "Health",
                                "Hip-Hop & Rap Music",
                                "History",
                                "Home & Garden",
                                "Home Improvement",
                                "Home Inspiration & Decor",
                                "Horror Movies & Series",
                                "House Plants",
                                "Humanities & Law",
                                "Hunting",
                                "Ice Hockey",
                                "Identity & Relationships",
                                "Illegal & Recreational Drugs",
                                "Indie & Alternative Music",
                                "Interesting",
                                "Internet Culture",
                                "Jazz Music",
                                "K-Pop",
                                "Languages",
                                "Law",
                                "Love & Dating",
                                "Makeup",
                                "Mathematics",
                                "Medical Health",
                                "Memes",
                                "Mental Health",
                                "Metal Music",
                                "Military",
                                "Mobile Games",
                                "Model Building",
                                "Motivation & Self-Improvement",
                                "Motor Sports",
                                "Motorcycles",
                                "Movie News & Discussion",
                                "Movies & TV",
                                "Music",
                                "Music News & Discussion",
                                "Music Production",
                                "Musical Instruments & Singing",
                                "Nails",
                                "Nature & Outdoors",
                                "Nature & Wildlife",
                                "News",
                                "News & Politics",
                                "Non-Alcoholic Beverages",
                                "Oddly Satisfying",
                                "Other Games",
                                "Other Hobbies",
                                "Other Music Genres",
                                "Other Sciences",
                                "Other Sports",
                                "Paranormal & Unexplained",
                                "Performing Arts",
                                "Personal Finance",
                                "Photography",
                                "Physics",
                                "Places & Travel",
                                "Places in Africa",
                                "Places in Asia",
                                "Places in Australia & Oceania",
                                "Places in Europe",
                                "Places in North America",
                                "Places in South America",
                                "Places in the Middle East",
                                "Podcasts",
                                "Politics",
                                "Pop Culture",
                                "Pop Music",
                                "Pregnancy",
                                "Programming",
                                "Psychology & Sociology",
                                "Q&As",
                                "Q&As & Stories",
                                "R&B Music",
                                "Racket Sports",
                                "Reading & Writing",
                                "Real Estate",
                                "Reality TV",
                                "Reddit Meta",
                                "Relationships",
                                "Religion & Spirituality",
                                "Rock Music",
                                "Role-Playing Games",
                                "Romance Movies & Series",
                                "Rugby",
                                "Sci-Fi Movies & Series",
                                "Science News & Discussion",
                                "Sciences",
                                "Simulation Games",
                                "Skincare",
                                "Smoking & Vaping",
                                "Soccer",
                                "Software & Apps",
                                "Space & Astronomy",
                                "Spooky",
                                "Sports",
                                "Sports & Racing Games",
                                "Sports News & Discussion",
                                "Startups & Entrepreneurship",
                                "Stocks & Investing",
                                "Stories & Confessions",
                                "Strategy Games",
                                "Streamers",
                                "Streaming Services",
                                "Streetwear & Sneakers",
                                "Studying & Education",
                                "Superhero Movies & Series",
                                "Sustainable Living",
                                "TV News & Discussion",
                                "Tabletop Games",
                                "Tarot & Astrology",
                                "Tattoos & Piercings",
                                "Tech News & Discussion",
                                "Technology",
                                "Toys",
                                "Trains & Public Transportation",
                                "Trauma Support",
                                "Travel & Holiday",
                                "True Crime",
                                "Vegetarian & Vegan Food",
                                "Vehicles",
                                "Virtual & Augmented Reality",
                                "Watches",
                                "Water Sports",
                                "Weddings",
                                "Weight Loss",
                                "Weird & Unusual",
                                "Wellness",
                                "Wholesome & Heartwarming",
                                "Winter Sports",
                                "Wrestling & Combat Sports",
                                "Writing"
                            ]
                        }
                    },
                    "categoryMaxCommunities": {
                        "title": "Communities per category",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "How many top communities to crawl per category.",
                        "default": 10
                    },
                    "answers": {
                        "title": "Ask Reddit AI",
                        "type": "array",
                        "description": "Questions for Reddit's AI answer engine → a synthesized answer from real threads + citations. Shopping questions also return product cards with prices and buy links. Example: best budget mechanical keyboard under $100.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "answersProducts": {
                        "title": "Include product recommendations in AI answers",
                        "type": "boolean",
                        "description": "For AI answers, include product cards + retailer prices when the question has shopping intent.",
                        "default": true
                    },
                    "subredditComments": {
                        "title": "Subreddit comment firehose",
                        "type": "array",
                        "description": "Subreddit names → EVERY recent comment across the whole sub (all posts), not per-post. Mass comment extraction. e.g. \"AskReddit\".",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sort": {
                        "title": "Sort posts by",
                        "enum": [
                            "hot",
                            "new",
                            "top",
                            "rising",
                            "controversial",
                            "best"
                        ],
                        "type": "string",
                        "description": "Order for subreddit posts (used when feed mode = Listing).",
                        "default": "top"
                    },
                    "time": {
                        "title": "Time range",
                        "enum": [
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                            "all"
                        ],
                        "type": "string",
                        "description": "For Top / Controversial sorts and searches.",
                        "default": "week"
                    },
                    "feedMode": {
                        "title": "Subreddit feed mode",
                        "enum": [
                            "listing",
                            "algorithmic"
                        ],
                        "type": "string",
                        "description": "How subreddit posts are pulled. Algorithmic returns Reddit's actual ranked feed with `feed_rank` and the recommendation cells the app injects.",
                        "default": "listing"
                    },
                    "maxPostsPerSource": {
                        "title": "Max posts per source",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Posts to pull per subreddit / search / user. Reddit caps any single listing at ~1,000 — combine sorts & time ranges to exceed it.",
                        "default": 100
                    },
                    "maxItems": {
                        "title": "Max items (whole run)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on total records the run returns. Pay-per-result: you're only charged for what's returned.",
                        "default": 10000
                    },
                    "includeComments": {
                        "title": "Include full comment threads",
                        "type": "boolean",
                        "description": "Fetch EVERY comment of each post — recursively expanding hidden/collapsed replies (most scrapers stop at ~200). Adds requests per post.",
                        "default": false
                    },
                    "threadedComments": {
                        "title": "Threaded (nested) comments",
                        "type": "boolean",
                        "description": "Output comments as a nested reply tree — each comment carries its `replies`, preserving the full thread hierarchy (instead of a flat list). Requires \"Include full comment threads\".",
                        "default": false
                    },
                    "maxCommentsPerPost": {
                        "title": "Max comments per post",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Upper bound on comments fetched per post when the above is on.",
                        "default": 500
                    },
                    "minScore": {
                        "title": "Min score",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only posts with at least this score. 0 = no filter.",
                        "default": 0
                    },
                    "minComments": {
                        "title": "Min comments",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only posts with at least this many comments. 0 = no filter.",
                        "default": 0
                    },
                    "minUpvoteRatio": {
                        "title": "Min upvote ratio",
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number",
                        "description": "Only keep posts with at least this upvote ratio (0–1). 0 = no filter.",
                        "default": 0
                    },
                    "includeNSFW": {
                        "title": "Include NSFW",
                        "type": "boolean",
                        "description": "Include over-18 content. Off = filtered out.",
                        "default": false
                    },
                    "postIntelligence": {
                        "title": "Post intelligence (related questions + products)",
                        "type": "boolean",
                        "description": "For each post, add related_questions (questions associated with the post's topic — content ideation) and mentioned_products (products named in its comments, with counts). One extra lookup per post.",
                        "default": false
                    },
                    "includeCrosspostGraph": {
                        "title": "Crosspost / virality graph",
                        "type": "boolean",
                        "description": "For crossposted posts, add `crossposted_to` — every other post + subreddit the same content spread to. Virality & repost-network tracking (no other scraper surfaces this). One extra request per crossposted post.",
                        "default": false
                    },
                    "includeUserInfluence": {
                        "title": "User influence map (moderated subs + trophies)",
                        "type": "boolean",
                        "description": "When scraping users, add the subreddits they MODERATE (control) + trophies — power/network mapping no other scraper has. Two extra requests per user.",
                        "default": false
                    },
                    "collectUsers": {
                        "title": "Collect participant usernames",
                        "type": "boolean",
                        "description": "Emit a deduped list of every username that participated (posted or commented) in each subreddit/post — audience & power-user extraction. Forces comment fetch to gather commenters.",
                        "default": false
                    },
                    "includeAnalytics": {
                        "title": "Analytics — sentiment, themes & pain points",
                        "type": "boolean",
                        "description": "Compute sentiment (positive/negative/neutral), top themes, and ranked PAIN POINTS (unmet needs/complaints, weighted by engagement) over the harvested posts+comments of each subreddit/post. Forces comment fetch. Great for market research & product-gap discovery.",
                        "default": false
                    },
                    "keywordMaxCommunities": {
                        "title": "Max communities per keyword",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "How many matching communities to return per keyword (each adds one lookup for live active-user counts).",
                        "default": 15
                    },
                    "keywordConversations": {
                        "title": "Top conversations per keyword",
                        "minimum": 0,
                        "maximum": 25,
                        "type": "integer",
                        "description": "How many current top posts mentioning the keyword to attach. 0 = skip.",
                        "default": 8
                    },
                    "country": {
                        "title": "Market (country)",
                        "type": "string",
                        "description": "Country context (ISO-2). Affects regional ranking.",
                        "default": "us"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
