# Reddit Posts & Search Scraper (Fast & Cheap) \[From $0.50💰] (`unitbytes/reddit-scraper`) Actor

💰 From $0.50/1k. Fast 100% Pure-HTTP Reddit scraper with zero API keys required. Extract keyword searches, subreddit feeds (hot/new/top/rising), direct post discussions, and permanent media links.

- **URL**: https://apify.com/unitbytes/reddit-scraper.md
- **Developed by:** [UnitBytes | Enterprise Web Data](https://apify.com/unitbytes) (community)
- **Categories:** Social media, AI, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 reddit post / comment scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

<p align="center">
  <a href="https://console.apify.com/actors/pOP8nA1PrwhWy4aKB/input" target="_blank">
    <img src="https://raw.githubusercontent.com/unitbytes/.github/main/assets/banners/unitbytes-reddit-scraper-subreddits-posts-comments-api-banner.jpg" alt="Reddit Scraper API by UnitBytes" width="100%" />
  </a>
</p>

<p align="center">
  <a href="https://console.apify.com/actors/pOP8nA1PrwhWy4aKB/input" target="_blank">
    <img src="https://raw.githubusercontent.com/unitbytes/.github/main/assets/try-it-for-free.svg" width="240" height="48" alt="Try it for Free">
  </a>
  <br>
  <sub>⚡ <b>1-Click Free Trial:</b> Test live queries using Apify's free monthly credit • No credit card required • Sub-second runs</sub>
</p>

***

## 🤖 Reddit Posts & Search Scraper \[From $0.50💰] — Fast, Cheap & No API Key Required

<p align="center">
  <img src="https://raw.githubusercontent.com/unitbytes/.github/main/assets/unitbytes-reddit-scraper-posts-comments-api-logo.png" alt="Reddit Scraper API - Fast Subreddits, Posts & Comments Extractor Logo" title="Reddit Scraper & Data API on Apify" width="150" style="border-radius: 28px; box-shadow: 0 8px 32px rgba(255, 69, 0, 0.35); margin: 16px 0;" />
</p>

<p align="center">
  <strong>The fastest, most reliable, and cost-effective Reddit Posts & Search Scraper on Apify.</strong><br>
  Extract keyword searches, subreddit feeds, direct post discussions, and comments without official Reddit API keys, developer approvals, or login credentials.
</p>

<p align="center">
  <a href="#-4-tier-monetization--apify-store-discounts"><img src="https://img.shields.io/badge/Pricing-From_$0.50/1k-brightgreen.svg" alt="Pricing" /></a>
  <a href="#-core-features"><img src="https://img.shields.io/badge/Speed-Sub--Second-orange.svg" alt="Speed" /></a>
  <a href="#-core-features"><img src="https://img.shields.io/badge/Media-Permanent_HD_Links-blue.svg" alt="Permanent Media" /></a>
  <a href="#-core-features"><img src="https://img.shields.io/badge/RAM_Tier-256MB-purple.svg" alt="RAM Tier" /></a>
</p>

***

### ⚡ Highlights & Key Advantages

- 🔍 **Multi-Page Keyword Search** — Search across all of Reddit or restrict to any subreddit with dynamic cursor pagination up to thousands of results.
- 📢 **Complete Subreddit Feeds** — Scrape `hot`, `new`, `top` (filtered by hour, day, week, month, year, or all-time), and `rising` for any community (e.g. `r/technology`, `r/wallstreetbets`).
- 📝 **Direct Post & Discussion Threads** — Paste direct Reddit post links to extract the full post text, metadata, and top discussion comments.
- 🖼️ **100% Permanent HD Media Links** — Expiring preview tokens automatically rewritten into permanent direct CDN links (`i.redd.it` and `v.redd.it`).
- 🛡️ **Zero-Browser Bot Challenge Resolution** — Automatically resolves Reddit's client-side JavaScript challenges and client redirects in pure HTTP.
- ⚡ **Scrapes in Seconds** — Sub-second response times with zero browser overhead (safe inside the 256MB RAM tier with <100MB active memory).
- 🤖 **AI-Ready Dual Output** — Exports as flat row-per-item records (ideal for LLM fine-tuning, Pandas, and CSV) or legacy nested JSON envelopes.
- 💰 **Cheapest on Apify** — Starting from **$0.50 / 1,000 posts** with zero compute overhead and a fair billing guarantee.

***

### 🏆 Why Choose UnitBytes Reddit Scraper?

| Feature / Benefit | **UnitBytes Reddit Scraper** | Official Reddit API | Competitor Scrapers |
| :--- | :--- | :--- | :--- |
| **API Keys / Approvals** | **❌ Not needed ($0.00)** | 🛑 Strict Approval / Deprecating | ❌ Not needed |
| **Cost per 1,000 Posts** | **💰 $0.50 – $1.00** | 💵 $0.24 + Enterprise Base | 💸 $1.50 – $3.50 |
| **Media Links** | **✅ Permanent HD CDN Links** | ⚠️ Expiring Signed URLs | ❌ Often Broken |
| **Speed (50 Posts)** | **⚡ ~2–3 seconds** | ~5 seconds | 🐢 25–60 seconds (Heavy Browsers) |
| **Memory Footprint** | **✅ <100MB (256MB Tier)** | N/A | ⚠️ 1GB – 4GB (OOM Risks) |
| **Challenge Bypass** | **✅ Auto Pure-HTTP POW Solver** | N/A | ⚠️ Fails or stalls |
| **Anonymous & Safe** | **✅ 100% Anonymous** | ❌ Account Required | ⚠️ Inconsistent |

***

### 💎 4-Tier Monetization & Apify Store Discounts

We utilize Apify's **Pay-Per-Event (PPE)** model with active **Store Discounts**. Users on higher subscription tiers automatically unlock substantial discounts per extracted item:

| Plan Tier | Apify Discount Tier | Unit Price per Item | Price / 1,000 Posts | Apify Discount | Included Monthly Capacity |
| :--- | :--- | :--- | :--- | :--- | :--- |
| 🟢 **Free Plan** | `FREE` | **$0.0010** | **$1.00** | Baseline | **Up to 5,000 results/mo FREE** ($5 credit) |
| 🥉 **Starter Plan** | `BRONZE` | **$0.0008** | **$0.80** | **20% OFF** | **Up to 23,750 results/mo** ($19 credit) |
| 🥈 **Scale Plan** | `SILVER` | **$0.0006** | **$0.60** | **40% OFF** | **Up to 331,600 results/mo** ($199 credit) |
| 🥇 **Business Plan** | `GOLD` / `PLATINUM` | **$0.0005** | **$0.50** | **50% OFF** | **Up to 1,998,000 results/mo** ($999 credit) |

> **Fair Billing Guarantee**: Zero charges on empty search results, private subreddits, or invalid communities. Startup fee is capped at the platform minimum ($0.0001).

***

### 🚀 How to Get Started in 3 Easy Steps

1. **Choose Your Target**:
   - Type a search query (e.g. `artificial intelligence` or `SaaS marketing`).
   - OR paste any Reddit URL (`https://www.reddit.com/r/technology/hot/` or a post link).
   - OR provide shorthand notation (`r/wallstreetbets`).
2. **Configure Filters & Depth**:
   - Select sorting: `Hot`, `New`, `Top`, or `Rising`.
   - Set time frame for top posts: `hour`, `day`, `week`, `month`, `year`, `all`.
   - Choose maximum items and toggle comments extraction.
3. **Click "Start"**:
   - Download clean data in **Excel, CSV, or JSON**, or integrate with **ChatGPT, Claude, LangChain, or Zapier**!

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `startUrls` | Array | `[]` | List of Reddit URLs (Subreddit feeds, direct post discussions, or shorthand `r/name`). |
| `searchQuery` | String | `""` | Search keyword across Reddit or within a specific subreddit. |
| `subreddit` | String | `""` | Optional subreddit name to filter search or scrape feed (e.g. `technology`). |
| `sort` | Select | `"hot"` | Sort feed by `hot`, `new`, `top`, `rising`, or `relevance`. |
| `timeFilter` | Select | `"all"` | Time frame for top posts: `all`, `year`, `month`, `week`, `day`, `hour`. |
| `maxItems` | Integer | `50` | Maximum number of posts to scrape. |
| `scrapeComments` | Boolean | `true` | Whether to extract comment threads for scraped posts. |
| `maxCommentsPerPost` | Integer | `20` | Max comments to extract per post. |
| `outputMode` | Select | `"flat"` | `flat` (row per item for AI/Pandas) or `legacy` (nested envelope). |

***

### 📤 Sample Output (Flat Mode)

```json
[
  {
    "itemType": "post",
    "id": "t3_1x02q4h",
    "title": "Man discovers his parents’ coffee machine used 1TB of data in 10 days",
    "subreddit": "technology",
    "author": "Fleshy_Tendrils",
    "score": 831,
    "upvoteRatio": 0.94,
    "numComments": 147,
    "postType": "link",
    "url": "https://arstechnica.com/gadgets/2026/10/...",
    "permalink": "https://www.reddit.com/r/technology/comments/1x02q4h/man_discovers_his_parents_coffee_machine_used_1tb/",
    "createdAt": "2026-10-07T17:15:39.000000+0000",
    "mediaUrls": [
      "https://i.redd.it/e2q780u08mtd1.jpeg"
    ],
    "scrapedAt": "2026-10-07T20:10:46.000Z"
  }
]
```

***

### 💻 API & Python Integration

#### Run via Apify Python Client

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")

run_input = {
    "subreddit": "technology",
    "sort": "hot",
    "maxItems": 50,
    "outputMode": "flat"
}

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

## Fetch results from dataset
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"[{item.get('score')} pts] {item.get('title')}")
```

#### Run via cURL

```bash
curl "https://api.apify.com/v2/acts/unitbytes~reddit-scraper/runs?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"subreddit": "technology", "maxItems": 25}'
```

***

### ❓ Frequently Asked Questions (FAQ)

##### Do I need a Reddit API account or credentials?

No. This actor uses reverse-engineered HTTP protocols with modern TLS impersonation. You do not need to register on Reddit Developer Portal or register OAuth apps.

##### Are media links permanent?

Yes! Reddit's preview image links expire quickly due to signed CDN tokens. Our extractor automatically normalizes and rewrites all preview URLs into permanent, non-expiring `https://i.redd.it/...` links.

##### How many comments are extracted per post?

The actor extracts the top discussion comment thread from the post page up to your configured `maxCommentsPerPost` (default: 20), capturing comment authors, scores, creation timestamps, and nested reply depth.

##### What happens if a subreddit has zero posts or doesn't exist?

The actor detects zero-result states cleanly, sets a friendly status message in your console, pushes zero error records, and exits with code `0`. You will never be charged for zero-result executions.

***

### 💬 Support & Custom Integrations

Need high-volume bespoke feeds, customized NLP pipelines, or additional platform scrapers? Reach out via the Apify Console or check our developer catalog!

# Actor input Schema

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

Direct Reddit URLs to scrape. Supports Subreddit URLs (e.g. https://www.reddit.com/r/technology/), Post URLs with comments (e.g. https://www.reddit.com/r/technology/comments/...), and User Profile URLs (e.g. https://www.reddit.com/user/username/).

## `searchQuery` (type: `string`):

Keyword to search across Reddit (or within the specified subreddit). Leave blank if using Start URLs.

## `subreddit` (type: `string`):

Target subreddit name (e.g. 'technology', 'SaaS', 'wallstreetbets') to restrict search results or scrape directly.

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

Sorting criteria for subreddit posts or search results.

## `timeFilter` (type: `string`):

Time filter applied when sorting by 'top' posts.

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

Maximum number of posts to extract.

## `scrapeComments` (type: `boolean`):

Whether to extract comment threads for scraped posts.

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

Maximum number of top-level and nested comments to extract per post.

## `outputMode` (type: `string`):

Choose between flat records (ideal for LLMs, Pandas, and CSV export) or nested envelope format (post with embedded comments array).

## `proxyConfiguration` (type: `object`):

Residential proxy configuration. Reddit blocks datacenter IPs, so residential proxies are automatically enforced by default for high reliability.

## `customProxyUrl` (type: `string`):

Optional custom residential proxy URL (e.g. MrScraper). If provided, it will be prioritized before falling back to Apify Residential.

## Actor input object example

```json
{
  "startUrls": [],
  "searchQuery": "artificial intelligence",
  "sort": "hot",
  "timeFilter": "all",
  "maxItems": 50,
  "scrapeComments": true,
  "maxCommentsPerPost": 20,
  "outputMode": "flat",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `redditDataset` (type: `string`):

Structured dataset of extracted Reddit posts, user submissions, search results, and comment trees with permanent media links.

# 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": [],
    "searchQuery": "artificial intelligence",
    "subreddit": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("unitbytes/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": [],
    "searchQuery": "artificial intelligence",
    "subreddit": "",
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [],
  "searchQuery": "artificial intelligence",
  "subreddit": ""
}' |
apify call unitbytes/reddit-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unitbytes/reddit-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/pOP8nA1PrwhWy4aKB/builds/iyGHET997GPmwsIJt/openapi.json
