Reddit Scraper Pro avatar
Reddit Scraper Pro

Pricing

Pay per event

Go to Apify Store
Reddit Scraper Pro

Reddit Scraper Pro

Developed by

BarriereFix

BarriereFix

Maintained by Community

High-performance Reddit scraper (99%+ success rate) for automation workflows. Monitor subreddits, track keywords with sentiment analysis, scrape comments, and integrate with n8n/Zapier for powerful automation.

5.0 (1)

Pricing

Pay per event

0

2

2

Last modified

19 hours ago

Reddit Scraper Pro - Posts, Comments & Sentiment Analysis

High-performance Reddit scraper (99%+ success rate) for automation workflows. Monitor subreddits, track keywords with sentiment analysis, scrape comments, and integrate with n8n/Zapier for powerful automation.

Apify Actor

πŸ†š Why Choose Reddit Scraper Pro?

FeatureReddit Scraper Protrudax/reddit-scraperOther Reddit Scrapers
Success Rate99%+69-92%70-90%
User Rating4.5+ (target)2.50-2.662.5-3.5
State Managementβœ… No duplicates across runs❌ No❌ No
Webhook Alertsβœ… Built-in n8n/Zapier❌ No⚠️ Limited
Sentiment Analysisβœ… AFINN-165 NLP❌ No❌ No
Comment Scrapingβœ… With depth control⚠️ Limited⚠️ Limited
Pricing Modelβœ… $0.001/post (predictable)⚠️ Varied⚠️ Compute-time
Scheduled Runsβœ… Optimized for automation⚠️ Limited⚠️ Limited

✨ Key Features

  • 🎯 99%+ Success Rate - Smart rate limiting, exponential backoff, residential proxy support
  • πŸ”„ State Management - No duplicate posts across scheduled runs (tracks 10k recent post IDs)
  • πŸ“Š Sentiment Analysis - Built-in NLP using AFINN-165 (positive/negative/neutral classification)
  • πŸ”” Webhook Integration - Direct n8n/Zapier support for real-time alerts
  • πŸ’¬ Comment Scraping - Configurable depth (0-5 levels) for deep analysis
  • πŸ’° Predictable Pricing - $0.001 per post ($1 per 1,000 posts) - no surprise costs
  • ⚑ Incremental Scraping - Only fetch new posts since last run for efficient scheduled automation

🎯 Use Cases

Brand Monitoring with Sentiment Analysis

{
"searchMode": "keyword",
"keywords": ["YourBrand", "YourProduct"],
"subreddits": ["webdev", "SaaS"],
"analyzeSentiment": true,
"webhookUrl": "https://n8n.io/webhook/reddit-alerts",
"maxAgeHours": 24
}

Result: Daily alerts when your brand is mentioned, with sentiment context (positive/negative/neutral).

Subreddit Monitoring for New Posts

{
"searchMode": "subreddit",
"subreddits": ["webdev", "programming", "javascript"],
"maxItemsPerSubreddit": 100,
"minUpvotes": 10,
"maxAgeHours": 24
}

Result: Daily scrape of high-quality posts (10+ upvotes) from last 24 hours. Schedule every 24 hours.

Competitor Tracking Across Reddit

{
"searchMode": "keyword",
"keywords": ["Competitor1", "Competitor2"],
"subreddits": ["webdev", "SaaS", "startups"],
"minUpvotes": 5,
"analyzeSentiment": true,
"includeComments": true,
"commentDepth": 1
}

Result: Track competitor mentions with engagement metrics, sentiment, and top-level comments.

Trend Analysis with Comments

{
"searchMode": "keyword",
"keywords": ["AI", "ChatGPT", "GPT-4", "Claude"],
"maxItemsPerSubreddit": 500,
"analyzeSentiment": true,
"includeComments": true,
"commentDepth": 2
}

Result: Deep analysis of AI trends with comment discussions (2 levels deep).

πŸ“₯ Input Configuration

Quick Start (Default Settings)

Just click "Start" to test with default configuration:

{
"searchMode": "keyword",
"keywords": ["AI", "ChatGPT", "web scraping"],
"subreddits": ["webdev", "programming", "technology"],
"maxItemsPerSubreddit": 50
}

Search Modes

1. πŸ” Keyword Search (recommended for automation) Search all of Reddit (or specific subreddits) for keywords:

{
"searchMode": "keyword",
"keywords": ["Apify", "web scraping"],
"subreddits": ["webdev", "programming"]
}

Leave subreddits empty to search all of Reddit.

2. πŸ“– Subreddit Monitoring Monitor specific subreddits (filter by keywords if provided):

{
"searchMode": "subreddit",
"subreddits": ["webdev", "javascript"],
"keywords": ["Apify"]
}

Essential Parameters

ParameterTypeDefaultDescription
searchModeenum"keyword"keyword or subreddit
keywordsarray["AI", "ChatGPT", ...]Keywords to search/filter
subredditsarray["webdev", ...]Subreddits to monitor (without "r/")
maxItemsPerSubredditinteger50Max posts per subreddit/query (1-10,000)
minUpvotesinteger5Minimum upvotes filter (quality control)
maxAgeHoursinteger168Max post age in hours (168 = 7 days)
includeCommentsbooleanfalseFetch comments (increases runtime)
commentDepthinteger1Comment reply depth (0-5 levels)
analyzeSentimentbooleantrueEnable sentiment analysis
webhookUrlstring-POST results to this URL
useApifyProxybooleantrueREQUIRED - Use residential proxies
proxyGroupsarray["RESIDENTIAL"]Proxy type (keep as RESIDENTIAL)

Advanced Filtering

Control data quality with filters:

{
"minUpvotes": 10,
"maxAgeHours": 24,
"includeComments": true,
"commentDepth": 2
}

πŸ“€ Output Schema

Each post includes 43 fields with comprehensive metadata:

{
"id": "01HQZX9K3P2VQWE8RTGBNM4567",
"platform": "reddit",
"type": "post",
"reddit_id": "abc123",
"subreddit": "webdev",
"subreddit_prefixed": "r/webdev",
"title": "Amazing new web scraping tool",
"body": "Just discovered Apify and it's incredible...",
"author": "username",
"url": "https://apify.com",
"reddit_url": "https://www.reddit.com/r/webdev/comments/...",
"score": 156,
"upvotes": 180,
"upvote_ratio": 0.88,
"num_comments": 42,
"gilded": 2,
"sentiment_score": 5.2,
"sentiment_comparative": 0.35,
"sentiment_label": "positive",
"keywords_matched": ["Apify"],
"created_utc": "2025-10-16T10:00:00Z",
"flair": "Discussion",
"comments": [...],
"ingest_meta": {
"first_seen_at": "2025-10-16T11:00:00Z",
"scrape_run_id": "...",
"actor_run_id": "..."
}
}

Sentiment Analysis Fields

  • sentiment_score: AFINN score (-5 to +5, 0 = neutral)
  • sentiment_comparative: Normalized score per word
  • sentiment_label: positive, negative, or neutral

Example Sentiment Interpretation:

  • sentiment_score: 5.2, label: "positive" β†’ Very positive post
  • sentiment_score: -3.8, label: "negative" β†’ Negative sentiment
  • sentiment_score: 0.5, label: "neutral" β†’ Neutral/mixed

πŸ“Š Dataset Views in Apify Console

The actor provides 3 optimized views:

  1. Overview - Main view with 8 key fields (title, subreddit, author, score, comments, sentiment, date, link)
  2. Engagement & Sentiment - Combined metrics for deeper insights (score, upvote ratio, awards, sentiment)
  3. Full Details - Complete dataset with all 43 fields for advanced analysis

πŸ”— Webhook Integration

n8n Workflow Example

  1. Create webhook trigger in n8n
  2. Configure Reddit Scraper Pro:
{
"searchMode": "keyword",
"keywords": ["YourBrand"],
"webhookUrl": "https://your-n8n.com/webhook/reddit",
"analyzeSentiment": true
}
  1. Process in n8n:
    • Filter by sentiment: sentiment_label === "negative"
    • Send negative mentions to Slack/email
    • Store all results in Airtable/Google Sheets
    • Create follow-up tasks in ClickUp/Asana

Zapier Workflow Example

Use Zapier's "Webhook by Zapier" trigger with the webhookUrl configuration.

Webhook Payload (Batch Mode)

Results are sent at the end of each run:

{
"type": "batch",
"timestamp": "2025-10-16T11:00:00Z",
"runId": "abc123",
"posts": [
{ /* post 1 */ },
{ /* post 2 */ }
],
"stats": {
"totalPosts": 42,
"totalComments": 180,
"keywordMatches": 38,
"sentimentDistribution": {
"positive": 15,
"negative": 8,
"neutral": 19
}
}
}

πŸ”„ Incremental Scraping with State Management

Reddit Scraper Pro tracks seen posts across runs:

  • βœ… No Duplicates - Already-seen posts are automatically skipped
  • βœ… Efficient - Only fetches new content since last run
  • βœ… Scalable - Keeps last 10,000 post IDs in state
  • βœ… Perfect for Scheduled Runs - Hourly, daily, weekly automation

How it works:

  1. First run: Scrapes 100 posts β†’ Saves IDs to state
  2. Second run: Fetches posts β†’ Skips 80 already seen β†’ Processes 20 new posts
  3. State persists across all runs indefinitely

πŸ’° Pricing

Pay-Per-Event Model: $0.001 per post ingested

Cost Examples:

  • 100 posts = $0.10
  • 1,000 posts = $1.00
  • 10,000 posts = $10.00

Plus: Apify platform costs:

  • Compute time (minimal - ~$0.01-0.05 per run)
  • Residential proxy bandwidth (~$2-5 per GB)

Cost Optimization Tips:

  • Use maxItemsPerSubreddit to limit scraping
  • Set maxAgeHours to 24 for daily monitoring
  • Use minUpvotes filter (focus on quality content)
  • Disable includeComments unless needed (significantly reduces runtime)

⚠️ Critical: Residential Proxies Required

Reddit blocks datacenter IPs. You MUST use residential proxies:

{
"useApifyProxy": true,
"proxyGroups": ["RESIDENTIAL"]
}

Why?

  • Datacenter proxies get instant 403/429 errors
  • Residential proxies mimic real users β†’ 99%+ success rate
  • This is non-negotiable for reliability

Cost: Residential proxies cost $2-5 per GB (separate from per-event pricing, billed by Apify).

πŸ• Rate Limiting & Reliability

Reddit's unofficial JSON API has rate limits:

  • ~60 requests per minute
  • Smart rate limiting (1.2 second delays)
  • Exponential backoff on 429 errors (automatic)
  • X-Ratelimit headers tracked automatically

Best Practices:

  • Don't run multiple instances simultaneously
  • Schedule runs at least 10 minutes apart
  • Use state management to avoid reprocessing

Brand Monitoring

  • Frequency: Every 6-12 hours
  • Config: maxAgeHours: 12, analyzeSentiment: true, webhookUrl: "..."

Subreddit Monitoring

  • Frequency: Daily (every 24 hours)
  • Config: maxAgeHours: 24, minUpvotes: 5

Trend Analysis

  • Frequency: Weekly
  • Config: maxAgeHours: 168, maxItemsPerSubreddit: 500, includeComments: true

Competitor Tracking

  • Frequency: Daily
  • Config: maxAgeHours: 24, analyzeSentiment: true, webhookUrl: "..."

❓ FAQ

How do I scrape Reddit without an API key?

This scraper uses Reddit's unofficial JSON API (e.g., /r/subreddit.json), which doesn't require authentication or API keys. No Reddit account needed!

Can I use this with n8n or Zapier?

Yes! Enable the webhookUrl parameter to send results directly to n8n, Zapier, or Make. The scraper posts a JSON payload with all results and stats at the end of each run.

How accurate is the sentiment analysis?

The sentiment analysis uses AFINN-165, a research-validated lexicon with ~2,500 words. Accuracy is typically 70-80% for social media text. Best for detecting overall positive/negative/neutral trends rather than nuanced emotion.

What's the difference between keyword and subreddit mode?

  • Keyword mode searches all of Reddit (or specific subreddits) for posts matching keywords
  • Subreddit mode monitors specific subreddits and optionally filters by keywords

For brand monitoring, use keyword mode. For community monitoring, use subreddit mode.

Can I schedule this to run automatically?

Yes! Use Apify's built-in scheduler or integrate with n8n/Zapier for custom schedules. We recommend running every 6-12 hours for brand monitoring, or daily for subreddit monitoring.

Will I get duplicate posts across runs?

No! The state management system tracks the last 10,000 post IDs seen. On subsequent runs, already-seen posts are automatically skipped. This is critical for scheduled automation.

Why do I need residential proxies?

Reddit aggressively blocks datacenter IPs (including Apify's infrastructure). Without residential proxies, you'll get instant 403/429 errors. Residential proxies cost $2-5/GB but are essential for reliability.

How many posts can I scrape per run?

Technically unlimited, but Reddit's API typically returns ~1,000 posts per subreddit. Use maxItemsPerSubreddit to control volume and cost.

Can I scrape private subreddits?

No, the unofficial JSON API only accesses public subreddits. Private/quarantined subreddits require authentication via Reddit's official API.

What format is the output?

JSON by default, but you can export to CSV, Excel, HTML, or XML. The output is flat (not deeply nested) for easy import to Google Sheets, databases, or automation tools.

πŸ› οΈ API Integration

Using Apify API (cURL)

curl -X POST https://api.apify.com/v2/acts/YOUR_USERNAME~reddit-scraper-pro/runs \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchMode": "keyword",
"keywords": ["Apify"],
"maxItemsPerSubreddit": 50
}'

Using Apify JavaScript Client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('YOUR_USERNAME/reddit-scraper-pro').call({
searchMode: 'keyword',
keywords: ['Apify'],
maxItemsPerSubreddit: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Using Apify Python Client

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('YOUR_USERNAME/reddit-scraper-pro').call(
run_input={
'searchMode': 'keyword',
'keywords': ['Apify'],
'maxItemsPerSubreddit': 50,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

πŸ§ͺ Testing & Development

Quick Test with Default Input

Just click "Start" or use apify call with no input:

$apify call YOUR_USERNAME/reddit-scraper-pro

Local Development

cd reddit-scraper-pro
npm install
npm run build
# Test with pay-per-event billing
ACTOR_TEST_PAY_PER_EVENT=true ACTOR_USE_CHARGING_LOG_DATASET=true npm run dev

πŸ“ Limitations

  • Rate Limits: Reddit enforces ~60 requests/minute (handled automatically)
  • Historical Data: Limited by Reddit's API (typically ~1,000 posts per subreddit)
  • Private Subreddits: Cannot access private/quarantined subreddits
  • Deleted Content: Cannot retrieve deleted posts/comments
  • Residential Proxies Required: Datacenter IPs are blocked by Reddit
  • Unofficial API: Uses unofficial JSON endpoints (may break if Reddit changes)

🀝 Support & Contact

  • Email: kontakt@barrierefix.de
  • Issues: Report bugs or request features via GitHub Issues
  • Documentation: This README + inline code comments

πŸ’‘ Success Story

Use Case: "Alert me when r/webdev mentions 'Apify'"

Setup:

{
"searchMode": "keyword",
"keywords": ["Apify"],
"subreddits": ["webdev"],
"webhookUrl": "https://n8n.io/webhook/reddit-alerts",
"analyzeSentiment": true,
"maxAgeHours": 12
}

Schedule: Every 6 hours

Result: Instant Slack notifications when Apify is mentioned in r/webdev, with sentiment context (positive/negative/neutral). Perfect for brand monitoring and community engagement.


πŸ”— Explore More of Our Actors

πŸ’¬ Social Media & Community

ActorDescription
Discord Scraper ProExtract Discord messages and chat history for community insights
YouTube Comments HarvesterComprehensive YouTube comments scraper with channel-wide enumeration
Alt Network BundleScrape Bluesky and Mastodon posts for alternative social media research

πŸ›’ E-commerce & Brand Monitoring

ActorDescription
Shopify Scraper ProExtract Shopify product data for competitor and brand monitoring
Etsy Scraper ProFast Etsy product scraper with ratings and reviews
Amazon Reviews ScraperExtract Amazon customer reviews for sentiment analysis

🏒 Business Intelligence

ActorDescription
Indeed Salary AnalyzerGet salary data for compensation benchmarking and market research
Crunchbase ScraperExtract company data and funding information for business intelligence

🏷️ SEO Keywords

Reddit scraper, Reddit data extraction, scrape Reddit posts, Reddit API alternative, Reddit comment scraper, Reddit sentiment analysis, Reddit brand monitoring, Reddit automation, extract Reddit data, Reddit web scraping, Reddit post scraper, Reddit data mining, Reddit competitor analysis, Reddit keyword tracking, Reddit subreddit monitor, how to scrape Reddit, Reddit market research, Reddit trend analysis, Reddit automation tool, n8n Reddit integration, Zapier Reddit scraper, Make Reddit automation


Built with ❀️ by Barrierefix | Powered by Apify | LICENSE

On this page

Share Actor: