Reddit Scraper
Pricing
from $1.00 / 1,000 results
Reddit Scraper
[๐ฐ $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
(1)
Developer
SolidCode
Actor stats
0
Bookmarked
7
Total users
4
Monthly active users
a day 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
- 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
- 20 inputs, 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}
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/"],"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 | true | When off, posts and subreddits flagged as over-18 are filtered out. |
postDateLimit | string | Earliest post date in YYYY-MM-DD format. Only posts on or after this date are kept. | |
commentDateLimit | string | Earliest comment date in YYYY-MM-DD format. Older comments are dropped. |
What to Extract
| Parameter | Type | Default | Description |
|---|---|---|---|
skipComments | boolean | false | When scraping a post (via URL or search), skip its comment tree and keep only the post metadata. |
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. Use 0 for unlimited. |
maxComments | integer | 100 | Maximum comments to fetch from each post. Use 0 to fetch the entire comment tree. |
maxCommentDepth | integer | 10 | Maximum nesting depth when walking a comment tree (0 = top-level only). |
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. - Per-listing cap is ~1,000 items. Reddit's pagination tops out at roughly 1,000 entries per source (subreddit, search, or user). To go deeper, use multiple sorts or narrower date windows.
- 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 on by default. Toggle
includeNSFWoff if you need a strictly safe-for-work dataset.
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.