Reddit Users V1 — Profile, Posts, Comments, Lookup (8) avatar

Reddit Users V1 — Profile, Posts, Comments, Lookup (8)

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Reddit Users V1 — Profile, Posts, Comments, Lookup (8)

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

Red Crawler

Maintained by Community

Actor stats

1

Bookmarked

13

Total users

3

Monthly active users

3 days ago

Last modified

Share

Reddit Users V1

Endpoints Auth Proxy Pricing

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"
}

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

  1. What to fetch → pick one of the 8 endpoints from the dropdown.
  2. Scroll to the section that matches your endpoint and fill in its fields. Only that section's fields are used — other sections are ignored.
  3. 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:

EndpointPushed shapeFront-loaded columns
aboutone user recordendpoint, id, name, total_karma, link_karma, comment_karma, …
trophiesarray of {kind:"t6", data:{…}}endpoint, kind, data
overview / posts / commentsarray of post (t3) + comment (t1) itemspost-shaped or comment-shaped based on kind
browse_usersarray of user-subredditsendpoint, id, name, total_karma, …
lookuparray of compact user recordsendpoint, 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 caseCauseHow it surfaces
Suspended userAccount banned by Reddit adminsabout returns sparse profile, posts / comments empty. Some fields may be missing.
Shadowbanned userAccount silently suppressedAll anonymous lookups return "User not found" (Reddit hides shadowbanned accounts from outsiders).
Private profileUser toggled "Show my profile to logged-out users = off"Lookups fail with forbidden. Skip the user.
Mixed valid + invalid IDs in lookupOne or more t2_ IDs are wrong / deletedResolved users come back; missing IDs are absent. No error — just fewer rows than IDs supplied.
Username with ? / trailing slash / URLUser pasted a full URL or messy handleActor 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)

StatusApify messageMeaningWhat to do
Succeeded"Actor succeeded with N results in the dataset"Run finished, records pushed.Open the dataset to view the result.
Failed"The Actor process failed…"Validation error or missing required input.Check the run log. You are NOT charged for failed runs.
Timed out"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.
Aborted"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)

ConditionCauseResult
User not foundUsername doesn't exist, is suspended, or is shadowbannedRun SUCCEEDED, single row with error: "User not found".
Private profileUser has logged-out viewing disabledRun SUCCEEDED, row with error_kind: FORBIDDEN.
Validation error: missing endpoint / username / IDsRequired input not providedRun FAILED immediately, no charge.
Reddit rate-limitPer-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.

EventTriggerPrice (per 1,000)
resultEach 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?


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.