Reddit User Profile & Post History Crawler Pro avatar

Reddit User Profile & Post History Crawler Pro

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Reddit User Profile & Post History Crawler Pro

Reddit User Profile & Post History Crawler Pro

Turn Reddit usernames or profile URLs into split karma, account-age and status-badge data, plus filterable post history with per-post awards, media and gilding, and optional trophies, mod subs and comments.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Dataspryva

Dataspryva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Turn Reddit usernames or profile links into structured user records: split karma, account age, badges, bio and avatar, plus the user's posts or comments with media, awards, upvote ratio, trophies and moderated communities.

Runs on public pages without a Reddit account, login cookie, API key, or proxy setup.

Modes

ModeWhat it collects
Posts (submitted)The user's submitted posts, with optional recent comments.
Overview (overview)Posts and comments in one record.
Comments (comments)The user's recent comments only.
Gilded (legacy)Reddit no longer exposes a gilded feed; accepted for saved tasks and treated as Posts with a warning.

Every mode supports Hot, New, Top and Controversial ordering. Top and Controversial use the timeFilter window.

What each record contains

User fields

  • username, user_id, profile_url
  • post_karma, comment_karma, total_karma
  • account_created (ISO 8601), account_age_years
  • description, icon_img
  • contributions
  • is_admin, is_employee, is_moderator, is_gold, verified, has_verified_email — only present when Reddit shows the badge
  • posts[], post_count
  • filtered_post_count — only when posts existed but every one was filtered out
  • section_empty — only when the chosen feed genuinely has no content for that user
  • trophies[], trophy_count — when Include trophy case is on
  • moderated_subreddits[], moderated_subreddit_count — when Include moderated communities is on
  • moderator_list_hidden — when the public moderator list is hidden
  • recent_comments[], recent_comment_count, recent_comments_total_score — for Overview, Comments, or when Include recent comments is on
  • posts_total_score — sum of kept post scores when non-zero
  • scraped_at

Post fields

  • post_id, post_name, title, author, author_fullname
  • subreddit (bare name, e.g. aww), subreddit_prefixed (r/aww)
  • score, num_comments, upvote_ratio
  • permalink, url, external_url, domain, post_type, post_hint
  • content (self-text, up to 1,000 characters), content_html
  • thumbnail_url, link_flair
  • created_utc, created_at, post_age_seconds, title_word_count
  • is_self, is_gallery, is_video, is_crosspost, is_stickied, is_locked, is_archived, is_nsfw, is_spoiler, is_original_content, is_promoted
  • awards[], total_awards_received, gilded_count (when Reddit labels the award as a gild)
  • media_metadata — type, thumbnail, gallery images, MP4/HLS video URL
  • crosspost_parent — original post id, subreddit and link

Comment fields

  • comment_id, comment_name, post_id, post_title
  • author, text, body_html
  • score, subreddit, subreddit_prefixed
  • permalink, created_utc, created_at
  • is_edited, distinguished

A field the profile genuinely lacks is omitted, never emitted as null.

Input

FieldTypeDefaultDescription
usernamesarray–Usernames, u/name handles, or full profile URLs. Legacy username is also accepted.
sectionselectsubmittedPosts, Overview, Comments, or legacy Gilded.
sortselectnewNew, Hot, Top, or Controversial.
timeFilterselectallAll time, year, month, week, day, or hour. Used by Top/Controversial.
maxPostsinteger50Posts to collect per user (1–1000).
maxCommentsinteger25Comments to collect per user (1–1000).
includeCommentsbooleanfalseAlso collect comments when the section is Posts.
includeTrophiesbooleanfalseAdd the trophy case.
includeModeratedSubredditsbooleanfalseAdd the public moderated-community list.
minPostScoreinteger–Drop posts below this score.
maxPostAgeDaysinteger–Drop posts older than this many days.
excludeNsfwPostsbooleanfalseDrop NSFW / not-brand-safe posts.
minPostCommentsinteger–Drop posts with fewer comments.
maxPostCommentsinteger–Drop posts with more comments.
postTypeselectallKeep one type: text, link, image, video, gallery, crosspost, GIF, multi-media, or poll.
includeKeywordsarray–Keep posts matching these terms in title, body, flair, or subreddit.
excludeKeywordsarray–Drop posts matching any of these terms.
keywordMatchselectanyInclude keywords may match any or all terms.
excludeStickiedbooleanfalseDrop pinned posts.

Example: recent posts

{
"usernames": ["spez", "https://www.reddit.com/user/Poem_for_your_sprog"],
"section": "submitted",
"sort": "new",
"maxPosts": 25
}

Example: top comments

{
"usernames": ["spez"],
"section": "comments",
"sort": "top",
"timeFilter": "year",
"maxComments": 50,
"excludeNsfwPosts": true
}

Example: filtered image posts

{
"usernames": ["GallowBoob"],
"section": "submitted",
"sort": "top",
"timeFilter": "month",
"maxPosts": 100,
"postType": "image",
"minPostScore": 500,
"excludeKeywords": ["giveaway"]
}

Example: full profile

{
"usernames": ["spez"],
"section": "overview",
"maxPosts": 50,
"maxComments": 50,
"includeTrophies": true,
"includeModeratedSubreddits": true,
"excludeNsfwPosts": true
}

Error records

Each unusable username emits one record with recordType: "error" and type: "reddit_profile_crawler_pro_error". The run continues with the remaining users.

reasonMeaning
user_not_foundReddit has no profile with that name.
profile_privateThe profile is private.
profile_suspendedThe account is suspended.
blockedReddit blocked every anonymous route for this run.
scrape_failedThe page raised an unexpected error.
no_valid_usernamesThe input contained no usable username.

Use cases

  • User research — posting cadence, top communities, karma split and account age.
  • Trust and safety checks — combine age, status badges, verification and trophy history.
  • Influence analysis — rank posts by score, comments, awards and upvote ratio.
  • Community audits — export the public list of communities a user moderates.
  • Dataset building — collect posts and comments with media and engagement metadata.

FAQ

Is this affiliated with Reddit?

No. This is an independent third-party actor that reads publicly available Reddit pages. It is not operated by or affiliated with Reddit.

Do I need a Reddit account, API key, or proxy?

No. The actor reads public pages anonymously. It handles Reddit's network challenges automatically and needs no credentials or proxy configuration from you.

Why is post_count lower than maxPosts?

The profile feed ran out of pages before reaching the limit, or the client-side filters removed posts. filtered_post_count appears when filters removed every post.

Why did a user return no comments?

The account may have no public comments, or Reddit's comments feed may be empty for that profile. section_empty flags the empty feed.

Why is section: "gilded" treated as Posts?

Reddit's current public profile UI no longer has a gilded-only feed. Saved tasks that send gilded keep working as Posts, and the status log explains the substitution.

Why are awarder/awardee karma fields often missing?

Reddit's current public profile header only shows post, comment and total karma for most accounts. Those fields appear only when the page carries them.

Are private or suspended profiles supported?

No. They emit an error record explaining the reason; no personal data is collected from them.

Data source

Public Reddit profile, posts and comments pages. The actor does not use Reddit's OAuth API, does not log in, and does not require cookies.

Legacy input compatibility

Old saved tasks keep working. The actor maps these keys in code:

  • username (string) → usernames
  • sortBy → sort
  • section: "gilded" → submitted
  • old sort aliases best / rising / relevance → hot / new / hot

Legacy keys are intentionally not shown in the input form, so the schema only contains fields the actor actually uses.