Reddit Profile Scraper avatar

Reddit Profile Scraper

Pricing

from $0.105 / profile

Go to Apify Store
Reddit Profile Scraper

Reddit Profile Scraper

Reddit profile scraper that turns a username, u/ handle, or profile URL into a 26-field profile with up to 1,000 posts and 10,000 comments in one run. Covers karma, account age, status flags, moderated communities, and trophies. From $0.0225 per profile.

Pricing

from $0.105 / profile

Rating

5.0

(2)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

2

Bookmarked

10

Total users

2

Monthly active users

2 days ago

Last modified

Share

Reddit Author Scraper is a Reddit profile scraper that turns one username into a structured dataset record with karma totals, account-status flags, moderated communities, trophies, and optional post and comment collections.

  • Accepts a plain username, a u/ handle, or a full profile URL — all three resolve to the same account.
  • 26 documented dataset fields, including moderated communities with subscriber counts and trophies.
  • Up to 1,000 posts and 10,000 comments per run, deduplicated by Reddit item id, with each cap independently configurable down to 0.

Run a small test · View API

The smallest useful test sets max_posts and max_comments to 0: one start event plus one result event costs $0.04000 on the FREE tier.

What does Reddit Author Scraper do?

Reddit Author Scraper looks up a single Reddit account and writes one normalized profile record to the default Apify dataset. The record combines the public profile (display name, bio, avatar, banner, creation time), karma totals split by posts and comments, account-status flags (verified, premium, employee, moderator, suspended, NSFW), the communities the account moderates with subscriber counts, its trophies, and — when requested — samples of the account's posts and comments with scores, subreddits, and parent-post context.

The Actor answers one narrow question: what public profile and activity context does Reddit expose for this username right now? It does not discover lists of usernames, read private messages, perform write actions, or score a person's trustworthiness. Karma and account age are Reddit-provided signals for your own analysis, not conclusions.

How do I use Reddit Author Scraper?

  1. Open Reddit Author Scraper and enter a username — spez, u/spez, and https://www.reddit.com/user/spez/ all work.
  2. Choose how many posts and comments to include, or set both caps to 0 for a profile-only lookup.
  3. Click Start and open the default dataset to review or export the record.

The examples below share one scenario — one post and one comment for spez:

{
"username": "spez",
"max_posts": 1,
"max_comments": 1
}

Input

All three inputs are required.

InputTypeRangeWhat it controls
usernamestringPlain username, u/ handle, or profile URLThe Reddit account to look up
max_postsinteger0–1,000How many of the user's submissions to include; 0 skips posts
max_commentsinteger0–10,000How many of the user's comments to include; 0 skips comments

The caps are request maximums, not guarantees. Reddit's own submission listing stops near a thousand entries, and its comment listings reach roughly ten thousand for the most active accounts, so a new, quiet, or suspended account returns fewer items than the cap allows.

Output

Each successful lookup stores one dataset item with 27 documented fields.

Field groupFields
Provenanceprocessor, processed_at
Identityid, username, profile_url, display_name, about, avatar, banner, created_at
Karmatotal_karma, post_karma, comment_karma
Account stateis_verified, email_verified, is_premium, is_employee, is_moderator, is_suspended, is_nsfw, accepts_followers, robots_hidden
Collectionstrophies, moderated
Activityposts, comments

An abbreviated, illustrative record for the shared scenario:

{
"id": "1w72",
"username": "spez",
"profile_url": "https://www.reddit.com/user/spez/",
"total_karma": 940207,
"post_karma": 184005,
"comment_karma": 756202,
"created_at": "2005-06-06T04:00:00+00:00",
"is_verified": true,
"is_employee": true,
"is_moderator": true,
"moderated": [
{ "name": "r/announcements", "subscribers": 302603085 }
],
"trophies": [
{ "name": "15-Year Club" }
],
"posts": [
{ "id": "1u7hraf", "title": "21 years of Reddit", "subreddit": "u_spez", "score": 840 }
],
"comments": [
{ "id": "os0o1vi", "subreddit": "u_spez", "score": 95, "is_root": false }
]
}

Fields Reddit does not return for an account stay null rather than being filled with substitutes; a suspended account, for example, returns only its name and a karma total. Posts carry scores, flair, media details, crosspost duplicates, and subreddit context; comments carry scores, parent and post references, and moderation flags. Export as JSON or JSONL to keep the nested arrays intact, or CSV and Excel for the flat profile fields.

Use cases

  • Moderator vetting — collect a consistent snapshot of an account's age, karma, moderated communities, and sampled activity before a human review.
  • Influencer research — compare authors by reach signals such as karma, trophies, and the subscriber counts of communities they moderate.
  • Audience-segment profiling — sample what an author publicly posts and comments to understand the topics and communities they engage with.
  • Data enrichment — join the profile fields onto Reddit usernames you already hold from surveys, CRM records, or community exports.

This Actor is not a fit for private messages, bulk username discovery, write actions, or automated judgments about a person's identity or trustworthiness.

API and integrations

The Actor ID is bb0YV0rZPcvyB4fX8, and the full name is agentx/reddit-author-scraper.

HTTP API

The synchronous endpoint below runs the shared scenario and returns dataset items. Keep the token in an environment variable rather than source control.

curl -X POST "https://api.apify.com/v2/acts/agentx~reddit-author-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username":"spez","max_posts":1,"max_comments":1}'

The API page provides generated examples for the Apify SDKs and the current OpenAPI surface.

Apify MCP server

Connect a compatible client to Apify's hosted MCP endpoint:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

After authorization, ask the client to inspect agentx/reddit-author-scraper with fetch-actor-details, then call the Actor with the same three inputs. See the Apify MCP documentation for client configuration.

Pricing

The Actor uses pay-per-event pricing. A start event is charged when the run begins, one result event covers the dataset record, and optional post and comment events are charged per item included in it. Prices can change, so check the pricing page before a production run.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
Actor Start$0.01000$0.01000$0.01000$0.01000$0.01000$0.01000
Result$0.03000$0.02700$0.02400$0.02250$0.02250$0.02250
Post$0.00500$0.00450$0.00400$0.00375$0.00375$0.00375
Comment$0.00100$0.00090$0.00080$0.00075$0.00075$0.00075

Smallest useful FREE-tier run: one start at $0.01000 plus one result at $0.03000 equals $0.04000 with both activity caps set to 0. Setting a maximum total charge on the run is the simplest cost protection for exploratory work.

Limits and troubleshooting

  • Fewer posts or comments than requested — the caps are maximums; Reddit's listings control what is actually available. Retry with a cap of 1 to separate source availability from volume behavior.
  • User not found — check the spelling, then confirm the account still exists on reddit.com; deleted accounts stop resolving.
  • Suspended account — the run still succeeds, but Reddit returns only the name and a karma total, so most fields are null and is_suspended is true.
  • Null valuesnull means Reddit did not expose that value for this account; it is not equivalent to false or zero.
  • Duplicate-looking posts — items are deduplicated by Reddit item id, but crossposts are distinct Reddit records and appear in each post's duplicates list rather than being merged.
  • Nested arrays in CSV — posts, comments, and trophies export more faithfully as JSON or JSONL.

To report a problem, rerun the smallest failing input first, then open an Actor issue with the public run ID, the input, and the observed result. Never include your API token.

Frequently asked questions

Can I do a bulk Reddit user lookup?

Yes — run one username per run and schedule or loop runs through the API for bulk Reddit user lookup, so each profile keeps its own cost, status, and evidence trail.

Does it support Reddit karma and history export?

Yes. Reddit karma and history export is the core output: karma totals split by posts and comments, plus up to 1,000 posts and 10,000 comments per run, exportable as JSON, CSV, or Excel from the dataset.

Does the Actor return a complete Reddit history?

No. max_posts and max_comments are request caps, and Reddit's own listings stop near 1,000 submissions and roughly 10,000 comments even for the most active accounts. Treat the output as the available sample at run time.

Can I pass a full profile URL instead of a username?

Yes. spez, u/spez, and https://www.reddit.com/user/spez/ all resolve to the same account.

What happens with both caps set to zero?

The run performs a profile-only lookup: the dataset record contains the profile, karma, status flags, trophies, and moderated communities, with empty post and comment arrays. This is also the cheapest way to validate the schema.

Is karma the same as upvotes?

No. Reddit describes karma as an approximate reflection of votes rather than a one-to-one count. Use post_karma and comment_karma as reputation signals, not exact engagement totals.

Do I need Reddit credentials?

No. The input has exactly three fields — username and the two caps — and requires only an Apify account to run.

Can I run it on a schedule?

Yes. Use Apify Schedules to snapshot the same username over time, and keep processed_at so later comparisons are anchored to a timestamp.

Enrich your data with AgentX

Support

Run a small test · View API