Reddit Users V1 — Profile, Posts, Comments, Lookup (8)
Pricing
from $0.01 / 1,000 results
Reddit Users V1 — Profile, Posts, Comments, Lookup (8)
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
from $0.01 / 1,000 results
Rating
5.0
(2)
Developer
Red Crawler
Maintained by CommunityActor stats
1
Bookmarked
13
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
Reddit Users V1
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
Pay-per-result. You're only charged for records actually pushed to the dataset — failed runs and validation errors cost nothing.
| Event | Trigger | Price (per 1,000) |
|---|---|---|
result | Each row pushed to the dataset (success or failure) | $1.99 |
A 25-post overview is 25 rows. A profile lookup is 1 row. A lookup of 100 IDs is up to 100 rows.
Need a different shape of data?
- Reddit Users V2 — GQL 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.