Reddit Profile Scraper avatar

Reddit Profile Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Reddit Profile Scraper

Reddit Profile Scraper

Under maintenance

Scrape 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

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

3

Monthly active users

6 days ago

Last modified

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

FieldTypeDefaultRequiredDescription
usernamesarray of stringsnoneyesReddit usernames without u/, or public profile URLs.
includeRecentPostsbooleanfalsenoInclude recent public submissions.
includeRecentCommentsbooleanfalsenoInclude recent public comments.
maxRecentItemsinteger25noMaximum recent posts or comments per profile, bounded to 1-100.
headlessbooleantruenoRun the browser without a visible window.
proxyConfigurationobjectstandard Apify proxynoOptional 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, and requestedUsername.
  • Account data: karma fields, createdAt, accountAgeDays, account flags, subscribers, bio, avatar, and bannerImg.
  • Activity: trophies, and optionally recentPosts and recentComments.
  • Run metadata: request flags, maxRecentItems, extractionMethod, proxy/fingerprint flags, rawProfile, and scrapedAt.

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 test
npm 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.