# Reddit Search Scraper 2026 (`devcake/reddit-search-scraper`) Actor

Find viral content ideas, and research niche communities. Extract Reddit posts, comments, and discussion data from search queries.

- **URL**: https://apify.com/devcake/reddit-search-scraper.md
- **Developed by:** [devcake](https://apify.com/devcake) (community)
- **Categories:** Social media, Other, SEO tools
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Reddit Search Scraper

Extract Reddit posts, comments, and discussion data from search queries. Build audience intelligence, find viral content ideas, and research niche communities.

### 📊 What It Does

Scrape Reddit search results to collect post details (selftext, metadata). Use the separate `/comments` endpoint to extract comment threads for specific posts.

**Two-tier pricing model:**
- `/search` - Fast post discovery and details (selftext included, no comments)
- `/comments` - Full comment threads for specific posts (charge per post)

**API Mode**: Test queries directly via the interactive Standby API tab — no input configuration needed, just enter your search and see results instantly.

### 👥 Who It's For

- 🎨 **Content creators** finding trending topics and viral post ideas for content calendars
- 📈 **Marketers** researching subreddit communities for niche targeting and audience intelligence
- 🛠️ **Product teams** gathering user feedback and discussion patterns from Reddit
- 📊 **Data analysts** building datasets for sentiment analysis and trend monitoring
- 🔍 **SEO specialists** exploring Reddit communities for outreach and link-building opportunities
- 🧪 **Researchers** collecting discussion data for market research and competitive analysis

### 💡 Use Cases

#### Find Viral Content Ideas
Discover Reddit posts that are gaining traction. Analyze post titles, scores, and engagement metrics to identify content patterns that resonate with specific communities. Use these insights to create content that performs well in similar niches.

#### Niche Community Research
Identify subreddit communities relevant to your target audience. Study post volumes, engagement rates, and discussion topics to find underserved niches. Perfect for influencers, brands, and marketers looking to expand into new Reddit communities.

#### Sentiment Analysis Datasets
Build datasets of Reddit discussions for natural language processing. Collect post selftext and comment bodies to analyze sentiment, extract common complaints, or identify emerging trends. Use for training ML models or building business intelligence dashboards.

#### Competitive Audience Intelligence
Research what questions, problems, and discussions dominate your competitors' communities. Monitor subreddits related to your industry to understand what customers care about, what products they praise, and what pain points they express.

#### Content Calendar Planning
Track which topics gain traction at specific times. Use time-filtered searches to understand seasonal trends, product launch discussions, and recurring conversation themes. Plan content timing based on when target communities are most active.

#### Product Feedback Research
Collect Reddit posts and comments about specific products, features, or brands. Analyze user sentiments, feature requests, and complaint patterns. Extract valuable product insights without running expensive user surveys.

#### Keyword and Trend Monitoring
Monitor Reddit for brand mentions, industry keywords, and emerging trends. Use time filters to track discussion volume over days, weeks, or months. Identify early signals of trending topics before they go mainstream.

### 🚀 Quick Start

1. **Add search queries** - Enter keywords related to your niche or industry
2. **Configure options** - Set max results, sort order, and time filter
3. **Run the scraper** - Download your dataset when complete

### ⚙️ Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| queries | array | Yes | Search keywords. Each query runs as a separate search. |
| max_posts_per_query | integer | No | Posts to collect per query (20-200, default: 20) |
| include_comments | boolean | No | Extract full comment text for each post |
| max_comments_per_post | integer | No | Maximum comments per post (1-100, default: 100) |
| sort | string | No | Sort order: relevance, hot, new, top, comments |
| time | string | No | Time filter: hour, day, week, month, year, all |

### 📊 Data You Get

| Field | Description |
|-------|-------------|
| id | Unique Reddit post identifier |
| subreddit | Community name where the post appears |
| title | Post headline |
| selftext | Full post body text |
| author | Reddit username of the poster |
| score | Net upvotes minus downvotes |
| num_comments | Total comment count |
| url | Direct link to the post |
| permalink | Reddit shareable link |
| created_utc | Timestamp when post was created |
| is_self | Whether post is a text post (vs. link) |
| comments | Array of comment objects with author, body, score |

### 📝 Example

#### Input

```json
{
  "queries": ["AI tools 2026"],
  "max_posts_per_query": 20,
  "sort": "hot",
  "time": "month"
}
````

#### Output

```json
{
  "dataType": "post",
  "id": "1abc123",
  "subreddit": "artificial",
  "title": "Best AI tools for productivity?",
  "selftext": "Looking for recommendations...",
  "author": "TechEnthusiast42",
  "score": 247,
  "num_comments": 89,
  "url": "https://www.reddit.com/r/artificial/comments/...",
  "created_utc": 1748000000,
  "comments": [
    {
      "author": "AIResearcher",
      "body": "I've been using Claude for writing tasks...",
      "score": 34
    }
  ]
}
```

# Actor input Schema

## `queries` (type: `array`):

Enter keywords to search Reddit. Each query runs as a separate search.

## `max_posts_per_query` (type: `integer`):

Posts to collect per query. Higher = longer runtime. Test with 10-20 first.

## `include_comments` (type: `boolean`):

Scrape full comment text (body). Fetches additional page per post.

## `max_comments_per_post` (type: `integer`):

Maximum comments to extract per post. Reddit returns max 100. Lower = faster.

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

'Relevance' and 'Comments' sort by search metrics. 'Hot', 'New', 'Top' sort by activity.

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

Limit posts by age. <strong>hour</strong>=past hour, <strong>day</strong>=24h, <strong>week</strong>=7d, <strong>month</strong>=30d, <strong>year</strong>=365d, <strong>all</strong>=no filter.

## Actor input object example

```json
{
  "queries": [
    "AI startups 2026"
  ],
  "max_posts_per_query": 20,
  "include_comments": false,
  "max_comments_per_post": 100,
  "sort": "relevance",
  "time": "all"
}
```

# Actor output Schema

## `dataset` (type: `string`):

Complete scraped data with all fields

## `overview` (type: `string`):

Simplified view with key fields: id, subreddit, title, url, score, num\_comments

## `details` (type: `string`):

Full post details: author, title, selftext, score, num\_comments, created\_utc, is\_self

## `comments` (type: `string`):

Comment bodies with author, score, depth, and reply counts

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

Run statistics: queries processed, posts collected, errors, runtime

# 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 = {
    "queries": [
        "AI startups 2026"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/reddit-search-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 = { "queries": ["AI startups 2026"] }

# Run the Actor and wait for it to finish
run = client.actor("devcake/reddit-search-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 '{
  "queries": [
    "AI startups 2026"
  ]
}' |
apify call devcake/reddit-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Search Scraper 2026",
        "description": "Find viral content ideas, and research niche communities. Extract Reddit posts, comments, and discussion data from search queries.",
        "version": "1.0",
        "x-build-id": "SgKYLCEAQQeIsoPPb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devcake~reddit-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devcake-reddit-search-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/devcake~reddit-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devcake-reddit-search-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/devcake~reddit-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devcake-reddit-search-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",
                "required": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Search Queries",
                        "minItems": 1,
                        "maxItems": 50,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Enter keywords to search Reddit. Each query runs as a separate search.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "max_posts_per_query": {
                        "title": "Max Results",
                        "minimum": 20,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Posts to collect per query. Higher = longer runtime. Test with 10-20 first.",
                        "default": 20
                    },
                    "include_comments": {
                        "title": "Extract Comment Text",
                        "type": "boolean",
                        "description": "Scrape full comment text (body). Fetches additional page per post.",
                        "default": false
                    },
                    "max_comments_per_post": {
                        "title": "Max Comments Per Post",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum comments to extract per post. Reddit returns max 100. Lower = faster.",
                        "default": 100
                    },
                    "sort": {
                        "title": "Sort By",
                        "enum": [
                            "relevance",
                            "hot",
                            "new",
                            "top",
                            "comments"
                        ],
                        "type": "string",
                        "description": "'Relevance' and 'Comments' sort by search metrics. 'Hot', 'New', 'Top' sort by activity.",
                        "default": "relevance"
                    },
                    "time": {
                        "title": "Time Filter",
                        "enum": [
                            "all",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year"
                        ],
                        "type": "string",
                        "description": "Limit posts by age. <strong>hour</strong>=past hour, <strong>day</strong>=24h, <strong>week</strong>=7d, <strong>month</strong>=30d, <strong>year</strong>=365d, <strong>all</strong>=no filter.",
                        "default": "all"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
