Reddit Subreddit Members Scraper With Source Posts
Pricing
from $5.99 / 1,000 results
Reddit Subreddit Members Scraper With Source Posts
Scrape Reddit subreddit members and source posts to discover active users, usernames, post history, engagement, scores, and subreddit activity. Analyze communities, identify relevant audiences, research competitors, uncover leads, and build targeted datasets for marketing and market research.
Pricing
from $5.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
10 hours ago
Last modified
Categories
Share
Reddit Subreddit Scraper β Extract Participants and Source Posts
Reddit Subreddit Scraper reads a subreddit's post feed, comment firehose, keyword search, or a single redditor's overview, and returns every active public participant it finds β each one paired with the exact post or comment that surfaced them (title, permalink, score, real timestamp) plus a roll-up of everything else they did during the sweep. Every response is structured JSON, ready to pass directly to an LLM, index into a vector store, or feed into a monitoring pipeline. Point it at a community you track, and every run shows who is actually talking β not just how many people are subscribed.
π§ What is Reddit Subreddit Scraper?
Reddit Subreddit Scraper queries one or more subreddits, redditors, or free-text search terms and returns the active public participants it finds in the feeds it reads, in typed JSON. It does not β and cannot β return a subreddit's subscriber list; Reddit has never published one. What makes this Actor's output different is that every participant row arrives with the exact post or comment that surfaced them still attached β sourceTitle, sourcePermalink, sourceScore, a real sourceCreatedISO timestamp β plus a roll-up of that person's contributions across the entire sweep. No Reddit account or login is required: the Actor reads old.reddit.com as a logged-out visitor.
Key capabilities:
- π Post feeds β
new,hot,top(with a time window), orrising - π¬ Comment firehose β reads the subreddit's live comment stream, the surface that turns up the most participants no post feed shows
- π Keyword search β inside your listed subreddits or across all of Reddit
- π€ Direct redditor lookup β pull one user's own post/comment overview
- π§΅ Source evidence on every row β the id, title, permalink, score and timestamp of the item that found them
- π Contribution roll-up β how many times, in how many threads, and over what time span each participant showed up
π What data can you get with Reddit Subreddit Scraper?
Every run can return five kinds of data: the participant summary, the source evidence attached to it, a per-participant contribution roll-up, an optional profile card, and β as two separate uncharged datasets β the raw contribution log and a run-accounting record.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Participant summary | username, userId, profileUrl, rowScope, postKarma, commentKarma, createdISO | Who is active, and their account context |
| Source post/comment evidence | sourceType, sourceId, sourceTitle, sourcePermalink, sourceScore, sourceCreatedISO, sourceSubreddit, sourceLinkFlair, sourceText, sourceTextSource, sourceUpvoteRatio, sourceAuthorFlair | Auditing exactly what was said and where |
| Contribution roll-up | contributionCount, postContributions, commentContributions, distinctThreadCount, discoverySurfaces, surfaceCount, activitySpanHours, topSourceScore, totalSourceScore | Telling a regular apart from a one-off visitor |
| Full contribution log (uncharged) | contributionType, contributionId, title, permalink, score, createdISO, subreddit, text, authorFlair | Item-by-item audit of the roll-up above |
| Run diagnostics (uncharged) | httpRequests, blockedResponses, realUserIdCoverage, sourceTextCoverage, surfaceFailures | Confirming the run actually read content, not block pages |
π§΅ Source post evidence attached to every participant
This is the capability this Actor is built around: every participant row carries the exact post or comment that surfaced them, not just a username. That means sourceTitle, sourcePermalink, sourceScore, sourceNumComments, sourceCreatedISO, sourceSubreddit, sourceLinkFlair, and β when enrichFromArchive is on β sourceText, sourceUpvoteRatio and sourceAuthorFlair filled in from a third-party Reddit archive. You can click sourcePermalink and read the actual thread. A minimal example:
{"username": "Ousret","sourceType": "post","sourceTitle": "Niquests 3.18 β 3 Years of Innovations in HTTP","sourcePermalink": "https://www.reddit.com/r/Python/comments/1sackyi/niquests_318/","sourceScore": 485,"sourceCreatedISO": "2026-04-02T09:27:46Z","sourceText": "When I started working on Niquests, I dreamed about a no-compromise HTTP clientβ¦","sourceTextSource": "arctic-shift"}
π Contribution roll-up across the sweep
Every participant is deduplicated once per run, and every post or comment of theirs that the sweep saw is rolled up onto that single row: contributionCount, the post/comment split, distinctThreadCount, which surfaces they were seen on, and firstSeenISO β lastSeenISO with the activitySpanHours between them. This is what turns a flat name list into a signal of who is a regular versus who showed up once.
π οΈ Why not build this yourself?
Reddit gives no stable, low-friction surface for this. Every *.json Reddit endpoint β /new.json, /comments.json, /search.json, /user/<n>/about.json β returns HTTP 403 to unauthenticated clients, so you're left parsing old.reddit.com HTML. Doing that reliably means fighting three separate problems at once: TLS fingerprinting (Chrome-family fingerprints are blocked; only Firefox/Safari fingerprints are served), HTTP 200 responses that carry no content (a "prove your humanity" interstitial returns 200, same as a real page), and proxy blocking (every Apify datacenter proxy group returns HTTP 403 on Reddit; only residential egress works). None of that is a one-time fix β fingerprint allow-lists and block pages both change without notice, so a hand-rolled scraper needs ongoing maintenance just to keep returning content instead of silently returning block pages that look like empty results.
β οΈ This Actor handles all three: it pins a Firefox/Safari TLS profile with a fallback list, gates every response on the presence of the expected content container rather than the HTTP status code, and pins the RESIDENTIAL Apify Proxy group regardless of what you select.
π§© What's the difference between a subreddit's member list and an active-participant scrape?
A member list would be every account subscribed to a community β Reddit has never published that, full stop. The closest thing that ever existed was a subscriber count on /r/<sub>/about.json, and that endpoint now returns HTTP 403 to every unauthenticated client, so even the count is gone. An active-participant scrape is a different thing entirely: every account that authored a public post or comment in the feeds you point the Actor at.
The distinction matters because the two answer different questions. A subscriber count tells you how many people clicked "Join" at some point, most of whom never post β lurkers are the majority of any subreddit's subscriber count. An active-participant scrape tells you who is actually driving the conversation right now, with the receipt for each claim attached.
Reddit Subreddit Scraper only ever returns the second kind of data. Every row is explicit about it β rowScope states in plain language that the row is "an active public participant discovered from a post or comment (not a subscriber)" β and no subscriber count is ever emitted or estimated.
π How to scrape Reddit with Reddit Subreddit Scraper?
- Open the Actor on its Apify Store listing and click Try for free (or start it from the Apify Console if you already use it).
- Add at least one subreddit, redditor or search term to
targetsβ plain names,r/<subreddit>,u/<username>, or full URLs. No field is strictly required by the schema, but the run has nothing to sweep without at least one entry. - Set the real query controls:
sort_order(new/hot/top/rising),topTimeWindowfortopand searches,maxPosts,maxComments. - Start the run.
- Download the results as JSON, CSV, Excel, XML or HTML from the Apify Console, or pull them with the Apify API /
apify-client.
{"targets": ["r/webscraping"],"sort_order": "top","topTimeWindow": "month","maxPosts": 50,"maxComments": 50}
Running multiple subreddits, redditors or searches in one job
targets and subreddits are arrays β list as many subreddits, u/ redditors and search keywords as you want, and they all run in the same job. Each is swept sequentially, not in parallel: the Actor reads one subreddit's feed and comment firehose to completion before moving to the next. maxConcurrentUsers only controls parallelism in the separate, optional profile-card step (fetchDetails), not the feed sweep itself β a long target list on a job with fetchDetails off will still take proportionally longer to sweep, not less.
β¬οΈ Input
Reddit Subreddit Scraper takes no required fields β you can start a run with defaults alone, though you'll get nothing back without at least one target. Every parameter below is optional.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
targets | No | Array of strings | Mixed entrypoints. Accepts full URLs, r/<subreddit>, u/<username>, or a plain keyword run as a Reddit search. Anything that isn't a subreddit or a redditor becomes a search term. | ["r/python", "webscraping", "u/spez"] |
subreddits | No | Array of strings | Plain subreddit names to sweep in addition to targets. | ["python"] |
startUrls | No | Array of strings | Alias of targets, used only when targets is empty. | [] |
sort_order | No | String β enum new, hot, top, rising | Which subreddit feed to read. new = freshest, hot = front page, top = best of a window, rising = early movers. | "new" |
topTimeWindow | No | String β enum hour, day, week, month, year, all; default "week" | Time window applied to the top feed and to keyword searches. | "week" |
maxPosts | No | Integer, min 1, max 1000, default 10 | Posts to read per subreddit feed, per search, or per redditor overview. Reddit serves 100 per page; higher values paginate. | 50 |
maxComments | No | Integer, min 0, max 1000, default 10 | Items to read from the subreddit's live comment firehose. 0 skips it. | 50 |
includeCommentFeed | No | Boolean, default true | Read the comment firehose. | true |
searchWithinSubreddits | No | Boolean, default true | On: search terms run with restrict_sr inside every listed subreddit. Off: searched across all of Reddit. | true |
enrichFromArchive | No | Boolean, default true | Look up discovered ids on the Arctic Shift archive to add post body text, upvote ratio and author flair. | true |
emitContributionDataset | No | Boolean, default true | Write one extra, uncharged row per post/comment to a <runId>-contributions dataset. | true |
minSourceScore | No | Integer, min 0, max 100000, default 0 | Drop participants whose discovering items all scored below this. | 5 |
sourceTextKeywords | No | Array of strings | Case-insensitive substring match over post title, body and flair. Matches echo back on matchedKeywords. | ["proxy", "captcha"] |
keywordMatchAll | No | Boolean, default false | Off: match any keyword. On: require all of them. | false |
minContributions | No | Integer, min 1, max 1000, default 1 | Keep only participants seen this many times or more in this run. | 2 |
excludeAuthors | No | Array of strings | Usernames to skip entirely, case-insensitive, u/ optional. | ["AutoModerator"] |
maxParticipants | No | Integer, min 0, max 100000, default 0 | Hard ceiling on charged participant rows. 0 = no cap. Highest-scoring evidence kept first. | 500 |
fetchDetails | No | Boolean, default true | Fetch karma and account-creation date from each participant's public profile page. | true |
maxConcurrentUsers | No | Integer, min 1, max 10, default 3 | Parallel profile-card requests. | 3 |
requestDelay | No | Integer, min 0, max 10, default 1 | Base pause in seconds before each request, plus jitter. | 1 |
proxyConfiguration | No | Object (proxy editor), default {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} | Apify Proxy configuration. RESIDENTIAL is pinned regardless of what is selected β see the constraint below. | see below |
Common pitfall: typing a bare subreddit name like python into targets without an r/ prefix routes it into a Reddit-wide keyword search, not the subreddit feed β only the dedicated subreddits field auto-classifies plain names as subreddits. Use r/python in targets, or put python in subreddits.
β οΈ Proxy constraint: residential egress is mandatory. Every Apify datacenter proxy group is hard-blocked by Reddit, so the Actor pins the RESIDENTIAL group regardless of what you configure here β only your chosen country or session is kept.
Example input
{"targets": ["r/webscraping"],"subreddits": ["python"],"sort_order": "top","topTimeWindow": "month","maxPosts": 50,"maxComments": 50,"includeCommentFeed": true,"sourceTextKeywords": ["proxy", "captcha"],"minSourceScore": 5,"minContributions": 1,"excludeAuthors": ["AutoModerator"],"enrichFromArchive": true,"fetchDetails": true,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
β¬οΈ Output
Output is typed, normalized JSON with a consistent schema across runs, exportable from the Apify Console or API as JSON, CSV, Excel, XML or HTML. A run writes to up to three datasets: the default dataset (charged), and two optional, uncharged datasets β <runId>-contributions and <runId>-diagnostics.
Scraped results
Default dataset β one row per unique participant per run:
[{"username": "Ousret","userId": "t2_72iv8e3","profileUrl": "https://reddit.com/user/Ousret","totalKarma": null,"postKarma": 4312,"commentKarma": 1980,"createdUTC": 1553086000,"isGold": null,"iconImg": null,"rowScope": "active public participant discovered from a post or comment (not a subscriber)","profileFetched": true,"profileFetchNote": null,"createdISO": "2019-03-20T12:46:40Z","discoverySurface": "r/Python Β· top (t=week)","sourceType": "post","sourceId": "t3_1sackyi","sourceTitle": "Niquests 3.18 β 3 Years of Innovations in HTTP","sourcePermalink": "https://www.reddit.com/r/Python/comments/1sackyi/niquests_318_3_years_of_innovations_in_http/","sourceScore": 485,"sourceNumComments": 87,"sourceCreatedUTC": 1775122066,"sourceCreatedISO": "2026-04-02T09:27:46Z","sourceSubreddit": "Python","sourceLinkFlair": "Showcase","sourceRank": 3,"sourceIsNSFW": false,"sourceThreadId": "t3_1sackyi","sourceParentPostAuthor": null,"sourceText": "When I started working on Niquests, I dreamed about a no-compromise HTTP clientβ¦","sourceTextSource": "arctic-shift","sourceUpvoteRatio": 0.97,"sourceAuthorFlair": null,"sourceIsSubmitter": null,"matchedKeywords": [],"contributionCount": 3,"postContributions": 1,"commentContributions": 2,"distinctThreadCount": 2,"contributionSubreddits": ["Python"],"discoverySurfaces": ["r/Python Β· top (t=week)", "r/Python Β· comments"],"surfaceCount": 2,"firstSeenUTC": 1775122066,"firstSeenISO": "2026-04-02T09:27:46Z","lastSeenUTC": 1775225000,"lastSeenISO": "2026-04-03T14:02:11Z","activitySpanHours": 28.57,"topSourceScore": 485,"totalSourceScore": 492,"contributionIds": ["t3_1sackyi", "t1_kzp9a1", "t1_kzp9b2"]},{"username": "corngoat","userId": "t2_9fh2j","profileUrl": "https://reddit.com/user/corngoat","totalKarma": null,"postKarma": 812,"commentKarma": 5340,"createdUTC": 1421000000,"isGold": null,"iconImg": null,"rowScope": "active public participant discovered from a post or comment (not a subscriber)","profileFetched": true,"profileFetchNote": null,"createdISO": "2015-01-11T18:13:20Z","discoverySurface": "r/Python Β· comments","sourceType": "comment","sourceId": "t1_kzq3a0","sourceTitle": "What's your favorite testing library in 2026?","sourcePermalink": "https://www.reddit.com/r/Python/comments/1sadf2q/whats_your_favorite_testing_library/kzq3a0/","sourceScore": 12,"sourceNumComments": null,"sourceCreatedUTC": 1775130000,"sourceCreatedISO": "2026-04-02T11:40:00Z","sourceSubreddit": "Python","sourceLinkFlair": null,"sourceRank": null,"sourceIsNSFW": null,"sourceThreadId": "t3_1sadf2q","sourceParentPostAuthor": "seemsgud","sourceText": "pytest, no contest β fixtures alone are worth the switch.","sourceTextSource": "old.reddit","sourceUpvoteRatio": null,"sourceAuthorFlair": null,"sourceIsSubmitter": null,"matchedKeywords": [],"contributionCount": 1,"postContributions": 0,"commentContributions": 1,"distinctThreadCount": 1,"contributionSubreddits": ["Python"],"discoverySurfaces": ["r/Python Β· comments"],"surfaceCount": 1,"firstSeenUTC": 1775130000,"firstSeenISO": "2026-04-02T11:40:00Z","lastSeenUTC": 1775130000,"lastSeenISO": "2026-04-02T11:40:00Z","activitySpanHours": null,"topSourceScore": 12,"totalSourceScore": 12,"contributionIds": ["t1_kzq3a0"]},{"username": "webscrape_dev","userId": "t2_31kx0","profileUrl": "https://reddit.com/user/webscrape_dev","totalKarma": null,"postKarma": 210,"commentKarma": 990,"createdUTC": 1601400000,"isGold": null,"iconImg": null,"rowScope": "active public participant discovered from a post or comment (not a subscriber)","profileFetched": false,"profileFetchNote": "profile page blocked","createdISO": null,"discoverySurface": "r/webscraping Β· search 'proxy'","sourceType": "post","sourceId": "t3_1sbcd3","sourceTitle": "Residential vs datacenter proxies for anti-bot heavy sites","sourcePermalink": "https://www.reddit.com/r/webscraping/comments/1sbcd3/residential_vs_datacenter_proxies/","sourceScore": 64,"sourceNumComments": 21,"sourceCreatedUTC": 1775050000,"sourceCreatedISO": "2026-04-01T14:26:40Z","sourceSubreddit": "webscraping","sourceLinkFlair": "Discussion","sourceRank": 7,"sourceIsNSFW": false,"sourceThreadId": "t3_1sbcd3","sourceParentPostAuthor": null,"sourceText": null,"sourceTextSource": null,"sourceUpvoteRatio": null,"sourceAuthorFlair": null,"sourceIsSubmitter": null,"matchedKeywords": ["proxy"],"contributionCount": 1,"postContributions": 1,"commentContributions": 0,"distinctThreadCount": 1,"contributionSubreddits": ["webscraping"],"discoverySurfaces": ["r/webscraping Β· search 'proxy'"],"surfaceCount": 1,"firstSeenUTC": 1775050000,"firstSeenISO": "2026-04-01T14:26:40Z","lastSeenUTC": 1775050000,"lastSeenISO": "2026-04-01T14:26:40Z","activitySpanHours": null,"topSourceScore": 64,"totalSourceScore": 64,"contributionIds": ["t3_1sbcd3"]}]
sourceText is null on the third row because enrichFromArchive had no matching record for that post at the time it ran β post bodies are not present in Reddit's listing HTML, so without an archive match the field stays honestly empty rather than being filled with a guess.
Secondary dataset β <runId>-contributions (uncharged, when emitContributionDataset is on)
One row per individual post/comment behind each participant: username, userId, contributionType, contributionId, title, permalink, score, numComments, createdUTC, createdISO, subreddit, linkFlair, rank, threadId, parentPostAuthor, text, textSource, upvoteRatio, authorFlair, discoverySurface, matchedKeywords.
Third dataset β <runId>-diagnostics (uncharged, always written)
One run-accounting record: recordType, runId, elapsedSeconds, httpRequests, blockedResponses, transportErrors, tlsProfileUsed, rawItems, itemsAfterFilters, uniqueParticipantsFound, participantsPushedAndCharged, contributionRowsUncharged, droppedByMinSourceScore, droppedByKeywords, droppedByExcludeAuthors, droppedByMinContributions, realUserIdCoverage, sourceTextCoverage, archivePostsMatched, archiveCommentsMatched, chargeLimitReached, surfaceFailures, scopeNote.
Preserved-but-uncollectable columns: totalKarma, isGold and iconImg are kept on every default-dataset row for backwards compatibility but are always null. They only ever existed on /user/<name>/about.json, which now returns HTTP 403 to every unauthenticated client, so no live surface carries them β the Actor emits an honest null rather than a fabricated 0.
π How can I use the data extracted with Reddit Subreddit Scraper?
- π¬ Community researchers: measure who actually drives a subreddit's conversation and on which threads, using
contributionCount,distinctThreadCountandsourceTexttogether instead of raw post counts alone. - π οΈ Community managers and moderators: separate regulars from drive-by accounts with
minContributions, and read what each person actually said viasourceTextbefore deciding how to respond. - π€ AI engineers and LLM developers: feed a query, receive structured participant + source-evidence JSON, and pass it to a model as grounded context for a monitoring or research agent β no separate scraping step in the agent's own code.
- π Market and brand researchers: pull the people discussing a product category with the exact sentence they wrote next to their name via
sourceTextKeywords, rather than working from anonymized aggregate counts.
π How do you monitor participant activity over time?
Monitoring here means running the same target list on a schedule and diffing the participant set between runs, rather than treating a single sweep as a one-time snapshot. Because every row carries firstSeenISO, lastSeenISO, contributionCount, surfaceCount and topSourceScore, a second run against the same subreddits tells you who is new, who dropped off, and whose activity intensified β without re-reading the whole history each time.
The fields worth diffing between runs: compare username sets to find new versus returning participants; compare contributionCount and totalSourceScore per returning username to see whose activity grew or shrank; compare topSourceScore to catch someone whose post or comment suddenly took off. A discoverySurfaces change (a participant who only showed up in comments last time now also appearing in top) is often the earliest signal that something is gaining traction.
A practical loop: schedule a run across your target subreddits daily or weekly, keep the previous run's dataset export, join on username, and alert on whichever delta matters to you β a new participant with a high sourceScore, or a regular whose totalSourceScore jumped. Reddit Subreddit Scraper has no built-in scheduler of its own; set this up with Apify's Schedules feature in the Console (or the Apify API), which starts the Actor with the same input on a cron interval.
π Integrate Reddit Subreddit Scraper and automate your workflow
Reddit Subreddit Scraper works with any language or tool that can send an HTTP request, through the standard Apify API.
REST API with Python
import requestsACTOR_ID = "your-username~reddit-subreddit-members-scraper-with-source-posts"TOKEN = "apify_api_your_token"run = requests.post(f"https://api.apify.com/v2/acts/{ACTOR_ID}/run-sync-get-dataset-items",headers={"Authorization": f"Bearer {TOKEN}"},json={"targets": ["r/webscraping"], "maxPosts": 50, "maxComments": 50},timeout=300,)participants = run.json()for p in participants[:3]:print(p["username"], "->", p["sourceTitle"])
Find the exact Actor ID and a ready-made call on the Actor's API tab in the Apify Console.
Scheduled monitoring and delivery
Use the Apify Console's Schedules tab to re-run the same input on a cron interval, and the Integrations tab to trigger a webhook on run success or failure. There is no push-delivery feature beyond that β pull results after each scheduled run via the API or a webhook-triggered fetch of the dataset.
βοΈ Is it legal to scrape Reddit participant data?
Reddit Subreddit Scraper reads only what old.reddit.com serves a logged-out visitor β the same posts, comments and usernames anyone can see without an account. It does not log in, does not bypass any authentication wall, and collects no private messages, emails or account-recovery details.
Every row does name an identifiable person, though: a Reddit username tied to real posts, karma and an account-creation date. Public posting is not consent to be contacted, profiled, or added to a marketing list, and compiling this kind of personal data falls under GDPR, CCPA and equivalent data-protection regimes wherever your organization or your data subjects are covered β separately from whatever Reddit's own terms of service say about automated access. Scraping for one-off research carries a different risk profile than scraping to build a permanent, resold dataset, or to train a model on identifiable people.
Consult your legal team for commercial use cases involving bulk storage of personal data.
β Frequently asked questions
Does Reddit Subreddit Scraper return a subreddit's member or subscriber list?
No, and nothing can. Reddit has never published subreddit membership, and the one proxy for it β a subscriber count on /r/<sub>/about.json β now returns HTTP 403 to every unauthenticated client. Every row is an active participant discovered from a public post or comment, not a subscriber; rowScope states this in plain language on every row.
Can I restrict a keyword search to only the subreddits I listed?
Yes. searchWithinSubreddits (default true) runs your search terms with Reddit's restrict_sr inside every subreddit in targets/subreddits, and each row records which one it came from. Turn it off to search across all of Reddit instead.
Which feed should I read β new, hot, top or rising?
They're not redundant, but two of them are close: the Actor's own input schema documents that new and hot shared 98.6% of their authors on a measured r/python run, so hot rarely adds new people beyond new. top (with topTimeWindow) and the comment firehose (includeCommentFeed) are the surfaces that add the most distinct participants.
How does Reddit Subreddit Scraper handle Reddit's anti-bot measures?
It pins a Firefox/Safari TLS impersonation profile (Chrome-family fingerprints are blocked on Reddit) with a fallback list if a profile stops working, routes every request through Apify's RESIDENTIAL proxy group (every datacenter group is blocked), and gates each response on the presence of the expected content container rather than trusting the HTTP status code β since Reddit serves block and interstitial pages as HTTP 200.
Does Reddit Subreddit Scraper extract the source post or comment for every participant?
Yes β under sourceType, sourceId, sourceTitle, sourcePermalink, sourceScore, sourceCreatedISO, sourceSubreddit and related fields. sourceText is null when enrichFromArchive is off or the third-party archive has no matching record yet (post bodies are not present in Reddit's own listing HTML). sourceScore is null when Reddit itself hides the score, which it does on very new comments.
How many participants does Reddit Subreddit Scraper return per run?
That depends entirely on your inputs, not a platform-wide cap: maxPosts (1β1000, default 10) and maxComments (0β1000, default 10) bound how many items are read per feed, minContributions (default 1) and maxParticipants (0β100000, default 0 = no cap) bound how many deduplicated participants are kept and charged. Reddit itself serves at most 100 items per page, so higher maxPosts/maxComments values page through more requests.
How do I monitor a subreddit's active participants over time?
Schedule the same input to run repeatedly with Apify's Schedules feature, keep each run's dataset export, and join on username across runs. Compare contributionCount, totalSourceScore and discoverySurfaces to see who is new, who returned, and whose activity or score grew.
Does Reddit Subreddit Scraper work with Claude, ChatGPT and AI agent frameworks?
It's callable as a plain HTTP endpoint through the Apify API, which any agent framework can call β an agent issues a query, receives structured participant and source-evidence JSON back, and uses it as grounded context before answering.
How does Reddit Subreddit Scraper compare to other Reddit scrapers?
Evaluate any Reddit scraper on the same axes: does each participant row carry the exact post or comment that surfaced them, or just a username; does it roll up a person's contributions across the whole sweep or count each item separately; and does it emit an honest null for fields Reddit no longer exposes (like total karma) rather than a fabricated value. This Actor's default dataset is built around answering yes to all three.
Can I use Reddit Subreddit Scraper without managing proxies or a Reddit account?
Yes. The Actor forces Apify's RESIDENTIAL proxy group internally regardless of your proxy settings, since Reddit blocks every Apify datacenter IP, and it reads Reddit as a logged-out visitor β no Reddit login or API credentials are needed. You only need an Apify account to run it.
π¬ Your feedback
Found a bug, a field that no longer matches Reddit's markup, or a use case this Actor doesn't cover yet? Let us know through the Actor's page on the Apify Store β open an issue from the Issues tab or contact Scrapier support directly. Reports on real breakages get fixed fastest.