Reddit Post Scraper | No Login | No Cookie avatar

Reddit Post Scraper | No Login | No Cookie

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Reddit Post Scraper | No Login | No Cookie

Reddit Post Scraper | No Login | No Cookie

Fast, lightweight Reddit scraper for posts, specific categories/flairs, keywords, and comments in bulk. Zero browser bloat with HTTP/2 evasion & proxy rotation. Filter by min score, comments, date, & post type. Structured JSON ready for AI, LLM datasets, & market research.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

REXREUS D.O

REXREUS D.O

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Reddit Post Scraper Banner

Reddit Post Scraper (Bulk, Filtered & Lightweight)

High-throughput, browserless extraction of Reddit posts, categories/flairs, and relational comment trees.
Built with TypeScript, Node.js 20, Crawlee, and got-scraping for ultra-fast performance and minimal compute cost.

Apify Actor TypeScript Crawlee 256MB RAM No Browser


⚡ Why Reddit Post Scraper?

Most Reddit scrapers on the market rely on heavy headless browsers (Puppeteer or Playwright) that consume 1GB–2GB RAM, crash on dynamic DOM updates, and rack up hefty compute bills.

Reddit Post Scraper operates on a modern, HTTP-first architecture with browser-grade TLS/JA3 impersonation and HTTP/2 session pooling. It extracts thousands of posts per minute at 1/10th the compute cost of browser scrapers.

Feature Comparison

FeatureReddit Post ScraperTraditional Browser Scrapers
Memory Footprint256 MB – 512 MB RAM1024 MB – 2048 MB RAM
Speed / Latency150ms – 400ms per request2.5s – 5.0s per page
Compute Cost< $0.02 per 10,000 posts$0.25+ per 10,000 posts
Bulk SubredditsYes (parallel array)Limited / sequential
Category / Specific Flair FilterYes (flair: "Discussion")No (boolean only)
Engagement ThresholdsYes (minScore, minComments)No (local post-filtering)
Content Type FilteringYes (all, text, media)No
Relational Comment TreeYes (depth, parentCommentId)Nested JSON or None
Deduplication Monitor ModeYes (Apify KVS caching)No
Browser DependencyZero (no Chromium)Requires Chromium binary

🏗️ Architecture Flow

┌────────────────────────────────────────────────────────────────────────┐
│ Input Configuration │
[Subreddits: Bulk] [Search Keywords] [Direct Reddit URLs]
└───────────────────────────────────┬────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ Lightweight HTTP/2 Evasion Engine │
│ • got-scraping (Chrome TLS / JA3 / HTTP/2 protocol frames)
│ • Apify Residential Proxy Pool (Session retirement on 401/403)
│ • Exponential backoff on 429 (Retry-After header handling)
└───────────────────────────────────┬────────────────────────────────────┘
┌─────────────────┴─────────────────┐
▼ ▼
[Listing Extraction] [Optional Comment Tree]
100 posts per page • Recursive tree traversal
• Cursor token pagination • Capped at maxCommentDepth
• Reverse date early-exit • Skip [deleted] / [removed]
│ │
└─────────────────┬─────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ In-Memory Filter Pipeline │
│ ✓ minScore (upvotes) ✓ Content Type (text vs media)
│ ✓ minComments ✓ NSFW Inclusion Guard │
│ ✓ Specific Flair Matching ✓ KVS Delta Deduplication │
└───────────────────────────────────┬────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ Structured Apify Dataset Output │
│ Clean, relational records ready for AI/LLM pipelines & SQL
└────────────────────────────────────────────────────────────────────────┘

⚙️ Input Configuration

ParameterTypeDefaultDescription
subredditsarray["technology"]List of subreddit names or URLs to scrape in bulk.
searchTermsarray[]Keywords to search across Reddit or within the selected subreddits.
startUrlsarray[]Direct URLs to specific posts, comments, or subreddits.
sortstring"hot"Sort order: "hot", "new", "top", "rising", or "relevance".
timestring"all"Time window for top sort and searches: "hour", "day", "week", "month", "year", "all".
flairstring""Filter by specific flair string (e.g. "Discussion", "News", "AI").
postTypestring"all"Filter content: "all", "text" (self posts), or "media" (images/videos).
minScoreinteger0Minimum upvote threshold to eliminate zero-engagement noise.
minCommentsinteger0Minimum comment count threshold.
postedAfterstring""Filter out posts older than this UTC date (YYYY-MM-DD).
postedBeforestring""Filter out posts newer than this UTC date (YYYY-MM-DD).
crawlCommentsbooleanfalseEnable recursive comment extraction for scraped posts.
maxCommentsPerPostinteger25Maximum comments saved per post.
maxCommentDepthinteger3Maximum nesting depth for comment replies (1–10).
skipDeletedCommentsbooleantrueSkip empty [deleted] and [removed] comments.
includeNsfwbooleanfalseInclude 18+ adult content in results.
maxPostsinteger50Maximum posts to scrape across all queries.
monitorModebooleanfalseCache seen post IDs in Apify KVS to skip duplicates in cron runs.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Proxy settings.

📊 Output Dataset Schema

The scraper emits clean, typed records discriminated by dataType: "post" | "comment".

Sample Post Record (dataType: "post")

{
"dataType": "post",
"id": "t3_1h5xabc",
"postId": "1h5xabc",
"title": "New breakthroughs in open-source AI models",
"body": "Detailed discussion about small language models...",
"author": "tech_researcher",
"subreddit": "technology",
"subredditName": "r/technology",
"score": 1420,
"upvoteRatio": 0.94,
"numComments": 312,
"url": "https://www.reddit.com/r/technology/comments/1h5xabc/new_breakthroughs_in_opensource_ai_models/",
"permalink": "/r/technology/comments/1h5xabc/new_breakthroughs_in_opensource_ai_models/",
"postType": "text",
"flair": "AI & Robotics",
"mediaUrls": [],
"isNsfw": false,
"isPinned": false,
"createdAt": "2026-09-04T12:30:00.000Z",
"createdUtc": 1757008200,
"scorePerHour": 48.96,
"commentsCount": 312
}

Sample Comment Record (dataType: "comment")

{
"dataType": "comment",
"id": "t1_m89abc",
"commentId": "m89abc",
"postId": "1h5xabc",
"parentCommentId": "t3_1h5xabc",
"subreddit": "technology",
"author": "commenter_one",
"body": "The benchmark results on reasoning tasks are particularly impressive.",
"score": 85,
"depth": 1,
"permalink": "https://www.reddit.com/r/technology/comments/1h5xabc/new_breakthroughs_in_opensource_ai_models/m89abc/",
"createdAt": "2026-09-04T13:10:00.000Z",
"createdUtc": 1757010600
}

💡 Practical Recipes

1. High-Signal Tech Market Intelligence

Scrape high-engagement discussions from tech communities:

{
"subreddits": ["technology", "programming", "artificial"],
"sort": "top",
"time": "month",
"minScore": 100,
"minComments": 20,
"postType": "text",
"maxPosts": 100
}

2. Category / Flair-Specific Filtering

Extract posts categorized under a specific flair tag (e.g. "Discussion"):

{
"subreddits": ["machinelearning"],
"flair": "Discussion",
"sort": "new",
"maxPosts": 50
}

3. Scheduled Brand Monitoring (Delta Mode)

Monitor competitor brand mentions every morning without duplicate records:

{
"searchTerms": ["ChatGPT", "Claude AI", "Gemini"],
"sort": "new",
"monitorMode": true,
"maxPosts": 200
}

🛡️ Anti-Bot & Proxy Guide

Reddit enforces strict anti-scraping measures on non-residential IPs. To guarantee 100% reliable execution:

  • Apify Residential Proxies (apifyProxyGroups: ["RESIDENTIAL"]) are enabled by default.
  • The Actor automatically retires proxy sessions upon receiving HTTP 403 Forbidden to acquire a clean residential IP.
  • HTTP 429 rate limit responses are handled with automatic backoff respecting the Retry-After header.

❓ Frequently Asked Questions (FAQ)

Q: Do I need a Reddit API key or Reddit account?
A: No! The scraper uses public HTTP endpoints with browser-grade TLS emulation. No Reddit credentials or API registration required.

Q: Can I scrape comments as well as posts?
A: Yes. Toggle crawlComments: true. Comments will be extracted up to your configured maxCommentDepth and saved as relational records.

Q: Why are comments saved as separate records instead of nested inside the post?
A: Flat relational items prevent multi-megabyte JSON memory bloat and make querying in SQL, pandas, or vector databases trivial.

Q: Does it work with private or quarantined subreddits?
A: No. Private and quarantined subreddits require authenticated account membership. The Actor cleanly skips and logs them without crashing.

Q: How do I export data to CSV or Excel?
A: The Apify Console and API provide built-in one-click exports to CSV, JSON, Excel, and XML.