Reddit Subreddit Users Scraper
Pricing
from $2.99 / 1,000 subreddit users
Reddit Subreddit Users Scraper
Collect unique public post and comment authors from one Reddit subreddit, with optional public profile enrichment and activity counts.
Pricing
from $2.99 / 1,000 subreddit users
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Discover unique public authors active in one Reddit community. The Actor scans a bounded set of subreddit posts, optionally collects public comment authors, and can enrich each discovered username with public profile metadata.
What this Actor does
- Collects unique post authors from a public subreddit listing.
- Optionally scans public comments and bounded replies for additional authors.
- Counts each user's observed posts and comments in the requested community.
- Optionally enriches users from Reddit's public profile JSON representation.
- Stops at login, CAPTCHA, WAF, geofence, device, or rate-limit controls without bypassing them.
Input
| Field | Type | Default | Description |
|---|---|---|---|
subreddit | string | required | Community name without r/; 2–21 letters, numbers, or underscores. |
sortBy | string | new | new, hot, top, rising, or controversial. |
topTime | string | week | Time window for top or controversial. |
maxPosts | integer | 50 | Number of posts to scan, from 1 to 500. |
includeCommentAuthors | boolean | true | Scan bounded public comment data for more usernames. |
fetchProfileDetails | boolean | false | Request public profile metadata for each discovered user. |
headless | boolean | true | Run Chromium without a visible window. |
proxyConfiguration | object | Apify Proxy | Standard Apify proxy configuration. A proxy does not bypass access controls. |
Unknown fields and invalid values fail before crawling.
Example input
{"subreddit": "javascript","sortBy": "new","maxPosts": 25,"includeCommentAuthors": true,"fetchProfileDetails": false,"proxyConfiguration": { "useApifyProxy": true }}
Dataset output
Every dataset item is a real user record with recordType: "subreddit_user". Required fields include username, profile URL, community, observed post/comment counts, source listing URL, and extraction time. collectionScope is always observed_contributors: this is a bounded set of authors seen in fetched public posts/comments, not a complete subscriber, member, or community-user list. Optional profile fields include karma, account age, moderator/employee flags, bio, and avatar.
{"recordType": "subreddit_user","username": "example_user","profileUrl": "https://www.reddit.com/user/example_user/","subreddit": "javascript","collectionScope": "observed_contributors","postsInSubreddit": 1,"commentsInSubreddit": 2,"firstSeenPostTitle": "Example discussion","sourceListingUrl": "https://www.reddit.com/r/javascript/new/?sort=new&t=week","sortBy": "new","topTime": "week","extractionMethod": "reddit-subreddit-users-listing-rendered-dom","scrapedAt": "2026-01-02T03:04:05.000Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
The default key-value store contains OUTPUT, an explicit success summary or no-data diagnostic. If no usable users are available, the default dataset contains one four-field diagnostic record; diagnostics are never stored as successful user rows.
Limits and cost control
The listing crawler uses one request at a time and no blocked-request retries. Comment detail work is limited to three concurrent tabs, and profile enrichment runs sequentially. Reduce maxPosts, disable comment authors, or disable profile enrichment to lower compute and proxy use. Dataset items may trigger the configured pay-per-event charge.
Public-data and responsible use
This Actor reads only publicly available Reddit web data. It does not log in, alter browser identity, defeat challenges, use protected sessions, or evade access controls. Availability varies by Reddit, network, region, and proxy tier. Usernames and profiles can be personal data; follow Reddit's terms and applicable privacy and data-protection requirements.
Local development
npm testapify validate-schemaapify run --purge
The validator rejects incomplete records, diagnostic dataset rows, and empty extractions.