Reddit Multi-Mode Scraper for Posts, Comments & Profiles
Pick one of five modes to pull subreddit posts, full comment threads, user profiles, keyword search results or curated community listings from Reddit, each with deep post/comment filters. No account or API key needed.
Open in Apify Store$0.99 / 1K on Free
Short answer
Reddit Multi-Mode Scraper for Posts, Comments & Profiles is an Apify Store Actor for Reddit data that returns 9 published output fields, including title, author, score, createdAt. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 67 input settings; one is required (mode). It covers 5 of the 7 core Reddit fields this site tracks. Last updated Oct 22, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
9 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
recordTypesubreddit_prefixedtitleauthorscorecommentCountsourcecreatedAtpermalink
Not in the schema among the core Reddit fields: body, subreddit. The field matrix shows which other tools return them.
How it differs from the other Reddit Actors
Every field it publishes also appears in at least one of the other 8 catalogue Actors for Reddit with a schema, so pick on price, input options and the fields below.
Pick another Actor if you need
| Actor | Fields it adds | Price / 1K |
|---|---|---|
| Reddit Comment Thread Scraper with Score & Keyword Filters | body, depth, is_op | $0.99 |
| Reddit Subreddit Profile, Rules & Post Filter Scraper | dataType, num_comments, weekly_active_users | $0.99 |
| Reddit Keyword Search with Advanced Filters | num_comments, upvote_ratio, dataFreshness | $0.99 |
| Reddit Multi-Mode Scraper with Advanced Pro Filters | num_comments, content | $0.99 |
| Reddit Subreddit Post Filter & Moderation Scraper | upvote_ratio, num_comments, post_type, display_name | $0.99 |
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | subreddit | What to scrape: a subreddit listing, post URLs with comments, a user profile, or keyword search. |
| source | string | No | auto | auto uses live Reddit first and the Arctic Shift archive for depth/bulk or as a fallback. archive is faster and cheaper but lags live Reddit by several hours; live never uses archive data. |
| subreddits | array | No | ["programming"] | Subreddits to scrape (mode=subreddit). Accepts names, r/ names or URLs. |
| postUrls | array | No | [] | Post URLs, comment URLs, share links or bare post IDs (mode=post). |
| usernames | array | No | [] | Reddit usernames to scrape (mode=profile). Accepts names, u/ names or profile URLs. |
| searchQuery | string | No | – | Keyword or phrase to search for (mode=search). Reddit search syntax such as "exact phrase", author:name, subreddit:name and -exclude is supported by live search. |
| maxItems | integer | No | 50 | Hard cap on all records pushed by the run, across every target. |
| maxPosts | integer | No | 25 | Posts per subreddit, keyword or profile section. |
| maxComments | integer | No | 100 | Comments per post, keyword, or profile comment section. 0 disables comment records. |
| maxDepth | integer | No | 6 | Deepest reply level to emit (0 = top-level comments only). |
Show the other 57 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| includeComments | boolean | No | true | Emit comment records for each post. Disable to fetch only the parent post. |
| includePost | boolean | No | true | Emit the post record before its comments. |
| sort | string | No | hot | Post/listing sort. Search accepts relevance, hot, top, new or comments; other modes use hot, new, top, rising, controversial or best. |
| timeFilter | string | No | day | Time window for top/controversial sorts and search. |
| commentSort | string | No | confidence | Comment ordering for mode=post. |
| includeNSFW | boolean | No | false | Include over-18 posts and communities. |
| includeSubredditInfo | boolean | No | false | Emit one community record per subreddit before its posts. |
| includeSubredditRules | boolean | No | false | Attach posting rules to the community record. Requires includeSubredditInfo. |
| includeProfileInfo | boolean | No | true | Emit a profile record with karma, counts and account metadata. |
| sections | array | No | ["overview"] | Which history sections to fetch (mode=profile). Allowed values: overview, posts, comments. |
| searchPosts | boolean | No | true | Include post results in keyword search. |
| searchComments | boolean | No | false | Include comment results in keyword search when Reddit's comment tab returns them. |
| searchCommunities | boolean | No | false | Include subreddit matches in keyword search. |
| searchUsers | boolean | No | false | Include matching Reddit accounts in keyword search. |
| withinCommunity | string | No | – | Limit post/comment search to a single subreddit (name, r/name or URL). Required for archive keyword search. |
| maxCommunities | integer | No | 10 | Maximum subreddit matches per search query. |
| maxUsers | integer | No | 25 | Maximum account matches per search query. |
| onlyNew | boolean | No | false | Emit only records newer than the watermark saved under stateKey by a previous run. |
| stateKey | string | No | reddit-mcp-state | Key-value store key prefix used by onlyNew watermarks. |
| failOnEmpty | boolean | No | true | Mark the run FAILED with a clear status message instead of finishing silently with 0 records. |
| maxProxyBytesMb | integer | No | 50 | Safety ceiling for paid proxy traffic. The run stops when the ceiling is reached. Images, media and fonts are never downloaded. |
| proxyMode | string | No | none | Direct (no proxy) is the default. Choose datacenter if Reddit blocks your runs. Residential is an explicit last resort and is capped by maxProxyBytesMb. |
| minScore | integer | No | – | Drop posts/comments below this score. |
| maxScore | integer | No | – | Drop posts/comments above this score. |
| minPostComments | integer | No | – | Drop posts with fewer comments than this. |
| maxPostComments | integer | No | – | Drop posts with more comments than this. |
| minUpvoteRatio | number | No | – | Drop posts below this upvote ratio (0-1). |
| postType | string | No | – | Keep only posts of this type. |
| titleContains | string | No | – | Keep only posts whose title contains this text. |
| contentContains | string | No | – | Keep only posts whose body/self-text contains this text. |
| flairContains | string | No | – | Keep only posts whose link flair contains this text. |
| authorFlairContains | string | No | – | Keep only posts whose author flair contains this text. |
| domain | string | No | – | Keep only posts whose link domain contains this text. |
| authors | array | No | [] | Keep posts by these usernames. |
| excludeAuthors | array | No | [] | Drop posts by these usernames. |
| excludeKeywords | array | No | [] | Drop posts whose title, body or flair contains any of these terms. |
| excludeStickied | boolean | No | false | Exclude pinned/stickied posts from results. |
| excludeRemoved | boolean | No | false | Exclude posts or comments removed by moderators. |
| excludeCrossposts | boolean | No | false | Exclude crossposts. |
| excludeSpoilers | boolean | No | false | Exclude posts marked as spoilers. |
| excludeLocked | boolean | No | false | Exclude locked posts and comments. |
| excludeDeletedAuthor | boolean | No | false | Exclude records whose author account was deleted. |
| excludeArchived | boolean | No | false | Exclude archived posts that no longer accept votes or comments. |
| onlyWithFlair | boolean | No | false | Drop posts without a link flair. |
| onlyOriginalContent | boolean | No | false | Keep only posts tagged as OC. |
| minAwards | integer | No | – | Keep only posts with at least this many awards. |
| minContentLength | integer | No | – | Keep only posts whose body is at least this many characters. |
| maxContentLength | integer | No | – | Keep only posts whose body is at most this many characters. |
| postedAfter | string | No | – | UTC date lower bound (YYYY-MM-DD). |
| postedBefore | string | No | – | UTC date upper bound (YYYY-MM-DD), inclusive. |
| restrictSubreddits | array | No | [] | Only keep profile posts/comments made in these subreddits. |
| keyword | string | No | – | Only keep profile posts/comments whose title, body or text contains this phrase. |
| minCommunitySubscribers | integer | No | – | Community search only: drop smaller subreddits. |
| maxCommunitySubscribers | integer | No | – | Community search only: drop larger subreddits. |
| minUserKarma | integer | No | – | User search only: drop accounts with less total karma. |
| maxUserKarma | integer | No | – | User search only: drop accounts with more total karma. |
| distinguished | string | No | – | Keep only moderator/admin/special posts, or only regular posts. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "subreddit",
"source": "archive",
"subreddits": [
"programming"
],
"postUrls": [],
"usernames": [],
"maxItems": 2,
"maxPosts": 2,
"maxComments": 5,
"maxDepth": 6,
"includeComments": false,
"includePost": true,
"sort": "hot",
"timeFilter": "day",
"commentSort": "confidence",
"includeNSFW": false,
"includeSubredditInfo": false,
"includeSubredditRules": false,
"includeProfileInfo": true,
"sections": [
"posts"
],
"searchPosts": true,
"searchComments": false,
"searchCommunities": false,
"searchUsers": false,
"maxCommunities": 0,
"maxUsers": 0,
"onlyNew": false,
"stateKey": "reddit-mcp-state",
"failOnEmpty": false,
"maxProxyBytesMb": 50,
"proxyMode": "none",
"authors": [],
"excludeAuthors": [],
"excludeKeywords": [],
"excludeStickied": false,
"excludeRemoved": false,
"excludeCrossposts": false,
"excludeSpoilers": false,
"excludeLocked": false,
"excludeDeletedAuthor": false,
"excludeArchived": false,
"onlyWithFlair": false,
"onlyOriginalContent": false,
"restrictSubreddits": []
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "subreddit",
"source": "archive",
"subreddits": [
"programming"
],
"postUrls": [],
"usernames": [],
"maxItems": 2,
"maxPosts": 2,
"maxComments": 5,
"maxDepth": 6,
"includeComments": False,
"includePost": True,
"sort": "hot",
"timeFilter": "day",
"commentSort": "confidence",
"includeNSFW": False,
"includeSubredditInfo": False,
"includeSubredditRules": False,
"includeProfileInfo": True,
"sections": [
"posts"
],
"searchPosts": True,
"searchComments": False,
"searchCommunities": False,
"searchUsers": False,
"maxCommunities": 0,
"maxUsers": 0,
"onlyNew": False,
"stateKey": "reddit-mcp-state",
"failOnEmpty": False,
"maxProxyBytesMb": 50,
"proxyMode": "none",
"authors": [],
"excludeAuthors": [],
"excludeKeywords": [],
"excludeStickied": False,
"excludeRemoved": False,
"excludeCrossposts": False,
"excludeSpoilers": False,
"excludeLocked": False,
"excludeDeletedAuthor": False,
"excludeArchived": False,
"onlyWithFlair": False,
"onlyOriginalContent": False,
"restrictSubreddits": []
}
run = client.actor("nimbryxo-studio/reddit-multi-mode-scraper-for-posts-comments").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "subreddit",
"source": "archive",
"subreddits": [
"programming"
],
"postUrls": [],
"usernames": [],
"maxItems": 2,
"maxPosts": 2,
"maxComments": 5,
"maxDepth": 6,
"includeComments": false,
"includePost": true,
"sort": "hot",
"timeFilter": "day",
"commentSort": "confidence",
"includeNSFW": false,
"includeSubredditInfo": false,
"includeSubredditRules": false,
"includeProfileInfo": true,
"sections": [
"posts"
],
"searchPosts": true,
"searchComments": false,
"searchCommunities": false,
"searchUsers": false,
"maxCommunities": 0,
"maxUsers": 0,
"onlyNew": false,
"stateKey": "reddit-mcp-state",
"failOnEmpty": false,
"maxProxyBytesMb": 50,
"proxyMode": "none",
"authors": [],
"excludeAuthors": [],
"excludeKeywords": [],
"excludeStickied": false,
"excludeRemoved": false,
"excludeCrossposts": false,
"excludeSpoilers": false,
"excludeLocked": false,
"excludeDeletedAuthor": false,
"excludeArchived": false,
"onlyWithFlair": false,
"onlyOriginalContent": false,
"restrictSubreddits": []
};
const run = await client.actor("nimbryxo-studio/reddit-multi-mode-scraper-for-posts-comments").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~reddit-multi-mode-scraper-for-posts-comments/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"subreddit","source":"archive","subreddits":["programming"],"postUrls":[],"usernames":[],"maxItems":2,"maxPosts":2,"maxComments":5,"maxDepth":6,"includeComments":false,"includePost":true,"sort":"hot","timeFilter":"day","commentSort":"confidence","includeNSFW":false,"includeSubredditInfo":false,"includeSubredditRules":false,"includeProfileInfo":true,"sections":["posts"],"searchPosts":true,"searchComments":false,"searchCommunities":false,"searchUsers":false,"maxCommunities":0,"maxUsers":0,"onlyNew":false,"stateKey":"reddit-mcp-state","failOnEmpty":false,"maxProxyBytesMb":50,"proxyMode":"none","authors":[],"excludeAuthors":[],"excludeKeywords":[],"excludeStickied":false,"excludeRemoved":false,"excludeCrossposts":false,"excludeSpoilers":false,"excludeLocked":false,"excludeDeletedAuthor":false,"excludeArchived":false,"onlyWithFlair":false,"onlyOriginalContent":false,"restrictSubreddits":[]}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/reddit-multi-mode-scraper-for-posts-comments",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Reddit routes
It ranks 7 of 9 catalogue Actors for Reddit on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Reddit Comment Thread Scraper with Score & Keyword Filters 8 output fields, pay per event 6 of 7 core fields
$0.99 / 1K - 2 Reddit Subreddit Profile, Rules & Post Filter Scraper 10 output fields, pay per event 5 of 7 core fields
$0.99 / 1K - 3 Reddit Keyword Search with Advanced Filters 13 output fields, pay per event 5 of 7 core fields
$0.99 / 1K - 7 Reddit Multi-Mode Scraper for Posts, Comments & Profiles 9 output fields, pay per event 5 of 7 core fields
$0.99 / 1K - + 8 other Store tools, combined Reference only 7 of 7 core fields
from $1.15 / 1K - API Reddit Data API Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: Reddit Data API
Limited access. Reddit is moving public data access to its Developer Platform. RSS support ends November 13, 2026; new public API access requests stopped October 31, 2026; access for unregistered apps starts closing January 12, 2027; remaining public API access ends in March 2027.
Commercial use requires a data agreement. Pricing is not published as a public rate card.
Other Store tools for Reddit
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Reddit Scraper: Posts, Comments, Subreddits & Search | 24 | $1.15 |
| Reddit Scraper | 120 | $2.00 |
| Reddit Subreddit Posts Scraper | 28 | $1.99 |
| Reddit Scraper | 12 | $2.00 |
| Reddit Post Comments Scraper | 29 | $2.99 |
What people use it for
- Community research
- Discussion extraction
- Profile research
Other catalogue Actors for Reddit
Reddit Comment Thread Scraper with Score & Keyword Filters
Scrape Reddit comment threads, nested replies included, with author, score, depth, and moderation flags, filtered by date, score, author, or…
Reddit Subreddit Profile, Rules & Post Filter Scraper
Scrape full community intelligence for any subreddit: description, subscriber count, active users, weekly activity, posting rules, wiki pages,…
Reddit Keyword Search with Advanced Filters
Search Reddit by keyword and filter the matches by subreddit, score, date range, NSFW status, and author before they reach your dataset.
Reddit Multi-Mode Scraper with Advanced Pro Filters
Scrape Reddit subreddit posts, post comment threads, and user profile posts, with any combination of modes in a single run. Filter by score, age,…
Reddit Subreddit Post Filter & Moderation Scraper
Scrape public subreddit listings and filter posts by keyword, score, comments, upvote ratio, age, flair, type, author, domain, NSFW or stickied…
Reddit Subreddit Post & Comment Harvester
Pull posts from any subreddit with score, media, flairs, awards and moderation flags, plus optional nested comment threads. Filter by date, score,…
Similar Actors
Reddit User Profile & Post History Crawler Pro
Turn Reddit usernames or profile URLs into split karma, account-age and status-badge data, plus filterable post history with per-post awards,…
LinkedIn Trending Posts & Top Voices Feed Scraper
Pull LinkedIn's trending and top-performing posts by topic keyword, with reaction/comment/repost counts, a per-reaction-type breakdown, author…
Bluesky Posts, Profiles, Feeds & Threads Scraper
Search Bluesky posts by keyword, hashtag, author, mention, domain or URL; read profiles, threads, lists, starter packs, feeds and followers;…
Instagram Profile Scraper - Bio & Posts
Scrape public Instagram profiles from a list of usernames: bio, followers, following, post count, verified badge and bio links. Add recent posts…
LinkedIn Profile Engagement Timeline Scraper
Pull a LinkedIn profile's posts, reposts, comments, and reactions in one run, with the original post's author, text, and link attached to each…
LinkedIn Profile Feed Scraper with Likers & Commenters
Pull posts from a LinkedIn profile's activity feed or a direct post URL, with engagement counts, hashtags, media, and optionally the people who…
Questions people ask
How much does Reddit Multi-Mode Scraper for Posts, Comments & Profiles cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Reddit Multi-Mode Scraper for Posts, Comments & Profiles return?
Its published output schema lists 9 fields: recordType, subreddit_prefixed, title, author, score, commentCount, source, createdAt, permalink. A listed field is not guaranteed to be filled in every row.
What input does Reddit Multi-Mode Scraper for Posts, Comments & Profiles need?
Required: mode. Optional settings include source, subreddits, postUrls, usernames, searchQuery, maxItems.
What are the alternatives to Reddit Multi-Mode Scraper for Posts, Comments & Profiles for Reddit?
9 catalogue Actors cover Reddit. Close alternatives: Reddit Comment Thread Scraper with Score & Keyword Filters; Reddit Subreddit Profile, Rules & Post Filter Scraper; Reddit Keyword Search with Advanced Filters. The Reddit page compares all of them field by field.
How do I run Reddit Multi-Mode Scraper for Posts, Comments & Profiles from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/reddit-multi-mode-scraper-for-posts-comments").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/reddit-multi-mode-scraper-for-posts-comments").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~reddit-multi-mode-scraper-for-posts-comments/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Reddit Multi-Mode Scraper for Posts, Comments & Profiles on Apify Store
- Published build with input and output schema (JSON)
- Reddit Data API documentation
Cite this page
Scraper Finder. "Reddit Multi-Mode Scraper for Posts, Comments & Profiles." https://scraperfinder.com/catalogue/reddit-multi-mode-scraper-for-posts-comments/ (data checked 2026-11-12).
Run Reddit Multi-Mode Scraper for Posts, Comments & Profiles
$0.99 per 1,000 results. Paste the example input above, set your Reddit query, then export the dataset. Still choosing? Compare every Reddit route.