Reddit User Scraper: Profile, Posts & Comments, No API Key
Pricing
from $6.15 / 1,000 results
Reddit User Scraper: Profile, Posts & Comments, No API Key
Look up any Reddit username and export their recent posts and comments plus profile tagline as clean JSON, CSV or Excel. Scrape many users at once by username or profile URL, in overview, submitted or comments mode. No API key and no login required.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Reddit User Scraper: Profile, Posts and Comments (No API Key)
Scrape any Reddit user by username and export their recent posts and comments plus the public profile tagline as clean JSON, CSV or Excel. Pass one username or hundreds, choose overview, submitted or comments mode, and get one tidy record per user. No API key, no OAuth, no login.
Here is one real result. recentPosts and recentComments are trimmed to one entry each for readability:
{"username": "spez","profileUrl": "https://www.reddit.com/user/spez","description": "Reddit CEO","iconImg": null,"id": null,"postKarma": null,"commentKarma": null,"totalKarma": null,"accountCreated": null,"cakeDay": null,"isGold": null,"isEmployee": null,"isMod": null,"isVerified": null,"trophies": null,"numPostsFetched": 1,"numCommentsFetched": 1,"recentPosts": [{"recordType": "post","id": "1vgbkge","fullname": "t3_1vgbkge","title": "Modernizing Reddit's infrastructure with you","url": "https://www.reddit.com/r/u_spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/","permalink": "https://www.reddit.com/r/u_spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/","subreddit": "u_spez","subredditPrefixed": "r/u_spez","selftext": "Hi everyone, Last May, I shared how we were rebuilding our infrastructure...","contentHtml": "<!-- SC_OFF --><div class=\"md\"><p>Hi everyone,</p> ...</div><!-- SC_ON -->","thumbnail": null,"domain": "self.u_spez","isSelf": true,"isVideo": null,"mediaUrls": null,"galleryImageUrls": null,"score": null,"upvoteRatio": null,"numComments": null,"totalAwards": null,"linkFlairText": null,"isNsfw": null,"isSpoiler": null,"isOriginalContent": null,"isPinned": null,"isLocked": null,"edited": false,"editedAt": null,"createdAt": "2026-08-05T16:03:56+00:00","updatedAt": "2026-08-05T16:03:56+00:00"}],"recentComments": [{"recordType": "comment","id": "p1wosm9","fullname": "t1_p1wosm9","body": "That was the thinking. Otherwise it would be easier to just replicate the UI.","contentHtml": "<!-- SC_OFF --><div class=\"md\"><p>That was the thinking...</p></div><!-- SC_ON -->","subreddit": "u_spez","subredditPrefixed": "r/u_spez","linkTitle": "Modernizing Reddit's infrastructure with you","linkPermalink": "https://www.reddit.com/r/u_spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/","permalink": "https://www.reddit.com/r/u_spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/p1wosm9/","score": null,"totalAwards": null,"isSubmitter": null,"edited": false,"editedAt": null,"createdAt": "2026-08-05T18:31:50+00:00","updatedAt": "2026-08-05T18:31:50+00:00"}],"transport": "rss","observedAt": "2026-09-05T02:20:00.000Z","error": null}
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- What you can and cannot get
- Quickstart
- Input reference
- Output reference
- How this compares
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
This is a Reddit user history scraper. Give it one or more usernames (or full profile URLs) and it returns, for each account, one normalized record with the public profile tagline plus the user's recent posts and comments. Use it for social media monitoring, brand and influencer research, moderation and abuse review, audience insights, sentiment datasets and academic study, all without a Reddit API key.
For every user you get:
- The profile: username, profile URL and the public tagline/description.
- Their recent posts (
recentPosts): title, subreddit, permalink, outbound URL, self text (clean text plus original HTML), thumbnail and reddit-hosted media, gallery images, self vs link classification and ISO timestamps. - Their recent comments (
recentComments): comment body (clean text plus HTML), the subreddit, the title and permalink of the post it was left on, the comment permalink and ISO timestamps.
You control how many posts and comments to pull per user, the sort order, and whether to fetch posts, comments or both.
What you can and cannot get
This actor reads Reddit's public user feeds over HTTP, with no login and no official API. That keeps it fast, key-free and resilient, but it means some profile metrics that Reddit only exposes through its logged-in API are not available and are returned as honest null rather than guessed or faked.
Returned (real data): username, profile URL, profile tagline/description, and full recent post and comment activity with clean text, HTML, media, subreddit, permalinks and timestamps.
Not available over the public feeds, returned as null: post karma, comment karma, total karma, account creation date, cake day, trophies, gold/premium, verified, moderator and employee flags, and per-post or per-comment score, upvote ratio, comment count and awards. These come only from Reddit's gated endpoints, which now block anonymous access. If you need live karma and vote scores, a browser or API based scraper is required (see How this compares).
Quickstart
Open the actor, paste this into the input, and press Run. It returns u/spez's recent posts and comments.
{"usernames": ["spez"],"withDetails": true,"mode": "overview","maxPostsPerUser": 25,"maxCommentsPerUser": 25,"sort": "new"}
Add more usernames to usernames to research many accounts in one run. Set withDetails to false for a fast, profile-only run, or set mode to submitted or comments to pull only one activity type.
Input reference
Every field is optional. With an empty input the actor looks up the default username.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
usernames | string[] | no | ["spez"] | Reddit usernames to scrape. Enter with or without the u/ prefix, or paste full profile URLs. |
withDetails | boolean | no | true | When enabled, each user record is enriched with their recent posts and comments. Disable for a faster, profile-only run. |
mode | enum | no | overview | Which activity to pull: overview (posts and comments), submitted (posts only), comments (comments only). |
maxPostsPerUser | integer | no | 25 | Maximum recent posts per user. 0 skips posts. |
maxCommentsPerUser | integer | no | 25 | Maximum recent comments per user. 0 skips comments. |
sort | enum | no | new | Sort order for the activity feeds: new, hot, top, controversial. |
Output reference
One dataset item per user. Types: string, boolean, string[], object[], or null when the value is absent or not exposed by the public feeds.
| Field | Type | Description |
|---|---|---|
username | string | The resolved Reddit username. |
profileUrl | string | Full URL of the user's public profile. |
description | string | null | The account's public tagline/description. |
iconImg | string | null | Avatar URL when the account uses a custom one. |
postKarma, commentKarma, totalKarma | null | Karma. Not exposed by the public feeds (Reddit gated API only). |
accountCreated, cakeDay | null | Account age. Not exposed by the public feeds. |
isGold, isEmployee, isMod, isVerified | null | Account flags. Not exposed by the public feeds. |
trophies | null | Trophy case. Not exposed by the public feeds. |
numPostsFetched | integer | Number of posts included in recentPosts. |
numCommentsFetched | integer | Number of comments included in recentComments. |
recentPosts | object[] | null | The user's recent posts (fields below). Present when the mode includes posts. |
recentComments | object[] | null | The user's recent comments (fields below). Present when the mode includes comments. |
transport | string | Data source marker (rss). |
observedAt | string | ISO 8601 timestamp of collection. |
error | string | null on success. On a failed lookup a single item with a populated error and the username is written instead, and it is not billed. |
Each object in recentPosts contains: id, fullname, title, url, permalink, subreddit, subredditPrefixed, selftext, contentHtml, thumbnail, domain, isSelf, isVideo, mediaUrls, galleryImageUrls, edited, editedAt, createdAt, updatedAt, plus score, upvoteRatio, numComments, totalAwards, linkFlairText, isNsfw, isSpoiler, isOriginalContent, isPinned, isLocked (these last ten are null, not exposed by the public feeds).
Each object in recentComments contains: id, fullname, body, contentHtml, subreddit, subredditPrefixed, linkTitle (the title of the post the comment is on), linkPermalink, permalink, edited, editedAt, createdAt, updatedAt, plus score, totalAwards, isSubmitter (these three are null, not exposed by the public feeds).
How this compares
Honest comparison. Browser or official-API based scrapers can read Reddit's logged-in fields and so return live karma and vote scores that the public HTTP feeds do not expose. This actor trades those metrics for speed, no API key, no login, and clean multi-user output.
| Capability | This actor | Typical Reddit user scrapers |
|---|---|---|
| Scrape by username | Yes | Some (many require a full profile URL) |
| Multiple users per run | Yes, unlimited on paid plans | Often one user per run |
| Accepts full profile URLs | Yes | Yes |
| Overview / submitted / comments modes | Yes | Some |
| Recent posts with self text and HTML | Yes | Yes |
| Recent comments with parent post title and link | Yes | Yes |
| Reddit-hosted media and gallery images | Yes | Some |
| One combined record per user | Yes | Often a flat post/comment stream |
| Profile tagline / description | Yes | Some |
| No API key or login required | Yes | Varies |
| Karma (post / comment / total) | No (null) | Yes (browser/API) |
| Cake day, trophies, account flags | No (null) | Yes (browser/API) |
| Per-post score, upvote ratio, comment count, awards | No (null) | Yes (browser/API) |
| JSON, CSV and Excel export | Yes | Yes |
If your workflow depends on live karma and vote scores, choose a browser or API based tool. If you need fast, key-free access to what users are actually posting and commenting, at scale, this actor is a strong fit.
Run via API and CLI
Start a run and read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~reddit-user-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"usernames":["spez"],"withDetails":true,"mode":"overview","maxPostsPerUser":25,"maxCommentsPerUser":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~reddit-user-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"usernames":["spez","GovSchwarzenegger"],"withDetails":false}'
Apify CLI:
apify call scrapers_lat/reddit-user-scraper \--input '{"usernames":["spez"],"mode":"submitted","sort":"top","maxPostsPerUser":10}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Nested arrays (recentPosts, recentComments) flatten into indexed columns in CSV and Excel.
Billing and limits
- Pay per result. You are charged per user record returned. A profile-only record (
withDetailsoff) is charged as aresultevent; a record enriched with recent posts and comments is charged as adetailsevent. See the pricing tab for current prices. - No charge on failure. If a username cannot be resolved, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable records. - Free Apify plans are capped at 10 users per run. Upgrade for more.
- Turn off enrichment to save. Set
withDetailstofalsefor profile-only records charged at the lowerresultrate.
FAQ and troubleshooting
Do I need a Reddit API key or login? No. The actor reads Reddit's public user feeds over HTTP. There is nothing to authenticate.
Why are karma, cake day and post scores null?
Those metrics are only served by Reddit's logged-in API, which now blocks anonymous access. Rather than fake them, the actor returns null. See What you can and cannot get. For live karma and scores, use a browser or API based scraper.
A user returned an error. Why?
The username does not exist, was suspended, or the account is deleted or private. The actor writes a single item with a populated error field and does not charge for it.
How do I research several users at once?
Add each username (or profile URL) to usernames. The actor writes one record per user, up to the free-plan cap of 10 per run on free accounts.
How do I get only posts, or only comments?
Set mode to submitted for posts only or comments for comments only. Use overview for both.
Why is url different from permalink on some posts?
For link posts, url is the outbound link and permalink is the Reddit discussion page. For self (text) posts, both point at the Reddit post.
Is this an official Reddit tool? No. This actor is independent and has no affiliation with Reddit. It reads only data that is publicly available on Reddit. Use it in accordance with Reddit's terms.
Related scrapers
- Reddit Posts and Comments Scraper: subreddit feeds, search and full text.
- Reddit Keyword Search and Mentions Scraper: Reddit search results and mention tracking.
- Reddit Trending Scraper: trending posts from r/popular and r/all.
- GitHub Contributor Contacts Scraper: contributors and public contact details.
- Hacker News Scraper: Hacker News stories, comments and points.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for public platforms: social media, company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Reddit. Accesses only publicly available Reddit data. Use in accordance with Reddit's terms.
