Reddit Profile Crawler avatar

Reddit Profile Crawler

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Reddit Profile Crawler

Reddit Profile Crawler

Scrape reddit's profiles with posts and profile information.

Pricing

from $1.00 / 1,000 results

Rating

3.0

(3)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

2

Bookmarked

103

Total users

3

Monthly active users

2 days ago

Last modified

Share

Reddit Profile Scraper

Scrape Reddit user profiles — karma breakdown, verified email, premium status, avatar, bio, trophy case — plus a user's full post and comment history. Filter by subreddit, keyword, score, date range, post type, flair and 20+ other criteria. No Reddit API key, no login, no rate limits.

What this actor does

  • Full profile data — post/comment/total karma, awardee & awarder karma, Reddit Premium, verified email, moderator & employee flags, avatar, bio, account age, optional trophy case and moderated-subreddit list
  • Post and comment history — walk as deep as Reddit allows, sorted by New, Hot, Top or Controversial, with a date window
  • Flexible sections — overview (posts + comments), posts only, or comments only, each with its own item cap
  • 30+ filters — subreddit, keyword, score range, post type, flair, domain, awards, content length, and exclusion toggles for stickied/removed/crossposted/spoiler/locked/archived posts
  • Flexible username input — bare usernames, u/name, or full profile URLs
  • Empty fields are omitted from every record

Output: per-profile

One record per username (dataType: "user_profile") when "Include profile info record" is on:

  • username, user_id, profile_url
  • post_karma, comment_karma, total_karma, awardee_karma, awarder_karma
  • is_gold (Reddit Premium), is_mod, is_employee, has_verified_email, verified
  • has_subscribed, is_blocked, is_friend — relative to the logged-out viewing session
  • pref_show_snoovatar, icon_img (avatar), snoovatar_img, snoovatar_size
  • accept_followers, hide_from_robots
  • user_subreddit — the profile's bio (public_description), banner image, display name, title, subscriber count, NSFW flag, type and URL
  • trophies[{name, icon_url}], when "Include trophies" is on
  • moderated_subreddits[{subreddit, subreddit_prefixed, subscribers, subreddit_type, mod_permissions, over_18, url, icon_img, created_utc}], when "Include moderated subreddits" is on
  • created_utc, created_at — account creation date
  • crawled_at, source

Output: per-post

One record per post (dataType: "post") returned by the posts or overview sections:

  • subreddit, subreddit_prefixed, subreddit_id, subreddit_subscribers, subreddit_type
  • post_id, post_name, title
  • author — bare username of the post author
  • author_meta — lean author-identity object: {username, id, flair, flair_background_color, flair_text_color, flair_css_class, flair_richtext, flair_template_id, flair_type, is_premium, is_blocked, has_patreon_flair} (built from data already on the post, no extra requests — does not include karma or other heavy profile fields; those live only on the separate user_profile record)
  • content, content_html — self-post body (empty for link posts)
  • content_url, url, permalink, url_overridden_by_dest, domain
  • post_hint, is_self, post_type, media_type
  • score, ups, downs, upvote_ratio, num_comments, num_crossposts, num_duplicates
  • link_flair, link_flair_background_color, link_flair_text_color, link_flair_css_class, link_flair_template_id, link_flair_type, link_flair_richtext
  • thumbnail_url, thumbnail_width, thumbnail_height
  • created_utc, created_at, edited, edited_at
  • is_stickied, is_locked, is_archived, is_pinned, is_nsfw, is_spoiler, is_original_content, is_crosspost, crosspost_parent_id
  • is_crosspostable, is_meta, is_reddit_media_domain, is_robot_indexable, is_created_from_ads_ui
  • allow_live_comments, contest_mode, hide_score, content_categories, media_only, quarantine, suggested_sort, no_follow, send_replies
  • gilded, total_awards_received, awards[{name, count, coin_price, icon_url}]
  • removed_by_category, distinguished
  • has_media, images, gallery_images, gallery_count
  • video_url, video_duration_seconds, video_width, video_height, video_has_audio, video_bitrate_kbps — Reddit-hosted videos
  • poll_data — poll options, vote counts and end time
  • embed_provider, embed_type, embed_title, embed_author_name, embed_thumbnail_url, embed_html, embed_width, embed_height — for link posts embedding YouTube, Imgur, Twitch, etc.
  • search_term — the keyword filter that matched, when the keyword filter is set
  • crawled_at, source

Output: per-comment

One record per comment (dataType: "comment") returned by the comments or overview sections:

  • post_id, post_url, post_title, link_id
  • comment_id, comment_name
  • author — bare username of the comment author
  • author_meta — lean author-identity object: {username, id, flair, flair_background_color, flair_text_color, flair_css_class, flair_richtext, flair_template_id, flair_type, is_premium, is_blocked, has_patreon_flair} (built from data already on the comment, no extra requests)
  • body, body_html
  • score, ups, downs, score_hidden, controversiality
  • subreddit, subreddit_prefixed, subreddit_id
  • created_utc, created_at, edited, edited_at
  • depth, parent_id, parent_kind, is_op, comment_type
  • is_stickied, is_locked, distinguished, collapsed, collapsed_reason, collapsed_reason_code, collapsed_because_crowd_control
  • can_gild, no_follow, send_replies, unrepliable_reason
  • gilded, total_awards_received, awards[{name, count, coin_price, icon_url}]
  • removed_by_category, permalink
  • search_term — the keyword filter that matched, when the keyword filter is set
  • crawled_at, source

Input

FieldTypeDefaultDescription
usernamesarrayrequiredReddit usernames to scrape — bare (spez), u/-prefixed, or profile URLs
includeProfileInfobooleantrueEmit the profile-info record
includeTrophiesbooleanfalseAlso fetch the trophy case (names + icons); one extra page load per user
includeModeratedSubredditsbooleanfalseAlso fetch the communities the user moderates
sectionsarray["posts"]History sections to scrape: overview (posts + comments), posts, comments
maxPostsinteger100Max post items per user (1–5,000)
maxCommentsinteger100Max comment items per user (1–5,000)
sortstringnewHistory sort order: new, hot, top, controversial
timeFilterstringallTime window for top/controversial sort: hour, day, week, month, year, all
includeNSFWbooleanfalseInclude 18+ posts
onlyWithFlairbooleanfalseKeep only posts that have a link flair set
subredditsarrayRestrict to posts/comments made in these subreddits
keywordstringKeep only posts/comments whose title, self-text or body contains this text
titleContainsstringKeep only posts whose title contains this text
contentContainsstringKeep only self posts whose body contains this text
flairContainsstringKeep only posts whose link flair contains this text
authorFlairContainsstringKeep only posts whose author flair contains this text
domainstringKeep only posts whose link domain contains this text, e.g. youtube.com
distinguishedstringKeep only moderator, admin, special, or none (regular) posts
postTypestringKeep only posts of this type: self, link, image, video, gallery, poll
minScore / maxScoreintegerKeep only posts/comments with a score in this range
minPostComments / maxPostCommentsintegerKeep only posts whose own comment count is in this range
minUpvoteRationumberKeep only posts with an upvote ratio at or above this value (0–1)
minAwardsintegerKeep only posts with at least this many total awards
minContentLength / maxContentLengthintegerKeep only self posts whose body length (characters) is in this range
onlyOriginalContentbooleanfalseKeep only posts tagged as original content
excludeStickiedbooleanfalseDrop stickied/pinned posts
excludeRemovedbooleanfalseDrop removed/deleted posts
excludeCrosspostsbooleanfalseDrop crossposted posts
excludeSpoilersbooleanfalseDrop spoiler-tagged posts
excludeLockedbooleanfalseDrop posts with comments locked by a moderator
excludeArchivedbooleanfalseDrop posts Reddit has archived (6+ months old)
excludeDeletedAuthorbooleanfalseDrop posts whose author account was deleted
excludeKeywordsarrayDrop posts whose title/body/flair contains any of these terms
postedAfter / postedBeforedateKeep only items created within this date range (UTC)

Example: full profile snapshot

{
"usernames": ["spez"],
"includeProfileInfo": true,
"includeTrophies": true,
"includeModeratedSubreddits": true,
"sections": []
}

Example: recent posts in a subreddit with a keyword filter

{
"usernames": ["u/gallowboob"],
"sections": ["posts"],
"sort": "new",
"maxPosts": 200,
"subreddits": ["pics", "AskReddit"],
"keyword": "photo",
"excludeStickied": true
}

Example: top-scoring comments over the past year

{
"usernames": ["spez"],
"includeProfileInfo": false,
"sections": ["comments"],
"sort": "top",
"timeFilter": "year",
"maxComments": 500,
"minScore": 50
}

Example: multi-user overview with content-type and date filters

{
"usernames": ["spez", "u/example_user", "https://www.reddit.com/user/another_user/"],
"sections": ["overview"],
"maxPosts": 100,
"maxComments": 100,
"postType": "self",
"minContentLength": 200,
"postedAfter": "2025-01-01",
"postedBefore": "2025-12-31",
"excludeRemoved": true,
"excludeDeletedAuthor": true
}

Use cases

  • User research — analyze an account's posting patterns, engagement and karma trends
  • Community and account vetting — verify an account's age, karma, trophies and activity before trusting recommendations or partnerships
  • Content discovery — pull a creator's or influencer's top posts by subreddit or keyword
  • Moderation research — audit a user's post history for policy violations across specific communities
  • Behavioral and social research — bulk-export user history for academic or market research
  • Profile monitoring — track a user's activity over time on a schedule

FAQ

Do I need a Reddit API key or account login? No — the actor reads Reddit's public web data. No credentials required.

Why does this actor need a residential proxy? Reddit blocks datacenter IPs with a network-security interstitial, so the actor automatically routes every request through Apify's residential proxy group. This happens transparently — there's no proxy setting to configure.

Does it include private activity like upvotes or saved posts? No — only public posts and comments are accessible. Voting history, saved items and hidden posts are private to the account owner and not exposed by Reddit's public data.

Why is a field missing from some records? Empty or not-applicable fields are omitted rather than returned as null or empty strings — for example, trophies only appears when the "Include trophies" option is on and the user has at least one trophy.

Are Reddit follower counts included? Reddit doesn't expose follower counts publicly. The profile record includes accept_followers (whether the user allows followers) instead.

What happens for suspended or nonexistent usernames? The run completes and reports that no data was found for that username; suspended/nonexistent accounts return no public data. Banned accounts that still resolve return a minimal profile record with zeroed karma.

Is history capped? Reddit itself caps a user's browsable history at roughly the most recent 1,000 items per section, regardless of maxPosts/maxComments.

Is this actor affiliated with Reddit? No — this is an independent, third-party actor that reads Reddit's public web pages and JSON endpoints. It is not built, endorsed or maintained by Reddit, Inc.

Can I filter to a date range? Yes — use postedAfter / postedBefore (UTC dates) together with sort: "new" for the most reliable results, since newest-first sorting lets the scraper stop as soon as it passes the date window.

Can I export the results? Yes — download as JSON, CSV, Excel, XML or HTML, pull via the REST API, or connect through integrations like n8n, Zapier, Make, or an AI agent via the Apify MCP server.