Reddit Scraper - Posts, Comments, Users, Search & Subreddits
Pricing
from $5.00 / 1,000 actor starts
Reddit Scraper - Posts, Comments, Users, Search & Subreddits
Scrape Reddit via the official API. Posts, full comment trees, user history, subreddit rules/mods, search, sentiment, media download and monitoring. No browser. From $0.60 per 1,000 comments, $2 per 1,000 posts.
Pricing
from $5.00 / 1,000 actor starts
Rating
0.0
(0)
Developer
Walid
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Bookmark this actor (top-right) - it keeps it visible on the Store and funds new features.
Reddit Scraper extracts public Reddit data through Reddit's official OAuth Data API - no headless browser, no residential proxy, no Reddit account required. One actor covers posts, full comment trees, user profiles and history, subreddit analytics, and search, with built-in sentiment, optional AI enrichment, media download, and true incremental monitoring. Output is clean JSON built for AI agents, market research, and social listening.
Because it rides the sanctioned oauth.reddit.com JSON API instead of rendering Chrome, this Reddit Scraper is faster, cheaper, and more complete than browser-based competitors - and it does not silently break when Reddit changes its HTML.
Compatible with: Apify MCP Server (Claude, ChatGPT, Cursor), LangChain, Make.com, Zapier, n8n, and the direct REST API.
Why this Reddit Scraper beats the rest
- Cheapest deep-thread pricing on the Store - $0.60 per 1,000 comments. A 5,000-comment thread costs $3 here versus ~$15 on flat-priced scrapers.
- Split per-entity pricing - posts, comments, users and subreddits are billed separately, so a comment-heavy job is not billed at the post rate.
- No browser, no forced proxy - an HTTP + OAuth stack runs in seconds on 1 GB, not minutes on a 2 GB Chrome. That is why it can be priced this low.
- Deep comment trees - recursive
load more commentsexpansion via Reddit's morechildren API, so long threads are not truncated at the first page. - Full user intelligence - total, link, comment, awardee and awarder karma, trophies, account age, plus post/comment history beyond Reddit's ~1,000-item cap via a free archive.
- Subreddit governance - subscribers, description, and the rules array (and moderators where public) - data no other Reddit scraper returns.
- True incremental monitoring - only-new-since-last-run with cross-run dedup, so you never pay twice for the same post.
- Real media download - images, ordered galleries, and audio-muxed Reddit video stored to your dataset instead of expiring URLs.
- AI-native output - default JSON,
jsonl-finetune(LLM SFT pairs), orrag-markdown(vector-DB chunks), plus optional sentiment/intent/entity enrichment. - Hard cost ceiling - set
maxTotalChargeUsdand the run stops billing when it is reached. No overage surprises.
What can this Reddit Scraper do?
Provide any combination of inputs and the actor routes each to the right mode:
- Subreddits - scrape posts from any subreddit sorted by hot, new, top, rising, or controversial, with a time filter.
- Search - keyword search across all of Reddit or one subreddit; return posts, comments, communities, or users. Supports quoted exact phrases and
author:/subreddit:operators. - Post URLs - paste post links (or
redd.itshort links / ids) to pull the post plus its full comment thread. - Usernames - profile, karma breakdown, trophies, and optional post/comment history.
- Subreddit analytics - standalone metadata records with rules and moderators.
- Monitoring - incremental runs that only return new items since the last run.
- Archive - deep historical backfill via the free Arctic Shift archive, past Reddit's live truncation.
What data you get
Reddit posts (type: "post")
id, post_id, url, permalink, title, body, body_html, author, author_id, author_flair, subreddit, subreddit_subscribers, post_type (text/link/image/video/gallery), flair, score, upvotes, upvote_ratio, num_comments, num_crossposts, total_awards, content_url, external_url, domain, media_urls, video (fallback/HLS/DASH + duration), is_nsfw, is_spoiler, is_locked, is_stickied, edited, distinguished, removed_by_category, engagement metrics (age_hours, score_per_hour, comments_per_hour, engagement_total, is_high_engagement), sentiment_score, sentiment_label, created_at, scraped_at.
Reddit comments (type: "comment")
id, comment_id, post_id, post_title, parent_id, permalink, author, body, score, controversiality, depth, child_count, is_submitter, distinguished, is_stickied, gilded, total_awards, is_removed, age_hours, sentiment_score, sentiment_label, created_at.
Reddit users (type: "user")
username, user_id, url, total_karma, link_karma, comment_karma, awardee_karma, awarder_karma, trophies, is_gold, is_mod, is_employee, is_verified, bio, account_created_at, account_age_days.
Subreddit analytics (type: "subreddit_analytics")
name, title, description, subscribers, active_users, subreddit_type, is_nsfw, created_at, community_icon, rules (short_name, description, kind, priority), rule_count, moderators, moderator_count.
Every run also writes OUTPUT and RUN_SUMMARY to the key-value store with a terminal status (COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED), item counts, warnings, and the estimated charge.
How to use it
Apify Console (no code)
- Click Try for free.
- Paste subreddits, a search query, post URLs, or usernames.
- Set Max posts, toggle Include comments, choose Sort and Time filter.
- Click Start and export as JSON, CSV, or Excel.
AI agents (Claude, ChatGPT) via MCP
Connect through the Apify MCP Server and ask naturally:
"Get the top 100 posts from r/MachineLearning this week with all their comments." "Search Reddit for posts about GPT-5 and return the top 50 with sentiment." "Pull u/spez profile, karma, and last 200 comments."
REST API
curl -X POST "https://api.apify.com/v2/acts/dltik~reddit-scraper-api/runs" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"subredditUrls": ["r/MachineLearning"],"maxPosts": 50,"sort": "top","timeFilter": "week","includeComments": true,"maxCommentsPerPost": 50}'
How much does Reddit scraping cost?
Pay per result. No monthly fee.
| Event | Price | Per 1,000 |
|---|---|---|
| Post scraped | $0.0020 | $2.00 |
| Comment scraped | $0.0006 | $0.60 |
| User profile scraped | $0.0010 | $1.00 |
| Subreddit analytics | $0.0015 | $1.50 |
| Media downloaded (opt-in) | $0.0015 | $1.50 |
| AI enrichment (opt-in) | $0.0005 | $0.50 |
| Actor start | $0.005 flat per run | - |
Example: 100 posts with 50 comments each = 100 posts ($0.20) + 5,000 comments ($3.00) = $3.20 plus the $0.005 start. The same job on a flat $0.003/result scraper costs $15.30.
Set maxTotalChargeUsd to cap spend - the run stops billing when the ceiling is reached.
Optional: bring your own Reddit app
The actor works out of the box with built-in access. For higher throughput or a private rate budget, register a free app at reddit.com/prefs/apps (type "installed app" needs only the id) and set redditClientId.
Limitations
Public Reddit data only. No private, quarantined, banned, deleted, or login-only content. The moderators list is returned only where a subreddit exposes it to app-only access. Broad searches and very high-volume runs are bounded by Reddit's rate limits; those cases are reported in RUN_SUMMARY. Use the data only where your rights and downstream purpose allow.
FAQ
Do I need a Reddit account or API key? No. It works out of the box. You can optionally add your own Reddit app id for a higher rate budget.
How do I get more than 1,000 posts? Reddit caps live listings around 1,000 items. Enable Use archive to backfill deeper history via the free Arctic Shift archive.
Can I scrape a whole comment thread? Yes. Enable Include comments; the full nested tree is expanded, including "load more comments," up to your per-post cap.
How do I only get new posts on a schedule? Turn on Monitoring mode with a Monitor key and schedule the actor. It returns only items not seen in previous runs.
How do I filter posts and comments in the output? Every record has a type field - filter on post, comment, user, or subreddit_analytics.