Reddit Users V1 — Profile, Posts, Comments, Lookup (8)
Pricing
Pay per usage
Reddit Users V1 — Profile, Posts, Comments, Lookup (8)
FREE — Reddit user toolkit — 8 anonymous lookups: profile, trophies, overview, posts, comments, browse popular/new, bulk lookup by IDs and username availability. No Reddit account, token or proxy needed.
Pricing
Pay per usage
Rating
5.0
(2)
Developer
Red Crawler
Maintained by CommunityActor stats
1
Bookmarked
13
Total users
3
Monthly active users
20 hours ago
Last modified
Categories
Features
Share
Reddit Users V1
This actor is free. There is no per-result fee. You only pay Apify's normal platform usage (the compute time of your run), and Apify's free plan gives you $5 of usage credit every month.
Reddit user toolkit in one actor — 8 lookups: profile, trophies, posts, comments, overview, browse, bulk-by-IDs and username availability. Pick the endpoint, fill the matching section, hit Start.
All eight are anonymous — no Reddit account, no token, no proxy.
What you can do
Each username field accepts a raw username (spez), a u/-prefixed handle (u/spez), or a full profile URL (https://www.reddit.com/user/spez/). Bulk lookup accepts raw IDs (abcd12) and t2_-prefixed (t2_abcd12) — comma list or one per row.
Endpoints (no Reddit account needed)
1. About — public profile
Returns a Reddit user's full public profile in one call.
Returns: numeric IDs (id, name), karma breakdown (total_karma, link_karma, comment_karma, awardee_karma, awarder_karma), badges (is_employee, is_mod, is_gold, verified, has_verified_email), created_utc, snoo / icon URLs, plus the embedded profile-subreddit object (u_<name>).
Use it when: profile QA, mod queues, lead enrichment, "is this user real / vetted / verified" checks, building dashboards of influencer / employee / mod activity.
Example
Input
{"endpoint": "about","about_username": "spez"}
Output (one dataset record)
{"endpoint": "about","id": "1w72","name": "spez","total_karma": 937988,"link_karma": 182650,"comment_karma": 755338,"awardee_karma": 25000,"awarder_karma": 75000,"created_utc": 1118030400.0,"is_employee": true,"is_mod": true,"is_gold": true,"verified": true,"has_verified_email": true,"icon_img": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png","snoovatar_img": "https://i.redd.it/snoovatar/avatars/...png","subreddit": {"display_name_prefixed": "u/spez","title": "spez","public_description": "Reddit CEO","subscribers": 0,"accept_followers": true},"accept_followers": true,"hide_from_robots": false,"pref_show_snoovatar": true}
2. Trophies — earned badges
Returns the user's earned Reddit trophies / awards (year-club badges, AMA, gilded, etc.).
Returns: array of {kind: "t6", data: {name, icon_70, icon_40, granted_at, url, description, award_id, id}} records.
Use it when: scoring account age & seniority, filtering "real" users vs. fresh throwaways, building reputation overlays.
Example
Input
{"endpoint": "trophies","trophies_username": "spez"}
Output (one dataset record per trophy)
{"endpoint": "trophies","kind": "t6","data": {"name": "15-Year Club","icon_70": "https://www.redditstatic.com/awards2/15_year_club-70.png","icon_40": "https://www.redditstatic.com/awards2/15_year_club-40.png","granted_at": 1749182400,"url": null,"description": null,"award_id": null,"id": null}}
3. Overview — posts + comments combined
Returns a user's posts and comments interleaved in one feed (Reddit's default profile view).
Returns: array of items — each is either a post (kind: t3) or a comment (kind: t1) with the full Reddit listing payload. Posts get post-shaped columns front-loaded, comments get comment-shaped columns.
Use it when: profiling an account's activity, summarising recent contributions, training data for "is this user spammy / on-topic / mod-worthy" classifiers.
Optional fields: overview_sort (new / hot / top / controversial), overview_time_filter (hour / day / week / month / year / all — only for top / controversial), overview_limit (1–100).
Example
Input
{"endpoint": "overview","overview_username": "spez","overview_sort": "new","overview_limit": 25}
Output (one dataset record per item — comment shape shown)
{"endpoint": "overview","id": "okpklb6","name": "t1_okpklb6","parent_id": "t1_okoapl8","link_id": "t3_1t7d1gy","author": "spez","author_fullname": "t2_1w72","body": "Ding ding ding","score": 24,"ups": 24,"downs": 0,"created_utc": 1778273310.0,"permalink": "https://reddit.com/r/redditstock/comments/1t7d1gy/please_fire_vollero_for_buyback_mismanagement/okpklb6/","is_submitter": false,"distinguished": "admin","subreddit": "redditstock","subreddit_name_prefixed": "r/redditstock","subreddit_id": "t5_4x7l6b","total_awards_received": 0}
4. Posts — submissions only
Returns only the user's submitted posts (links + self-posts), no comments.
Returns: array of post records with t3_* fullnames, post-shaped columns front-loaded.
Use it when: finding what an account posts about, OP profile checks, monitoring competitor / influencer posting cadence.
Optional fields: posts_sort, posts_time_filter, posts_limit (1–100).
Example
Input
{"endpoint": "posts","posts_username": "spez","posts_sort": "top","posts_time_filter": "year","posts_limit": 10}
Output (one record per post)
{"endpoint": "posts","id": "1tc6ncq","name": "t3_1tc6ncq","title": "Which language should I learn next?","author": "spez","author_fullname": "t2_1w72","subreddit": "test","subreddit_name_prefixed": "r/test","subreddit_id": "t5_2qh23","score": 1,"ups": 1,"downs": 0,"upvote_ratio": 1.0,"num_comments": 0,"created_utc": 1779421200.0,"permalink": "/r/test/comments/1tc6ncq/which_language_should_i_learn_next/","url": "https://www.reddit.com/r/test/comments/1tc6ncq/which_language_should_i_learn_next/","is_self": true,"over_18": false,"spoiler": false,"locked": false,"selftext": "Currently writing Python full-time...","thumbnail": "self"}
5. Comments — comments only
Returns only the user's authored comments, no posts.
Returns: array of comment records with t1_* fullnames, comment-shaped columns front-loaded.
Use it when: sentiment analysis on a user, finding their take on a topic, "comments on which subs lately" audits.
Optional fields: comments_sort, comments_time_filter, comments_limit (1–100).
Example
Input
{"endpoint": "comments","comments_username": "spez","comments_sort": "new","comments_limit": 25}
Output (one record per comment — same shape as Overview's comment example)
{"endpoint": "comments","id": "okpklb6","name": "t1_okpklb6","parent_id": "t1_okoapl8","link_id": "t3_1t7d1gy","author": "spez","body": "Ding ding ding","score": 24,"created_utc": 1778273310.0,"permalink": "https://reddit.com/r/redditstock/comments/1t7d1gy/please_fire_vollero_for_buyback_mismanagement/okpklb6/","subreddit": "redditstock"}
6. Browse Users — popular / new directory
Returns Reddit's directory listing of users — either the popular profile-subreddits feed or the new feed.
Returns: array of profile-subreddit records (t5_* names with u_<handle> display names) — same shape as About's subreddit field.
Use it when: discovering trending / newly active accounts, sampling for outreach, building "rising users" lists.
Optional fields: browse_directory (popular / new), browse_limit (1–100).
Example
Input
{"endpoint": "browse_users","browse_directory": "popular","browse_limit": 10}
Output (one record per user)
{"endpoint": "browse_users","name": "t5_3oy63","display_name": "u_thisisinsider","display_name_prefixed": "u/thisisinsider","title": "Business Insider","public_description": "What you want to know about business...","subscribers": 0,"created": 1507123989.0,"icon_img": "https://styles.redditmedia.com/t5_3oy63/styles/profileIcon_jah6n47yjv041.png","primary_color": "","key_color": "","accept_followers": true,"quarantine": false,"over_18": false}
7. Users by IDs — bulk lookup by t2_ IDs
Bulk-resolve many Reddit user IDs to compact profile records in one call. Up to 500 IDs per call — paste them as a list or comma-separated string.
Returns: array — one record per resolved user with {endpoint, name, id, created_utc, link_karma, comment_karma, profile_img, profile_color, profile_over_18}.
Use it when: hydrating IDs harvested from comments / mod logs / submissions, batch enrichment of large user lists, bulk audience research.
Example
Input
{"endpoint": "lookup","lookup_ids": ["t2_1w72", "t2_29onm7dc32"]}
Output (one record per user)
{"endpoint": "lookup","name": "spez","id": "1w72","created_utc": 1118030400.0,"link_karma": 182650,"comment_karma": 755338,"profile_img": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png","profile_color": "","profile_over_18": false}
8. Username Available — check if a name is free
Tells you whether a username is still claimable on Reddit.
Returns: {endpoint, username, available} — available: true means free, false means taken or reserved.
Use it when: picking new account names in bulk, brand-protection sweeps, finding free handles.
Example
Input
{"endpoint": "username_available","available_username": "my_new_reddit_handle"}
Output (one dataset record)
{"endpoint": "username_available","username": "my_new_reddit_handle","available": false}
How to run
- What to fetch → pick one of the 8 endpoints from the dropdown.
- Scroll to the section that matches your endpoint and fill in its fields. Only that section's fields are used — other sections are ignored.
- Hit Start. Each run produces one or more dataset rows — exactly one per item returned (e.g. 25 posts → 25 rows).
Output
Records are pushed to the run's default dataset. The shape depends on the endpoint:
| Endpoint | Pushed shape | Front-loaded columns |
|---|---|---|
about | one user record | endpoint, id, name, total_karma, link_karma, comment_karma, … |
trophies | array of {kind:"t6", data:{…}} | endpoint, kind, data |
overview / posts / comments | array of post (t3) + comment (t1) items | post-shaped or comment-shaped based on kind |
browse_users | array of user-subreddits | endpoint, id, name, total_karma, … |
lookup | array of compact user records | endpoint, id, name, total_karma, … |
username_available | {endpoint, username, available} | as listed |
Empty results push one summary row instead of zero rows (e.g. a user with no posts =
{endpoint: "posts", items: [], count: 0}), so a successful run with no items still produces a visible record.
Common edge cases
| Edge case | Cause | How it surfaces |
|---|---|---|
| Suspended user | Account banned by Reddit admins | about returns sparse profile, posts / comments empty. Some fields may be missing. |
| Shadowbanned user | Account silently suppressed | All anonymous lookups return "User not found" (Reddit hides shadowbanned accounts from outsiders). |
| Private profile | User toggled "Show my profile to logged-out users = off" | Lookups fail with forbidden. Skip the user. |
Mixed valid + invalid IDs in lookup | One or more t2_ IDs are wrong / deleted | Resolved users come back; missing IDs are absent. No error — just fewer rows than IDs supplied. |
Username with ? / trailing slash / URL | User pasted a full URL or messy handle | Actor strips it cleanly — https://reddit.com/user/spez/, u/spez, spez all work. |
Why this actor is fast
- Speed — under 1 second per lookup. Pure HTTP to Reddit's mobile API. No browser to boot, no Playwright / Selenium / Puppeteer overhead. Competing browser-based actors typically take 15–60 seconds per call.
- Reliability — zero browser flakiness. No headless-Chromium crashes. No JS-render timeouts. No captcha pages.
- Footprint — under 100 MB RAM per run. Most browser-based actors need 1–4 GB.
- Proxy management handled for you. No proxy to configure — the backend rotates infrastructure behind the scenes.
Status & error reference
Run status (Apify-side, shown on the run page)
| Status | Apify message | Meaning | What to do |
|---|---|---|---|
| "Actor succeeded with N results in the dataset" | Run finished, records pushed. | Open the dataset to view the result. | |
| "The Actor process failed…" | Validation error or missing required input. | Check the run log. You are NOT charged for failed runs. | |
| "The Actor timed out. You can resurrect it with a longer timeout to continue where you left off." | Run exceeded timeout (rare — lookups are fast). | Re-run; check Reddit / proxy is reachable. | |
| "The Actor process was aborted. You can resurrect it to continue where you left off." | You stopped the run manually. | No charge for unpushed results. |
Common in-run conditions (visible in run log and output record)
| Condition | Cause | Result |
|---|---|---|
| User not found | Username doesn't exist, is suspended, or is shadowbanned | Run SUCCEEDED, single row with error: "User not found". |
| Private profile | User has logged-out viewing disabled | Run SUCCEEDED, row with error_kind: FORBIDDEN. |
| Validation error: missing endpoint / username / IDs | Required input not provided | Run FAILED immediately, no charge. |
| Reddit rate-limit | Per-IP throttle hit (very rare on shared infra) | Run SUCCEEDED, row with error_kind: RATELIMIT. |
Pricing
Free. There is no per-result fee — we don't charge anything for the results you get, however many you pull.
You only pay Apify's normal platform usage, which is the compute time your run takes. Apify's free plan includes $5 of usage credit every month, so you can start right away without a paid plan.
Need a different shape of data?
- Reddit Users V2 — profiles with verification status (bot / app accounts), trophies, pinned posts, username validation
- Reddit Subreddits — subreddit info, rules, browse, search
- Reddit Search V2 — search posts, communities and people by keyword
- Reddit Bulk Scrape V2 — bulk lookups by ID (up to 10000 per run)
Support and feedback
Found a bug, want a feature, or hit a Reddit error code we don't translate clearly? Open an issue via the actor's Apify Console feedback link, or reach out at the RedCrawler support channel.
Reddit Users V1 is part of the RedCrawler family of Reddit actors. RedCrawler is independent — not affiliated with, endorsed by, or sponsored by Reddit, Inc. Use it within Reddit's API terms.