๐ฝ Reddit Scraper - Posts, Comments, Search & Subreddits
Under maintenancePricing
from $3.50 / 1,000 results
๐ฝ Reddit Scraper - Posts, Comments, Search & Subreddits
Under maintenanceBulk Reddit scraping without an API key or login: paste hundreds of post, subreddit, user or search URLs, mine whole subreddits, expand nested comment threads, and stream clean posts, comments, communities and users to your dataset.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Reddit Scraper - Posts, Comments, Search & Subreddits is an Apify Actor and Reddit scraper that extracts posts, comments, communities and user profiles from public Reddit pages, with no Reddit login and no API key. Search by keyword, paste links or mine whole subreddits, then export clean rows as JSON, CSV or Excel. Pricing starts at $0.005 per result on the Free plan ($5.00 per 1,000 results) and falls to $0.0035 on the Gold plan. ๐ Try it free
What can Reddit Scraper - Posts, Comments, Search & Subreddits do?
- ๐ Three ways to start - search by keyword (
searchTerms), paste Reddit links (startUrls) or list whole subreddits (subredditUrls). - ๐งต Full comment threads - turn on
crawlCommentsPerPostto add nested comments with score and depth, up to 500 per post. - ๐ Four row types - posts, comments, communities and user profiles land in one dataset, each labelled by
dataType. - ๐งญ Filters - sort order, time range, posted-after and posted-before dates, flair-only and NSFW switches.
- ๐ Engagement metrics - every post carries
ageHours,scorePerHour,commentsPerHourandisHighEngagement. - ๐ Live results - each item is saved to the dataset as soon as it is ready, so you can watch the run fill up.
- ๐ค Export and automation - JSON, CSV, Excel, XML or HTML, plus the Apify API, schedules and webhooks.
What data can I extract from Reddit?
Every row has a dataType of post, comment, community or user. All field names below are saved exactly as written.
| Field | Description |
|---|---|
๐ท dataType, id, parsedId | Row type, full Reddit ID and short ID. |
๐ title, body, bodyHtml, flair, postType | Post text, flair and type (text, link, video or gallery). |
๐ค authorId, parsedAuthorId, authorName, authorFlairText, authorPremium | Post author details. |
๐ communityName, communityId, parsedCommunityId, parsedCommunityName, subredditName, subredditId, parsedSubredditId, subredditSubscribers | The subreddit a post belongs to. |
โฌ score, upVotes, upvoteRatio, commentsCount, numCrossposts, numDuplicates, totalAwardsReceived, gilded, scoreHidden | Post votes, comments and awards. |
๐ postUrl, url, contentUrl, urlOverriddenByDest, domain, outboundUrlHost, thumbnail | Post link, outbound link and domain. |
๐ผ images, galleryImages, galleryCount, mediaAssets, videoUrl, media, secureMedia, mediaMetadata, galleryData, mediaType, hasMedia, isVideo, isGallery, isSelf | Images, galleries and video details. Each mediaAssets item holds mediaId, url, mimeType, width and height. |
๐ nsfw, over18, spoiler, locked, stickied, distinguished, isOriginalContent, isRobotIndexable | Post flags. |
โ edited, editedAt, removedByCategory, removedBy, bannedBy, removalReason, modReasonTitle | Edit and moderation details. |
๐ ageHours, scorePerHour, commentsPerHour, engagementTotal, commentToScoreRatio, isHighEngagement, titleLength, bodyLength, wordCount | Calculated engagement and length metrics. |
๐ฌ postId, parentId, linkId, depth, controversiality, ups, downs, isSubmitter, collapsed, collapsedReason, permalink | Comment thread details (comment rows also reuse body, bodyHtml, authorId, authorName, communityName, subredditId, score, scoreHidden, gilded, totalAwardsReceived, edited, stickied, distinguished, locked, removalReason). |
๐ name, namePrefixed, description, descriptionHtml, publicDescription, subscribers, activeUserCount, lang, subredditType, quarantine | Community profile and size. |
๐จ communityIcon, bannerImg, headerImg, keyColor, primaryColor, submitText, submissionType | Community branding and submit text. |
๐ linkFlairEnabled, allowImages, allowVideos, allowGalleries, allowPolls, wikiEnabled, restrictPosting, restrictCommenting, advertiserCategory, communityReviewed | Community settings. |
๐ง username, commentKarma, linkKarma, awardeeKarma, awarderKarma, totalKarma, iconImg, snoovatarImg | User profile and karma. |
๐ก isGold, isMod, isEmployee, isBlocked, verified, hasVerifiedEmail, hasSubscribed, acceptFollowers, acceptChats, acceptPms | User flags. |
๐ชช subredditDisplayName, subredditTitle, subredditPublicDescription | The user's own profile page. |
๐
createdAt, crawledAt, searchTerm | Creation time, collection time and the keyword that found the row. |
Only public data that a logged-out visitor can see is collected. Private, deleted or login-only content is not returned, and some fields are empty when Reddit does not show them.
What can you do with the data from Reddit?
๐ฏ Brand and keyword monitoring
- Add your brand names to
searchTermsand setsearchSorttonew. - Pick a
searchTimesuch asweekand turn onsearchCommentsto catch mentions inside discussions. - Schedule the run and send new rows to your tools with a webhook.
๐งช Reddit sentiment analysis data and AI datasets
- Paste subreddit or post links into
startUrls. - Turn on
crawlCommentsPerPostand raisemaxCommentsPerPost. - Export the text columns as JSON or CSV for sentiment analysis or model training.
๐ Trend and content research
- Add one or more subreddits to
subredditUrlsand raisemaxPostsCount. - Sort the dataset by
scorePerHouror filter onisHighEngagementto see what is rising fast.
๐ง Audience and user research
- Paste profile links into
startUrlsto get karma, flags and recent posts and comments. - Use
postedAfterandpostedBeforeto keep a time window.
๐งฉ More ways to use it
- Scrape Reddit without API credentials or a login, then download Reddit posts to JSON.
- Find posts by keyword on Reddit and schedule Reddit scraping to repeat the search.
- Scrape all comments from a Reddit post by pasting its link with
crawlCommentsPerPoston. - Get Reddit comments by keyword with
searchCommentsswitched on. - Scrape Reddit by date range with
postedAfterandpostedBefore. - Get subreddit subscriber count and activity from community rows.
- Use the text as Reddit data for AI training, or as Reddit data for RAG.
- Run Reddit market research and Reddit trend research on one subreddit.
- Support Reddit audience research and Reddit competitor research.
- Do Reddit content research and Reddit lead research from keyword searches.
- Check Reddit engagement metrics and run a Reddit user karma lookup from profile links.
How do I use Reddit Scraper - Posts, Comments, Search & Subreddits?
- Open Reddit Scraper - Posts, Comments, Search & Subreddits on Apify and click Try for free.
- Add Reddit links to
startUrls, keywords tosearchTerms, or subreddits tosubredditUrls. - Choose what to include: posts, comments or communities for keyword search.
- Set limits with
maxPostsCountand, for threads,crawlCommentsPerPostwithmaxCommentsPerPost. - Click Start and watch the run log and the live status message.
- Open the Dataset tab and export the rows as JSON, CSV or Excel, or fetch them through the API.
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, a comment, a community or a user profile. The price per result depends on your Apify plan. Platform usage is billed in addition.
| 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 pays a start event of $0.00005 per GB of memory, minimum one. This Actor runs with 1 GB (1024 MB) of default memory, so the start event is 1 event = $0.00005. You can set a maximum spend per run, and the Actor stops cleanly when it is reached.
Worked example: 2,000 results on the Silver plan cost 2,000 x $0.004 = $8.00, plus the $0.00005 start event and platform usage.
Is scraping Reddit free?
You pay per saved result at the rate of your Apify plan, starting at $0.005 per result on the Free plan, and nothing for results that are not saved. Set a maximum spend per run to keep costs under control while you test.
How much does Reddit Scraper 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. Posts, comments, communities and users all count as results. The $0.00005 start event and Apify platform usage are billed in addition.
Input
Give the Actor at least one of startUrls, searchTerms or subredditUrls. All fields are optional in the form, but a run with none of them stops with a message and saves nothing. Each link, keyword and subreddit gets its own independent limit.
Scrape by Reddit link
Paste post, subreddit, user profile or search-result links into startUrls, one per line or as a list.
- A post link returns that post, and its comments when
crawlCommentsPerPostis on. - A subreddit link returns posts from that listing, up to
maxPostsCount. WithmaxPostsCountset to 0 you get the community row instead. - A user link returns the profile, posts up to
maxPostsCountand comments up tomaxCommentsCount. - A search link returns matching posts.
Search by keyword
Add keywords to searchTerms. Use searchPosts, searchComments and searchCommunities to choose what comes back, withinCommunity to stay inside one subreddit, and searchSort and searchTime to rank and limit results. Keyword comment search is approximate, so it can return fewer comments than the site shows.
Mine a full subreddit
Add names, r/name or links to subredditUrls to collect many more posts from one community. Each post is saved once, and the run also needs more time than a single link. Raise maxPostsCount to match.
Input fields
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
startUrls | array | No | Post, subreddit, user or search links. | https://www.reddit.com/r/technology/ |
searchTerms | array of strings | No | One keyword or phrase per line, each searched on its own. | artificial intelligence |
searchPosts | boolean | No | Include posts in keyword search. | true |
searchComments | boolean | No | Include comments in keyword search. | false |
searchCommunities | boolean | No | Include subreddits in keyword search. | false |
withinCommunity | string | No | Limit keyword search to one subreddit (name, r/name or link). | empty |
searchSort | string | No | relevance, hot, top, new or comments. | new |
searchTime | string | No | all, hour, day, week, month or year. | all |
subredditUrls | array of strings | No | Subreddits to mine in full. | AskReddit |
onlyWithFlair | boolean | No | Keep only flaired posts. | false |
includeNSFW | boolean | No | Include posts marked 18+. | false |
postedAfter | string (date) | No | Only posts from this UTC day onward; switches to newest first. | 2026-01-01 |
postedBefore | string (date) | No | Only posts up to the end of this UTC day. | 2026-06-30 |
commentedAfter | string (date) | No | Only comments on or after this UTC date. | empty |
commentedBefore | string (date) | No | Only comments on or before this UTC date. | empty |
crawlCommentsPerPost | boolean | No | Add the comment thread for every post found. | false |
maxCommentsPerPost | integer | No | Comment cap per post, 0 to 500. | 10 |
maxPostsCount | integer | No | Post cap per link, keyword or subreddit, 0 to 50,000. | 10 |
maxCommentsCount | integer | No | Cap for comments found by keyword search and for comments on a user link. | 10 |
maxCommunitiesCount | integer | No | Cap for communities found by keyword search. | 2 |
proxyConfiguration | object | No | Network settings. The default works for most runs. | default |
maxRetries | integer | No | Retries per request, 1 to 10. | 3 |
requestDelayMin | number | No | Shortest pause between requests in seconds, 0 to 10. | 1.0 |
requestDelayMax | number | No | Longest pause between requests in seconds, 0 to 15. | 2.5 |
postConcurrency | integer | No | Posts whose comments load at once, 1 to 10. | 3 |
Example input:
{"startUrls": [{ "url": "https://www.reddit.com/r/technology/" }],"searchTerms": ["artificial intelligence"],"searchPosts": true,"searchComments": false,"searchSort": "new","searchTime": "week","includeNSFW": false,"crawlCommentsPerPost": true,"maxCommentsPerPost": 10,"maxPostsCount": 50}
Output
Results go to the default Apify dataset, and you can export them as JSON, CSV, Excel, XML or HTML from the Dataset tab or the API. The Output tab shows five views: Overview, Posts, Comments, Communities and Users. Each row has a dataType, so one export can hold all four types. The values below are fake examples on example.com.
Post
{"dataType": "post","id": "t3_abc123","parsedId": "abc123","title": "Example post title","body": "Example post text.","bodyHtml": null,"authorId": "t2_user01","parsedAuthorId": "user01","authorName": "example_user","communityName": "r/example","communityId": "t5_comm01","parsedCommunityId": "comm01","parsedCommunityName": "example","subredditName": "example","subredditId": "t5_comm01","parsedSubredditId": "comm01","postType": "text","flair": "Discussion","upVotes": 120,"commentsCount": 14,"postUrl": "https://www.example.com/r/example/comments/abc123/example_post/","url": "https://www.example.com/r/example/comments/abc123/example_post/","contentUrl": null,"images": [],"nsfw": false,"score": 120,"upvoteRatio": 0.96,"subredditSubscribers": 250000,"over18": false,"isSelf": true,"spoiler": false,"locked": false,"stickied": false,"edited": false,"editedAt": null,"distinguished": null,"scoreHidden": false,"isOriginalContent": false,"numCrossposts": 0,"totalAwardsReceived": 0,"gilded": 0,"domain": "self.example","thumbnail": null,"urlOverriddenByDest": null,"authorFlairText": null,"authorPremium": false,"numDuplicates": 0,"removedByCategory": null,"removedBy": null,"bannedBy": null,"removalReason": null,"modReasonTitle": null,"isRobotIndexable": true,"mediaType": "text","hasMedia": false,"isVideo": false,"isGallery": false,"galleryCount": 0,"galleryImages": [],"mediaAssets": [],"videoUrl": null,"media": null,"secureMedia": null,"mediaMetadata": null,"galleryData": null,"ageHours": 5.5,"scorePerHour": 21.82,"commentsPerHour": 2.55,"engagementTotal": 134,"commentToScoreRatio": 0.12,"isHighEngagement": true,"titleLength": 18,"bodyLength": 18,"wordCount": 3,"outboundUrlHost": null,"createdAt": "2026-10-01T10:00:00+00:00","crawledAt": "2026-10-01T15:30:00+00:00","searchTerm": "example keyword"}
Comment
{"dataType": "comment","id": "t1_def456","parsedId": "def456","postId": "abc123","parentId": "t3_abc123","linkId": "t3_abc123","depth": 0,"body": "Example comment text.","bodyHtml": null,"authorId": "t2_user02","authorName": "example_commenter","communityName": "r/example","subredditId": "t5_comm01","score": 15,"scoreHidden": false,"controversiality": 0,"ups": 15,"downs": 0,"gilded": 0,"totalAwardsReceived": 0,"edited": false,"isSubmitter": false,"stickied": false,"distinguished": null,"locked": false,"collapsed": false,"collapsedReason": null,"permalink": "https://www.example.com/r/example/comments/abc123/example_post/def456/","removalReason": null,"createdAt": "2026-10-01T11:00:00+00:00","crawledAt": "2026-10-01T15:30:00+00:00","searchTerm": null}
Community
{"dataType": "community","id": "t5_comm01","parsedId": "comm01","name": "example","namePrefixed": "r/example","title": "Example community","description": "Example description.","descriptionHtml": null,"publicDescription": "Example public description.","subscribers": 250000,"activeUserCount": 1200,"over18": false,"lang": "en","communityIcon": "https://www.example.com/icon.png","bannerImg": null,"headerImg": null,"keyColor": "","primaryColor": "","submitText": "","submissionType": "any","linkFlairEnabled": true,"allowImages": true,"allowVideos": true,"allowGalleries": true,"allowPolls": true,"wikiEnabled": true,"quarantine": false,"restrictPosting": false,"restrictCommenting": false,"advertiserCategory": "","communityReviewed": false,"subredditType": "public","createdAt": "2015-05-01T00:00:00+00:00","crawledAt": "2026-10-01T15:30:00+00:00","searchTerm": "example keyword"}
User
{"dataType": "user","id": "t2_user01","parsedId": "user01","username": "example_user","commentKarma": 4200,"linkKarma": 900,"awardeeKarma": 10,"awarderKarma": 0,"totalKarma": 5110,"isGold": false,"isMod": false,"isEmployee": false,"isBlocked": false,"verified": true,"hasVerifiedEmail": true,"hasSubscribed": true,"acceptFollowers": true,"acceptChats": true,"acceptPms": true,"iconImg": "https://www.example.com/avatar.png","snoovatarImg": null,"subredditDisplayName": "u_example_user","subredditTitle": "example_user","subredditSubscribers": 12,"subredditPublicDescription": "","createdAt": "2020-01-01T00:00:00+00:00","crawledAt": "2026-10-01T15:30:00+00:00"}
Run summary
When a run ends, the Actor also saves a run-summary record in the key-value store with these keys: source, scrapedAt, searchTerms, directUrls, fullSubreddits, itemsSaved, posts, comments, communities, users and durationSeconds, plus a few technical fields. The summary is not a billed result.
Notes and limitations
- Each link, keyword and subreddit has its own
maxPostsCount; limits are not shared between them. - A single Reddit listing stops after about 6,000 posts, so very large pulls from one listing can return fewer than requested.
- Keyword comment search is approximate and may miss some matching comments.
- Setting
postedAfterorpostedBeforesorts results newest first for links and searches. onlyWithFlaircan also remove rows that have no flair, such as communities and user comments.- Fields Reddit hides or does not provide stay empty or
null. - Run stops early if you abort it or reach your maximum spend; saved rows are kept.
FAQ
Is it legal to scrape Reddit?
Scraping publicly available Reddit pages is generally treated differently from accessing private data, but rules depend on your country, your purpose and how you handle personal data such as usernames. Review Reddit's terms and laws like GDPR and CCPA, and read Is web scraping legal?. This is not legal advice.
Do I need a Reddit account, cookies or an API key?
No. Reddit Scraper - Posts, Comments, Search & Subreddits needs no Reddit login, no cookies and no API key. You only need an Apify account. Paste links, keywords or subreddits, click Start and read the results from the dataset. Only public content that a logged-out visitor can see is collected.
How many posts and comments can I get per run?
You decide with the limit fields. maxPostsCount accepts up to 50,000 per link, keyword or subreddit, and maxCommentsPerPost accepts up to 500 comments per post. Real totals depend on what Reddit shows for each source, and one listing stops after about 6,000 posts. Speed is not guaranteed because it depends on the request volume.
Can I export Reddit data to CSV or Excel?
Yes. Open the Dataset tab after a run and download the rows as JSON, CSV, Excel, XML or HTML. You can also pull them through the Apify API. Every row has a dataType, so you can filter a combined export into posts, comments, communities and users in a spreadsheet or a script.
Can I schedule runs or connect other tools?
Yes. Apify lets you schedule this Reddit data scraper to run hourly, daily or weekly, trigger webhooks when a run finishes, and connect the dataset to automation tools through integrations. Combine a schedule with searchTime or postedAfter to collect only recent posts for brand monitoring or Reddit keyword monitoring.
Can I use the Reddit Scraper through the API or an MCP server?
Yes. You can start runs and read datasets with the Apify API, and you can call the Actor from an MCP-compatible AI assistant through Apify's MCP support. The API tab shows ready-made calls for your Actor, and the full reference is in the Apify API documentation.
Why am I getting fewer results than expected?
Common reasons are low limits (maxPostsCount defaults to 10), strict filters such as onlyWithFlair, date ranges, or includeNSFW being off. Reddit also hides some content and ends long listings early. Raise the limits, loosen filters and try a full subreddit run through subredditUrls for more posts.
Reddit Scraper not working?
First check the run log, which explains skipped links and empty results in plain English. Confirm that your links are Reddit post, subreddit, user or search URLs and that at least one input is filled. If the problem continues, open the Issues tab on the Actor page with your run link and we will look into it.
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 Post & Subreddit Extractor | Scrape Reddit posts, comments, communities and user profiles by keyword, URL or full subreddit. |
| ๐ฌ YouTube Comments Scraper | Extract YouTube video comments and replies with author, text, likes and publish date. |
Support and disclaimer
Found a bug or need a feature? Open an issue in the Issues tab. For custom solutions, integrations or questions, email hello.dataminds@gmail.com. Reddit Scraper - Posts, Comments, Search & Subreddits is independent and not affiliated with Reddit; trademarks belong to their owners. It collects publicly available data only, and you are responsible for complying with applicable laws and the site's terms.
Last updated: 2026-10-17