Reddit Scraper
Under maintenancePricing
Pay per usage
Reddit Scraper
Under maintenanceScrape Reddit posts, comments, users, and subreddits without login. Native nested comment trees, accurate in-subreddit search, fast direct JSON API. First 100 results free.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Silver
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape Reddit posts, comments, users, and subreddits in a single dataset. Built directly on Reddit's .json API — no headless browser, no login, no surprises.
✅ Posts, comments, users, subreddits — one clean dataset, type field discriminates rows
✅ Native nested comment trees — replies[] filled in, not flat with parent_id
✅ Accurate in-subreddit search — uses restrict_sr=on for scoped, relevant results
✅ Per-source diagnostics — clear summary at end of run explains exactly what each input produced
✅ First 100 results free — no credit card needed
What you can scrape
Drop in any combination of:
- Subreddit URLs (
reddit.com/r/python/,reddit.com/r/python/top/) → posts - Post URLs (
reddit.com/r/python/comments/abc/...) → post + full comment tree (optionally nested) - User URLs (
reddit.com/user/spez) → user profile + their submissions - Search queries scoped to a subreddit → relevant posts only
Every result lands in your dataset as one flat JSON record with a type field (post, comment, user, subreddit).
Quick start
Scrape a subreddit's hot posts
{"startUrls": ["https://www.reddit.com/r/python/"],"maxItems": 100,"sort": "hot"}
Scrape a post with its full nested comment tree
{"startUrls": ["https://www.reddit.com/r/python/comments/1t3x7ba/..."],"includeComments": true,"nestedComments": true,"maxCommentsPerPost": 200}
Search relevant posts inside a community
{"searches": ["pytest fixtures"],"searchSubreddit": "python","sort": "relevance","maxItems": 50}
Scrape a user's recent activity
{"startUrls": ["https://www.reddit.com/user/spez/"],"maxPostsPerSource": 25}
Pricing
| Per actor run | $0.001 |
| Per dataset item | $0.00349 ($3.49 / 1,000) |
| Free trial | first 100 results |
Set maxItems on any run to cap your spend. The actor stops the moment that limit is reached.
Output schema
Every dataset item has a type discriminator: post, comment, user, subreddit.
type: "post"
| Field | Notes |
|---|---|
id, permalink, url, subreddit, subreddit_id | Reddit identifiers |
author, author_id, author_flair | Poster info — author_id is t2_xxx |
title, text | text is selftext, may be empty for link posts |
created_utc | Unix seconds (not ISO string — easier to filter in code) |
score, upvote_ratio, num_comments | Engagement |
over_18, spoiler, stickied, locked, is_video, is_ad | Flags |
flair | Post flair text |
media[] | Structured `{type: image |
type: "comment"
| Field | Notes |
|---|---|
id, permalink, post_id, parent_id, subreddit | IDs |
author, body | |
score, created_utc, is_submitter, depth | |
replies[] | Nested children when nestedComments=true, else [] |
type: "user"
| Field | Notes |
|---|---|
name, id | Username + Reddit's internal ID |
link_karma, comment_karma, total_karma | |
created_utc | Unix seconds, account creation |
is_employee, verified, has_verified_email, is_mod | Flags |
icon_img | Avatar URL |
FAQ
Do I need a Reddit account? No. All endpoints used are public.
Will my IP / Apify account get banned? No. We don't post anything, don't authenticate, and stay well under Reddit's rate-limits. Apify's residential proxies (default) are rotated per run.
What's the difference between flat and nested comments? With nestedComments: false (default) every comment is a separate dataset row, linked by parent_id. With nestedComments: true each top-level comment includes its replies inline as a replies[] array.
Can I limit by date? Yes — set postsAfter to YYYY-MM-DD (UTC). Posts older than that are skipped.
My run returned 0 items — why? Check the run log. The actor emits an end-of-run summary listing every source URL with one of: OK, not_found (private/banned subreddit), blocked (rare), or error. If you used searches, set searchSubreddit to scope it — Reddit's global search is noisy.
Can I use my own proxy? Yes — pass it under proxy.proxyUrls. Apify's residential proxies (the default) are recommended; datacenter IPs are blocked by Reddit.
Need a more focused tool?
These specialized actors share the same engine but have simpler input forms:
- Reddit Comments Scraper — post URLs in, full nested trees out (6 input fields)
- Reddit User Scraper — usernames in, profile + activity out (4 input fields)
- Reddit Search Scraper — keyword + community in, relevant posts out (8 input fields)
Changelog
0.4.0
- Cleaner schema: 4 specialized actors share this engine
- Added
author_id,author_flair,is_adto post output - End-of-run summary explains exactly what each source produced
- Input validation catches non-Reddit URLs before consuming budget
0.1.0 — Initial release
- Direct
.jsonAPI (no headless) - 4 modes: subreddit, post+comments, user, search
- Native nested-comments mode
- Firefox TLS fingerprint with fallback ladder
restrict_sr=onfor accurate in-subreddit search