๐ฝ Reddit Post & Subreddit Extractora
Pricing
from $3.50 / 1,000 results
๐ฝ Reddit Post & Subreddit Extractora
Scrape Reddit posts, comments, communities and user profiles by keyword, URL or full subreddit โ no API key, no login. Date, flair and NSFW filters, built-in engagement metrics, five ready-made views, every item streamed live to your dataset.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Reddit Post & Subreddit Extractor is an Apify Actor and reddit subreddit scraper that collects posts, comments, communities and user profiles from Reddit by keyword, link or whole subreddit, with no API key and no login. Every result is saved to your dataset as soon as it is ready and exports to JSON, CSV or Excel. Pay per result: $3.50 per 1,000 results on the Gold plan and $5.00 on the Free plan. ๐ Try it free
What can Reddit Post & Subreddit Extractor do?
- ๐ Three ways to start - run a keyword search, paste Reddit links, or collect a whole subreddit with the Full Subreddit Scrape field.
- ๐ Posts, comments, communities and users - one reddit posts and comments scraper for four result types.
- ๐ฏ Filters before saving - narrow reddit posts by date range, keep only posts with a flair, and decide whether NSFW posts are included.
- ๐ Built-in engagement metrics - age in hours, score per hour and a high-engagement flag on every post.
- โก Live results - each row is pushed to the dataset while the run is still going.
- ๐ No API key, no login - a reddit scraper without login that reads public pages only.
- ๐ Platform tools - schedule runs, call the Actor through the Apify API, use webhooks and connect integrations.
What data can I extract from Reddit?
Every row has a dataType of post, comment, community or user, so mixed exports are easy to split.
| Type | Fields |
|---|---|
| ๐ Post: content | id, parsedId, title, body, bodyHtml, postType, mediaType, flair, postUrl, url, contentUrl, urlOverriddenByDest, domain, outboundUrlHost, thumbnail, images |
| ๐ค Post: author and community | authorId, parsedAuthorId, authorName, authorFlairText, authorPremium, communityName, communityId, parsedCommunityId, parsedCommunityName, subredditName, subredditId, parsedSubredditId, subredditSubscribers |
| ๐ผ Post: votes and flags | score, upVotes, upvoteRatio, commentsCount, nsfw, over18, isSelf, spoiler, locked, stickied, edited, editedAt, distinguished, scoreHidden, isOriginalContent, isRobotIndexable, numCrossposts, numDuplicates, totalAwardsReceived, gilded |
| ๐ท Post: media | hasMedia, isVideo, isGallery, galleryCount, galleryImages, mediaAssets, videoUrl, media, secureMedia, mediaMetadata, galleryData |
| ๐ฉ Post: moderation | removedByCategory, removedBy, bannedBy, removalReason, modReasonTitle |
| ๐ Post: engagement metrics | ageHours, scorePerHour, commentsPerHour, engagementTotal, commentToScoreRatio, isHighEngagement, titleLength, bodyLength, wordCount |
| ๐ฌ Comment | id, parsedId, postId, parentId, linkId, depth, body, bodyHtml, authorId, authorName, communityName, subredditId, score, scoreHidden, controversiality, ups, downs, gilded, totalAwardsReceived, edited, isSubmitter, stickied, distinguished, locked, collapsed, collapsedReason, permalink, removalReason |
| ๐ Community | id, parsedId, name, namePrefixed, title, description, descriptionHtml, publicDescription, subscribers, activeUserCount, over18, lang, subredditType, communityIcon, bannerImg, headerImg, keyColor, primaryColor, submitText, submissionType, linkFlairEnabled, allowImages, allowVideos, allowGalleries, allowPolls, wikiEnabled, quarantine, restrictPosting, restrictCommenting, advertiserCategory, communityReviewed |
| ๐ง User | id, parsedId, username, commentKarma, linkKarma, awardeeKarma, awarderKarma, totalKarma, isGold, isMod, isEmployee, isBlocked, verified, hasVerifiedEmail, hasSubscribed, acceptFollowers, acceptChats, acceptPms, iconImg, snoovatarImg, subredditDisplayName, subredditTitle, subredditSubscribers, subredditPublicDescription |
| ๐ All types | createdAt, crawledAt, dataSource; searchTerm on posts, comments and communities (empty unless the row came from a search) |
Some values can be empty because Reddit does not publish every value for every item, and the dataSource field labels each row. The Actor reads public data only, so content that needs a login is not collected.
What can you do with the data from Reddit?
๐ง Reddit sentiment analysis data and post sentiment dataset
- Enter your topic in
searchTermsand setsearchSorttonew. - Turn on
crawlCommentsPerPostand setmaxCommentsPerPost. - Export the rows and score the
bodytext in your own tool.
๐ฃ Reddit social listening and competitor monitoring
- Add a brand or product name to
searchTerms. - Set
searchTimetoweekand run it on a schedule. - Compare
score,commentsCountandisHighEngagementbetween runs.
๐ Reddit market research and voice of customer research
- Add a subreddit to
subredditUrlsand raisemaxPostsCount. - Set
postedAfterandpostedBeforefor the period you study. - Read
title,bodyandflairto see what customers ask for.
๐ Reddit academic research dataset and subreddit analysis
- Put the communities you study into
subredditUrls. - Fix the period with
postedAfterandpostedBefore. - Use
subscribersandactiveUserCountfrom community rows to describe each community.
๐ค Reddit data for LLM training and reddit data for RAG
- Collect posts and comments with
crawlCommentsPerPostenabled. - Export JSON and keep
body,parentIdanddepthfor comment thread data. - Load the file into your data pipeline.
How do I use Reddit Post & Subreddit Extractor?
- Open Reddit Post & Subreddit Extractor on Apify and click Try for free.
- Add keywords to Search terms, links to Reddit URLs, or names to Subreddits to scrape in full.
- Set Max posts to the number of posts you want per search term, URL or subreddit.
- Add a date range, flair or NSFW setting if you need one.
- Turn on Scrape comments for each post if you want comment rows.
- Click Start and wait for the run to finish.
- Open the Dataset tab, pick a view and export as JSON, CSV or Excel.
How much does it cost to scrape Reddit?
The Actor uses pay-per-event pricing: you pay for each result saved to the dataset, whether it is a post, comment, community or user row. Apify platform usage is billed in addition. The price per result depends on your Apify plan.
| Plan | Price per result | Per 1,000 results |
|---|---|---|
| ๐ Free | $0.005 | $5.00 |
| ๐ฅ Bronze | $0.0045 | $4.50 |
| ๐ฅ Silver | $0.004 | $4.00 |
| ๐ฅ Gold, Platinum and Diamond | $0.0035 | $3.50 |
Each run also has an Actor start event of $0.00005 per GB of memory, with a minimum of one event. This Actor's default memory is 1024 MB (1 GB), so one start event applies: $0.00005.
Worked example: 2,000 results on the Silver plan cost 2,000 x $0.004 = $8.00, plus the $0.00005 start event and Apify platform usage.
Is scraping Reddit free?
Every saved result is charged at the price for your plan, starting at $0.005 per result on the Free plan. To test the Actor, keep Max posts small: the default of 10 posts costs $0.05 on the Free plan. Apify platform usage is billed in addition to the result price.
How much does Reddit Post & Subreddit Extractor cost per 1,000 results?
It costs $5.00 per 1,000 results on the Free plan, $4.50 on Bronze, $4.00 on Silver and $3.50 on Gold, Platinum and Diamond. A result is one saved row of any type, so 1,000 comments cost the same as 1,000 posts. You can also set a maximum spend per run in Apify.
Input
Choose at least one of Search terms, Reddit URLs or Subreddits to scrape in full. No field is required by the schema, but a run with none of the three stops with a message and saves nothing. Use the Apify input form or send the JSON below through the API.
Keyword search
Use this mode to scrape reddit by keyword: each term runs as its own search with its own limits.
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
searchTerms | array of strings | No | Keywords to search. Each term is a separate search. | ["artificial intelligence"] |
searchPosts | boolean | No | Include posts in the results. | true |
searchComments | boolean | No | Include comments that match the term. | false |
searchCommunities | boolean | No | Include matching communities (subreddits). | false |
withinCommunity | string | No | Limit the search to one subreddit. Accepts developers, r/developers or a full subreddit URL. | empty (all of Reddit) |
searchSort | string | No | One of relevance, hot, top, new, comments. | new |
searchTime | string | No | One of all, hour, day, week, month, year. | all |
maxCommentsCount | integer | No | Maximum comments returned by comment search. Minimum 0. | 10 |
maxCommunitiesCount | integer | No | Maximum communities returned by community search. Minimum 0. | 2 |
Reddit URLs and full subreddit
Use this mode to scrape reddit search results, posts, subreddits and profiles from links.
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
startUrls | array of URLs | No | Post, subreddit, user profile and search-result URLs. Bulk input is supported. | [{"url": "https://www.reddit.com/r/technology/"}] |
subredditUrls | array of strings | No | Subreddit names or links to collect in full, such as AskReddit, r/AskReddit or a subreddit URL. Uses more requests, so raise Max posts. | empty |
Filters, comments and limits
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
postedAfter | string (date) | No | Keep posts created on or after this date (00:00 UTC). When set, results are fetched newest first and searchTime is ignored. | 2026-01-01 |
postedBefore | string (date) | No | Keep posts created on or before this date (23:59:59 UTC). | 2026-06-30 |
commentedAfter | string (date) | No | Keep comments created on or after this date (UTC). | empty |
commentedBefore | string (date) | No | Keep comments created on or before this date (UTC). | empty |
onlyWithFlair | boolean | No | Drop posts that have no flair. | false |
includeNSFW | boolean | No | Include posts marked NSFW (18+). | false |
crawlCommentsPerPost | boolean | No | Collect comments for every post found. This increases run time and data. | false |
maxCommentsPerPost | integer | No | Maximum comments per post when comment collection is on. Range 0 to 500. | 10 |
maxPostsCount | integer | No | Maximum posts saved per search term, URL or subreddit. Range 0 to 50,000. | 10 |
Network and pacing
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
proxyConfiguration | object | No | Network settings for the run. Leave the default unless you need your own. | Preselected in the form |
postConcurrency | integer | No | How many posts' comment threads are fetched at the same time. Range 1 to 10. | 3 |
maxRetries | integer | No | Retries for a failed request. Range 1 to 10. | 3 |
requestDelayMin | number | No | Minimum delay between requests in seconds. Range 0 to 10. | 1.0 |
requestDelayMax | number | No | Maximum delay between requests in seconds. Range 0 to 15. | 2.5 |
Input example
{"searchTerms": ["artificial intelligence"],"searchPosts": true,"searchComments": false,"searchCommunities": false,"searchSort": "new","searchTime": "month","startUrls": [{ "url": "https://www.reddit.com/r/technology/" }],"postedAfter": "2026-09-01","includeNSFW": false,"crawlCommentsPerPost": true,"maxCommentsPerPost": 10,"maxPostsCount": 50}
Output
Results go to the default Apify dataset, with five views in the Output tab: Overview, Posts, Comments, Communities and Users. Export the dataset as JSON, CSV, Excel, XML or HTML from the Dataset tab or through the API, so you can export reddit comments to csv or keep reddit comments to json. Each run also saves a run-summary record in the key-value store.
Post
{"dataType": "post","id": "t3_abc123","parsedId": "abc123","title": "Sample post title","body": "Sample post text.","bodyHtml": null,"authorId": "t2_xyz789","parsedAuthorId": "xyz789","authorName": "example_user","communityName": "r/example","communityId": "t5_2abcd","parsedCommunityId": "2abcd","parsedCommunityName": "example","subredditName": "example","subredditId": "t5_2abcd","parsedSubredditId": "2abcd","postType": "text","flair": "Discussion","upVotes": 120,"commentsCount": 14,"postUrl": "https://example.com/r/example/comments/abc123/sample_post/","url": "https://example.com/r/example/comments/abc123/sample_post/","contentUrl": null,"images": [],"nsfw": false,"score": 120,"upvoteRatio": 0.96,"subredditSubscribers": 50000,"over18": false,"isSelf": true,"spoiler": false,"locked": false,"stickied": false,"edited": false,"editedAt": null,"distinguished": null,"scoreHidden": false,"isOriginalContent": false,"numCrossposts": null,"totalAwardsReceived": null,"gilded": null,"domain": "self.example","thumbnail": null,"urlOverriddenByDest": null,"authorFlairText": null,"authorPremium": false,"numDuplicates": null,"removedByCategory": null,"removedBy": null,"bannedBy": null,"removalReason": null,"modReasonTitle": null,"isRobotIndexable": null,"mediaType": "text","hasMedia": false,"isVideo": false,"isGallery": false,"galleryCount": 0,"galleryImages": [],"mediaAssets": [],"videoUrl": null,"media": null,"secureMedia": null,"mediaMetadata": null,"galleryData": null,"ageHours": 66.22,"scorePerHour": 1.81,"commentsPerHour": 0.21,"engagementTotal": 134,"commentToScoreRatio": 0.12,"isHighEngagement": false,"titleLength": 17,"bodyLength": 17,"wordCount": 3,"outboundUrlHost": null,"createdAt": "2026-10-14T17:46:40+00:00","crawledAt": "2026-10-17T12:00:00+00:00","searchTerm": "sample keyword","dataSource": "live"}
Comment
{"dataType": "comment","id": "t1_def456","parsedId": "def456","postId": "abc123","parentId": "t3_abc123","linkId": "t3_abc123","depth": 0,"body": "Sample comment text.","bodyHtml": null,"authorId": "t2_xyz789","authorName": "example_user","communityName": "r/example","subredditId": "t5_2abcd","score": 8,"scoreHidden": false,"controversiality": null,"ups": 8,"downs": null,"gilded": null,"totalAwardsReceived": null,"edited": false,"isSubmitter": false,"stickied": false,"distinguished": null,"locked": false,"collapsed": false,"collapsedReason": null,"permalink": "https://example.com/r/example/comments/abc123/sample_post/def456/","removalReason": null,"createdAt": "2026-10-14T18:46:40+00:00","crawledAt": "2026-10-17T12:00:00+00:00","searchTerm": "sample keyword","dataSource": "live"}
Community
{"dataType": "community","id": "t5_2abcd","parsedId": "2abcd","name": "example","namePrefixed": "r/example","title": "Example community","description": null,"descriptionHtml": null,"publicDescription": "A sample community.","subscribers": 50000,"activeUserCount": 120,"over18": false,"lang": "en","communityIcon": null,"bannerImg": null,"headerImg": null,"keyColor": null,"primaryColor": null,"submitText": null,"submissionType": null,"linkFlairEnabled": false,"allowImages": false,"allowVideos": false,"allowGalleries": false,"allowPolls": false,"wikiEnabled": false,"quarantine": false,"restrictPosting": false,"restrictCommenting": false,"advertiserCategory": null,"communityReviewed": false,"subredditType": "public","createdAt": "2017-07-14T02:40:00+00:00","crawledAt": "2026-10-17T12:00:00+00:00","searchTerm": "sample keyword","dataSource": "live"}
User
{"dataType": "user","id": "t2_xyz789","parsedId": "xyz789","username": "example_user","commentKarma": 1200,"linkKarma": 800,"awardeeKarma": null,"awarderKarma": null,"totalKarma": 2000,"isGold": false,"isMod": false,"isEmployee": false,"isBlocked": false,"verified": false,"hasVerifiedEmail": false,"hasSubscribed": false,"acceptFollowers": false,"acceptChats": false,"acceptPms": false,"iconImg": null,"snoovatarImg": null,"subredditDisplayName": "u_example_user","subredditTitle": "example_user","subredditSubscribers": 10,"subredditPublicDescription": "Sample profile.","createdAt": "2020-09-13T12:26:40+00:00","crawledAt": "2026-10-17T12:00:00+00:00","dataSource": "live"}
Run summary
The run-summary record contains source, scrapedAt, searchTerms, directUrls, fullSubreddits, itemsSaved, posts, comments, communities, users, unreachableSources and durationSeconds.
Notes and limitations
- Some posts, comments and users have empty fields, because Reddit does not publish every value for every item.
- Rows can show older or missing
score,commentsCountandflairvalues. ThedataSourcefield labels each row. - Posts marked NSFW are skipped unless
includeNSFWistrue. maxPostsCountapplies to each search term, URL or subreddit separately, and Reddit may return fewer posts than you ask for.- On a user profile URL,
maxPostsCountcaps the posts andmaxCommentsCountcaps the comments collected for that profile. - On a subreddit URL,
maxPostsCountset to 0 returns only the community row. - If comment search across the whole site returns nothing, set
withinCommunityto search one subreddit's comments instead. - If nothing could be retrieved because the site was limiting requests, the run ends as failed with a message instead of succeeding with an empty dataset.
FAQ
Is it legal to scrape Reddit with this reddit subreddit scraper?
It collects publicly available Reddit data, but legality depends on your country, the data and your use, including privacy laws such as GDPR and CCPA and Reddit's terms. Avoid personal data you cannot lawfully process. This is not legal advice; read Is web scraping legal? first.
Does the reddit subreddit scraper need an API key, login or cookies?
No. You do not need a Reddit account, login, cookies or Reddit API key, which makes it a practical reddit api alternative. You only need an Apify account to run it. Enter keywords, links or subreddit names, click Start and the Actor reads public Reddit pages and saves the results to your dataset.
How many posts can the reddit subreddit scraper get per run?
Add the subreddit to Subreddits to scrape in full or paste its link into Reddit URLs, then set Max posts. The field accepts up to 50,000 posts for each search term, URL or subreddit. Reddit can return fewer posts than you ask for, so check the run log and the run summary.
Can I export subreddit data to CSV, Excel or JSON?
Yes. Open the Dataset tab after the run and choose JSON, CSV, Excel, XML or HTML. You can also download the data through the Apify API. Posts, comments, communities and users sit in one dataset, so filter by the dataType column to split them into separate files for a spreadsheet.
Can I schedule runs, use webhooks or connect integrations?
Yes. Apify lets you schedule reddit scraping at any interval, trigger a webhook when a run finishes and connect the dataset to integrations such as Make, Zapier or n8n. Scheduled runs with a small date range suit monitoring tasks like tracking new posts that mention your brand.
Can I use it through the Apify API or an MCP server?
Yes. You can start runs and fetch results through the Apify API, and you can call the Actor from an MCP-compatible AI client through Apify's MCP server. The API tab of this Actor shows ready-made request examples, and the full reference is in the Apify API documentation.
Why am I getting fewer results than expected?
Common causes are a small Max posts value, a narrow date range, a flair or NSFW filter, a search with few matches, or the site returning fewer items than requested. Widen the filters, raise Max posts and check the log. Rows can also be missing values when Reddit does not publish them.
Reddit Post & Subreddit Extractor not working?
Open the run log first: it explains what happened and what to try next. If a run fails or returns nothing for an input that works in your browser, wait and run it again, then report it in the Issues tab of this Actor with your input and run link so the problem can be reproduced and fixed.
Related Actors
| Actor | Use it to |
|---|---|
| ๐ฌ Reddit Post Comments Scraper | Scrape every comment from a Reddit post or thread, with nested replies, scores, authors and timestamps. |
| ๐ฝ Reddit Scraper - Posts, Comments, Search & Subreddits | Run bulk Reddit scraping from many post, subreddit, user or search URLs. |
Support and disclaimer
Found a bug or need a feature? Open an issue in the Issues tab of this Actor. For custom solutions, integrations or questions, write to hello.dataminds@gmail.com. Reddit Post & Subreddit Extractor is independent and not affiliated with Reddit. Reddit and other trademarks belong to their owners. The Actor collects publicly available data only, and you are responsible for complying with applicable laws and the site's terms.
Last updated: 2026-10-17