Reddit Profile Scraper
Under maintenancePricing
from $4.99 / 1,000 results
Reddit Profile Scraper
Under maintenanceScrape Reddit user profiles by username or profile URL — including karma, bio, avatar, account age, and optional recent posts and comments.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape public Reddit user profiles by username or public profile URL. The Actor records karma, account metadata, trophies, optional recent activity, and provenance in the default dataset.
Features
- Structured profile records suitable for analysis and export.
- Optional recent public submissions and comments with a bounded per-profile limit.
- Ordinary Chrome and Crawlee execution with one concurrent profile request and browser fingerprinting disabled.
- Fail-closed handling for blocked, unavailable, or incomplete public responses.
Input
| Field | Type | Default | Required | Description |
|---|---|---|---|---|
usernames | array of strings | none | yes | Reddit usernames without u/, or public profile URLs. |
includeRecentPosts | boolean | false | no | Include recent public submissions. |
includeRecentComments | boolean | false | no | Include recent public comments. |
maxRecentItems | integer | 25 | no | Maximum recent posts or comments per profile, bounded to 1-100. |
headless | boolean | true | no | Run the browser without a visible window. |
proxyConfiguration | object | standard Apify proxy | no | Optional permitted Apify proxy configuration; set useApifyProxy to false for direct access. |
The Actor accepts 1-100 profiles, validates Reddit profile URLs, and deduplicates usernames case-insensitively before starting Chrome. It uses public Reddit responses without relying on a protected login session. If Reddit returns a CAPTCHA, login wall, rate limit, WAF response, or other access denial, the request is recorded in OUTPUT only and is not counted or charged as a successful dataset profile.
Output
Each successful dataset item contains the following top-level groups:
- Profile identity:
profileId,username,profileUrl,sourceProfileUrl, andrequestedUsername. - Account data: karma fields,
createdAt,accountAgeDays, account flags,subscribers,bio,avatar, andbannerImg. - Activity:
trophies, and optionallyrecentPostsandrecentComments. - Run metadata: request flags,
maxRecentItems,extractionMethod, proxy/fingerprint flags,rawProfile, andscrapedAt.
Sample output
{"recordType": "profile","username": "example_user","profileUrl": "https://www.reddit.com/user/example_user/","commentKarma": 1234,"linkKarma": 5678,"totalKarma": 6912,"createdAt": "2020-01-02T03:04:05.000Z","accountAgeDays": 1460,"isGold": false,"isMod": false,"isEmployee": false,"hasVerifiedEmail": true,"isSuspended": false,"acceptFollowers": true,"subscribers": 250,"bio": "Example public profile description.","trophies": [],"sourceProfileUrl": "https://www.reddit.com/user/example_user/","requestedUsername": "example_user","includeRecentPosts": false,"includeRecentComments": false,"maxRecentItems": 25,"extractionMethod": "old-reddit-profile-html","proxyConfigured": true,"fingerprintApplied": true,"scrapedAt": "2024-02-03T04:05:06.000Z"}
Run summary and storage
Each successful dataset row has recordType profile. The Actor stores one JSON run summary in the default key-value store under the key OUTPUT with normalized usernames, activity settings, proxy/browser state, saved profiles, failed and blocked requests, and availability. A fail-closed run uses recordType runDiagnostic and includes its message.
Local validation
Install dependencies, run the unit suite, and validate a populated local dataset:
npm testnpm run validate:dataset
The dataset validator reads APIFY_LOCAL_STORAGE_DIR when it is set, otherwise it reads the local storage/datasets/default directory. It requires at least one complete profile, rejects duplicates, and verifies canonical URLs, timestamps, types, bounded activity, and karma consistency. Diagnostics remain in the OUTPUT key so pay-per-result runs do not charge for failed profiles.
Notes
- Use a permitted public network path and respect Reddit's terms and rate limits.
- No login, private endpoint, session replay, randomized user-agent, fingerprint modification, CAPTCHA bypass, or access-denial bypass is performed.
- A run with no usable profile records fails instead of reporting a false success.
