Reddit Scraper
Pricing
from $1.00 / 1,000 results
Reddit Scraper
Rising star[๐ฐ $1.0 / 1K] Extract posts, comments, users, and subreddits from Reddit. Provide subreddit names, search queries, or paste Reddit URLs (post / subreddit / user / search) โ mix and match. Returns one row per record with a recordType discriminator.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(2)
Developer
SolidCode
Maintained by CommunityActor stats
4
Bookmarked
199
Total users
103
Monthly active users
6.1 hours
Issues response
3 hours ago
Last modified
Categories
Share
Extract posts, comments, users, and entire subreddits from Reddit in one run. Mix any combination of subreddit names, search keywords, and direct Reddit URLs โ every row is tagged with a recordType so you can filter posts, comments, users, and communities in a single dataset.
Why This Scraper?
- Four record types in one run โ posts, comments, users, and subreddits, each with rich metadata
- Mix and match sources โ feed it subreddit names, search keywords, and full Reddit URLs (post links, user profiles, search URLs) in any combination
- Full history, beyond the first 1,000 โ scrape any named community by
Newand page thousands of posts deep, well past Reddit's standard ~1,000-per-feed limit, in unbroken newest-to-oldest order. The same depth applies to any user's posts and comments - Deep comment trees โ walk every reply branch, with knobs for maximum comments per post and nesting depth
- Date cutoffs โ scrape only posts or comments after a given date (great for daily refreshes)
- NSFW toggle โ keep or filter over-18 content
- Sensible defaults โ works out of the box with zero configuration, but every knob is exposed
- Pay only for results โ no compute charges, no proxy bills, no surprises
- Reliable JSON output โ every row uses stable, camelCase field names you can pipe straight into a database
Use Cases
Market Research & Competitive Intelligence
- Track conversation volume around a brand, product, or competitor across communities
- Monitor sentiment in niche subreddits before launching a product
- Discover trending topics and rising subreddits by category
Lead Generation & Audience Building
- Find users asking buying-intent questions in your industry
- Build prospect lists from active contributors in target communities
- Identify niche influencers ranked by karma and engagement
Brand Monitoring & PR
- Catch mentions of your brand or product in real time using keyword searches
- Pull entire comment threads from posts that mention you
- Track sentiment and response rates over weeks or months
Academic Research & Data Science
- Build labeled datasets for natural-language processing or sentiment models
- Study community dynamics, moderation, and user behavior at scale
- Capture longitudinal snapshots of subreddits with date cutoffs
Content & SEO
- Discover the most-asked questions in any niche
- Mine high-engagement post titles for content ideas
- Track which external links perform best in target communities
Getting Started
Scrape posts from a subreddit
The simplest possible run โ pull the latest 100 posts from r/programming:
{"subreddits": ["programming"],"sort": "new","maxItems": 100}
Pull a community's full history
Point at a specific subreddit name (not the popular/all aggregators), sort by New, and set a high maxItems to page far past Reddit's standard ~1,000-per-feed limit โ newest to oldest, with no duplicates:
{"subreddits": ["worldnews"],"sort": "new","maxItems": 10000,"skipComments": true}
Search across Reddit
Find the top posts of the past month matching a keyword:
{"searches": ["best espresso machine"],"searchPosts": true,"sort": "top","time": "month","maxItems": 200}
Get every comment on a specific post
Paste any Reddit post URL โ the actor pulls the post and walks the full comment tree:
{"startUrls": ["https://www.reddit.com/r/AskReddit/comments/1abc234/whats_your_favourite_book/"],"skipComments": false,"maxComments": 500,"maxCommentDepth": 10}
Scrape a user's posts and comments
Pull a user's profile, every post they've submitted, and every comment they've made:
{"startUrls": ["https://www.reddit.com/user/spez/"],"sort": "new","maxItems": 1000}
Daily refresh of a subreddit
Combine a subreddit source with a date cutoff to grab only what's new since yesterday:
{"subreddits": ["wallstreetbets"],"sort": "new","postDateLimit": "2025-04-24","skipComments": true,"maxItems": 0}
Input Reference
Sources
| Parameter | Type | Default | Description |
|---|---|---|---|
subreddits | string[] | ["popular"] | Subreddit names to scrape (the r/ prefix is optional). Each subreddit is fetched independently. |
searches | string[] | [] | Keywords to search across Reddit. Each keyword runs as its own query. |
startUrls | URL[] | [] | Reddit URLs to scrape directly โ accepts subreddit, post, user-profile, and search URLs. Mix any types. |
Search Options
| Parameter | Type | Default | Description |
|---|---|---|---|
searchCommunityName | string | Restrict every search keyword to a single subreddit (e.g. programming). Leave empty to search all of Reddit. | |
searchPosts | boolean | true | Include matching posts in keyword search results. |
searchComments | boolean | false | Include matching comments in keyword search results (see Tips โ Reddit's comment-search index is limited). |
searchCommunities | boolean | false | Include matching subreddits in keyword search results. |
searchUsers | boolean | false | Include matching user profiles in keyword search results. |
Sort & Filter
| Parameter | Type | Default | Description |
|---|---|---|---|
sort | string | "new" | Result ordering: New, Hot, Top, Rising, Most comments, or Relevance (search only). |
time | string | "all" | Date window for Top sort and keyword searches: All time, Past hour, Past 24 hours, Past week, Past month, Past year. |
includeNSFW | boolean | false | When off (the default), posts and subreddits flagged as over-18 are filtered out. Turn on to keep adult-tagged content. |
postDateLimit | string | Earliest post date. Accepts a calendar date (2025-04-01), an ISO timestamp (2025-04-01T12:00:00Z), or a relative value (7d, 2 weeks, 48 hours, 1 month). Only posts on or after this point are kept; when sort=new, pagination stops as soon as older posts are reached. | |
commentDateLimit | string | Earliest comment date. Accepts a calendar date, an ISO timestamp, or a relative value (7d, 2 weeks, 48 hours). Older comments are dropped. |
What to Extract
| Parameter | Type | Default | Description |
|---|---|---|---|
skipComments | boolean | true | When scraping a post (via URL or search), skip its comment tree and keep only the post metadata. On by default to keep runs fast โ turn off to also fetch each post's comment thread (this multiplies request count and runtime). |
skipUserPosts | boolean | false | When scraping a user profile, skip their submitted posts. |
skipUserComments | boolean | false | When scraping a user profile, skip their comments. |
skipCommunityInfo | boolean | false | When scraping a subreddit, omit the metadata row (member count, description) and emit only the posts. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems | integer | 100 | Cap on total rows in the output dataset across every source. Use 0 for truly unlimited โ keeps paging until each source's full history is exhausted (expect large datasets and longer runs). A named subreddit or user sorted by New returns full history well beyond 1,000 โ to reach high targets, name specific communities and sort by New (the popular/all aggregators and keyword searches stay capped at ~1,000). |
maxComments | integer | 100 | Maximum comments to fetch from each post. Use 0 to fetch the entire comment tree (hard upper bound 1,000). |
maxCommentDepth | integer | 10 | Maximum nesting depth when walking a comment tree (0 = top-level only, hard upper bound 20). |
Output
Every record carries a recordType field โ post, comment, user, or subreddit โ so you can filter the dataset down to just what you need.
Post
{"recordType": "post","id": "1abc234","fullId": "t3_1abc234","url": "https://www.reddit.com/r/programming/comments/1abc234/rust_2025_release/","createdAt": "2025-04-20T14:32:11Z","scrapedAt": "2025-04-25T09:01:42Z","sourceQuery": "r/programming","title": "Rust 2025 release notes","text": "The Rust team just announced...","subreddit": "programming","author": "rustacean99","score": 4321,"upvoteRatio": 0.97,"numComments": 412,"permalink": "/r/programming/comments/1abc234/rust_2025_release/","linkUrl": "https://blog.rust-lang.org/2025/04/20/Rust-2025.html","domain": "blog.rust-lang.org","flair": "News","isNsfw": false,"isSpoiler": false,"isStickied": false,"isLocked": false,"isVideo": false,"thumbnail": "https://b.thumbs.redditmedia.com/abc.jpg"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "post" |
id | string | Reddit short ID |
fullId | string | Reddit fullname (t3_<id>) |
url | string | Public Reddit URL |
createdAt | string | ISO-8601 timestamp |
scrapedAt | string | ISO-8601 timestamp of extraction |
sourceQuery | string | Which input source produced this row |
title | string | Post title |
text | string | Self-text body (when present) |
subreddit | string | Subreddit name |
author | string | Username of the poster |
score | number | Net upvotes |
upvoteRatio | number | Upvote ratio (0.0โ1.0) |
numComments | number | Total comment count |
permalink | string | Path on reddit.com |
linkUrl | string | Outbound link for link posts |
domain | string | Hostname of the linked URL |
flair | string | Post flair text |
isNsfw | boolean | Marked over-18 |
isSpoiler | boolean | Marked as spoiler |
isStickied | boolean | Pinned to subreddit |
isLocked | boolean | Comments locked |
isVideo | boolean | Native Reddit video |
media | object | Media payload (video, gallery, or preview) |
thumbnail | string | Thumbnail image URL |
Comment
{"recordType": "comment","id": "k9j2x4","fullId": "t1_k9j2x4","url": "https://www.reddit.com/r/programming/comments/1abc234/_/k9j2x4/","createdAt": "2025-04-20T15:11:08Z","scrapedAt": "2025-04-25T09:01:42Z","sourceQuery": "r/programming","body": "This is huge for the embedded space.","author": "embeddev","score": 187,"subreddit": "programming","postId": "t3_1abc234","postTitle": "Rust 2025 release notes","parentId": "t3_1abc234","depth": 0,"isStickied": false,"isSubmitter": false,"flair": "Senior Engineer"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "comment" |
id | string | Reddit short ID |
fullId | string | Reddit fullname (t1_<id>) |
url | string | Direct link to the comment |
createdAt | string | ISO-8601 timestamp |
scrapedAt | string | ISO-8601 timestamp of extraction |
sourceQuery | string | Which input source produced this row |
body | string | Comment text |
author | string | Comment author username |
score | number | Net upvotes |
subreddit | string | Subreddit name |
postId | string | Parent post fullname |
postTitle | string | Parent post title |
parentId | string | Parent comment or post fullname |
depth | number | Nesting depth (0 = top-level) |
permalink | string | Path on reddit.com |
isStickied | boolean | Pinned to top of thread |
isSubmitter | boolean | Author is the original poster |
flair | string | Author flair text |
User
{"recordType": "user","id": "abc123","fullId": "t2_abc123","url": "https://www.reddit.com/user/rustacean99/","createdAt": "2014-08-12T03:22:55Z","scrapedAt": "2025-04-25T09:01:42Z","sourceQuery": "u/rustacean99","username": "rustacean99","displayName": "Rust Enthusiast","linkKarma": 28412,"commentKarma": 91204,"totalKarma": 119616,"isGold": true,"isMod": false,"verified": true,"description": "Open-source contributor. Rust, embedded, systems.","iconUrl": "https://styles.redditmedia.com/abc.png","bannerUrl": "https://styles.redditmedia.com/banner.jpg"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "user" |
id | string | Reddit short ID |
fullId | string | Reddit fullname (t2_<id>) |
url | string | Public profile URL |
createdAt | string | Account creation timestamp |
scrapedAt | string | ISO-8601 timestamp of extraction |
sourceQuery | string | Which input source produced this row |
username | string | Reddit username |
displayName | string | Profile display name |
linkKarma | number | Post karma |
commentKarma | number | Comment karma |
totalKarma | number | Combined karma |
isGold | boolean | Premium subscriber |
isMod | boolean | Moderates one or more subreddits |
verified | boolean | Email-verified account |
description | string | Profile bio |
iconUrl | string | Avatar image URL |
bannerUrl | string | Profile banner URL |
Subreddit
{"recordType": "subreddit","id": "2qh16","fullId": "t5_2qh16","url": "https://www.reddit.com/r/programming/","createdAt": "2008-01-25T03:00:24Z","scrapedAt": "2025-04-25T09:01:42Z","sourceQuery": "r/programming","name": "programming","displayName": "r/programming","title": "Computer Programming","publicDescription": "Computer Programming","subscribers": 6342118,"activeUsers": 2841,"isNsfw": false,"lang": "en","iconUrl": "https://styles.redditmedia.com/community.png","bannerUrl": "https://styles.redditmedia.com/banner.jpg"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "subreddit" |
id | string | Reddit short ID |
fullId | string | Reddit fullname (t5_<id>) |
url | string | Public subreddit URL |
createdAt | string | Subreddit creation timestamp |
scrapedAt | string | ISO-8601 timestamp of extraction |
sourceQuery | string | Which input source produced this row |
name | string | Subreddit name without prefix |
displayName | string | Display name with r/ prefix |
title | string | Full title |
description | string | Long-form description (markdown) |
publicDescription | string | Short tagline |
subscribers | number | Member count |
activeUsers | number | Currently online members |
isNsfw | boolean | Over-18 community |
lang | string | Primary language code |
iconUrl | string | Community icon URL |
bannerUrl | string | Community banner URL |
Tips for Best Results
- Comment search returns recent posts, not standalone comments. Reddit's public comment-search index has been limited since 2021, so the
Search returns commentstoggle may return zero rows for many queries. To find comments containing a keyword reliably, search for posts and let the actor walk each post's comment tree. - Named communities go far past 1,000 โ aggregators don't. A specific subreddit (e.g.
worldnews) sorted byNewreturns its full history, tens of thousands of posts deep in exact newest-to-oldest order, and the same goes for any user's posts and comments. Thepopularandallfeeds are aggregators that genuinely cap at ~1,000 โ name the communities you care about to go deeper. (Keyword searches are also capped at ~1,000.) - Very old posts show historical vote counts. Scores and comment counts on deep-history posts reflect a snapshot from close to when they were first published, so they can read lower than today's live totals. The most recent results always carry live numbers.
- Use
sort: "new"withpostDateLimitfor clean refreshes. With this combination the actor stops paginating as soon as it hits the cutoff date โ no wasted requests. - Set
maxComments: 0only when you really need every reply. Popular AskReddit threads can have 50,000+ comments; capping at a few hundred is usually plenty. - Mix sources in one run. Combine
subreddits,searches, andstartUrlsin a single input to consolidate data into one dataset and pay one bill. - NSFW is filtered out by default. Over-18 posts and subreddits are dropped unless you turn
includeNSFWon.
Pricing
$1.00 per 1,000 results โ pay only for the rows you receive.
| Results | Cost |
|---|---|
| 100 | $0.10 |
| 1,000 | $1.00 |
| 10,000 | $10.00 |
No compute charges โ you only pay per result returned. Storage, proxies, and platform fees are included.
Integrations
Export results in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps:
- Apify API โ Full programmatic access to runs and datasets
- Webhooks โ Get notified the moment a run completes
- Google Sheets โ Direct spreadsheet export
- Zapier / Make / n8n โ Workflow automation across thousands of apps
- Slack / Email โ Notifications on new results
Legal & Ethical Use
This actor extracts publicly available information from Reddit for legitimate research, monitoring, and analytics purposes. You are responsible for complying with Reddit's Terms of Service, the Reddit User Agreement, and all applicable laws including the GDPR, CCPA, and other privacy regulations.
Do not use the extracted data for spam, harassment, doxxing, training models that violate Reddit's policies, or any unlawful purpose. Avoid collecting personal data on private individuals, and respect any user who has requested removal of their content. When in doubt, treat the data the same way Reddit's own product would.