๐Ÿ‘ฝ Reddit Post & Subreddit Extractora avatar

๐Ÿ‘ฝ Reddit Post & Subreddit Extractora

Pricing

from $3.50 / 1,000 results

Go to Apify Store
๐Ÿ‘ฝ Reddit Post & Subreddit Extractora

๐Ÿ‘ฝ 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

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

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.

TypeFields
๐Ÿ“ Post: contentid, parsedId, title, body, bodyHtml, postType, mediaType, flair, postUrl, url, contentUrl, urlOverriddenByDest, domain, outboundUrlHost, thumbnail, images
๐Ÿ‘ค Post: author and communityauthorId, parsedAuthorId, authorName, authorFlairText, authorPremium, communityName, communityId, parsedCommunityId, parsedCommunityName, subredditName, subredditId, parsedSubredditId, subredditSubscribers
๐Ÿ”ผ Post: votes and flagsscore, upVotes, upvoteRatio, commentsCount, nsfw, over18, isSelf, spoiler, locked, stickied, edited, editedAt, distinguished, scoreHidden, isOriginalContent, isRobotIndexable, numCrossposts, numDuplicates, totalAwardsReceived, gilded
๐Ÿ“ท Post: mediahasMedia, isVideo, isGallery, galleryCount, galleryImages, mediaAssets, videoUrl, media, secureMedia, mediaMetadata, galleryData
๐Ÿšฉ Post: moderationremovedByCategory, removedBy, bannedBy, removalReason, modReasonTitle
๐Ÿ“Š Post: engagement metricsageHours, scorePerHour, commentsPerHour, engagementTotal, commentToScoreRatio, isHighEngagement, titleLength, bodyLength, wordCount
๐Ÿ’ฌ Commentid, 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
๐Ÿ“š Communityid, 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
๐Ÿง‘ Userid, parsedId, username, commentKarma, linkKarma, awardeeKarma, awarderKarma, totalKarma, isGold, isMod, isEmployee, isBlocked, verified, hasVerifiedEmail, hasSubscribed, acceptFollowers, acceptChats, acceptPms, iconImg, snoovatarImg, subredditDisplayName, subredditTitle, subredditSubscribers, subredditPublicDescription
๐Ÿ”— All typescreatedAt, 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

  1. Enter your topic in searchTerms and set searchSort to new.
  2. Turn on crawlCommentsPerPost and set maxCommentsPerPost.
  3. Export the rows and score the body text in your own tool.

๐Ÿ“ฃ Reddit social listening and competitor monitoring

  1. Add a brand or product name to searchTerms.
  2. Set searchTime to week and run it on a schedule.
  3. Compare score, commentsCount and isHighEngagement between runs.

๐Ÿ“Š Reddit market research and voice of customer research

  1. Add a subreddit to subredditUrls and raise maxPostsCount.
  2. Set postedAfter and postedBefore for the period you study.
  3. Read title, body and flair to see what customers ask for.

๐ŸŽ“ Reddit academic research dataset and subreddit analysis

  1. Put the communities you study into subredditUrls.
  2. Fix the period with postedAfter and postedBefore.
  3. Use subscribers and activeUserCount from community rows to describe each community.

๐Ÿค– Reddit data for LLM training and reddit data for RAG

  1. Collect posts and comments with crawlCommentsPerPost enabled.
  2. Export JSON and keep body, parentId and depth for comment thread data.
  3. Load the file into your data pipeline.

How do I use Reddit Post & Subreddit Extractor?

  1. Open Reddit Post & Subreddit Extractor on Apify and click Try for free.
  2. Add keywords to Search terms, links to Reddit URLs, or names to Subreddits to scrape in full.
  3. Set Max posts to the number of posts you want per search term, URL or subreddit.
  4. Add a date range, flair or NSFW setting if you need one.
  5. Turn on Scrape comments for each post if you want comment rows.
  6. Click Start and wait for the run to finish.
  7. 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.

PlanPrice per resultPer 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.

Use this mode to scrape reddit by keyword: each term runs as its own search with its own limits.

FieldTypeRequiredDescriptionDefault / example
searchTermsarray of stringsNoKeywords to search. Each term is a separate search.["artificial intelligence"]
searchPostsbooleanNoInclude posts in the results.true
searchCommentsbooleanNoInclude comments that match the term.false
searchCommunitiesbooleanNoInclude matching communities (subreddits).false
withinCommunitystringNoLimit the search to one subreddit. Accepts developers, r/developers or a full subreddit URL.empty (all of Reddit)
searchSortstringNoOne of relevance, hot, top, new, comments.new
searchTimestringNoOne of all, hour, day, week, month, year.all
maxCommentsCountintegerNoMaximum comments returned by comment search. Minimum 0.10
maxCommunitiesCountintegerNoMaximum 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.

FieldTypeRequiredDescriptionDefault / example
startUrlsarray of URLsNoPost, subreddit, user profile and search-result URLs. Bulk input is supported.[{"url": "https://www.reddit.com/r/technology/"}]
subredditUrlsarray of stringsNoSubreddit 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

FieldTypeRequiredDescriptionDefault / example
postedAfterstring (date)NoKeep posts created on or after this date (00:00 UTC). When set, results are fetched newest first and searchTime is ignored.2026-01-01
postedBeforestring (date)NoKeep posts created on or before this date (23:59:59 UTC).2026-06-30
commentedAfterstring (date)NoKeep comments created on or after this date (UTC).empty
commentedBeforestring (date)NoKeep comments created on or before this date (UTC).empty
onlyWithFlairbooleanNoDrop posts that have no flair.false
includeNSFWbooleanNoInclude posts marked NSFW (18+).false
crawlCommentsPerPostbooleanNoCollect comments for every post found. This increases run time and data.false
maxCommentsPerPostintegerNoMaximum comments per post when comment collection is on. Range 0 to 500.10
maxPostsCountintegerNoMaximum posts saved per search term, URL or subreddit. Range 0 to 50,000.10

Network and pacing

FieldTypeRequiredDescriptionDefault / example
proxyConfigurationobjectNoNetwork settings for the run. Leave the default unless you need your own.Preselected in the form
postConcurrencyintegerNoHow many posts' comment threads are fetched at the same time. Range 1 to 10.3
maxRetriesintegerNoRetries for a failed request. Range 1 to 10.3
requestDelayMinnumberNoMinimum delay between requests in seconds. Range 0 to 10.1.0
requestDelayMaxnumberNoMaximum 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, commentsCount and flair values. The dataSource field labels each row.
  • Posts marked NSFW are skipped unless includeNSFW is true.
  • maxPostsCount applies to each search term, URL or subreddit separately, and Reddit may return fewer posts than you ask for.
  • On a user profile URL, maxPostsCount caps the posts and maxCommentsCount caps the comments collected for that profile.
  • On a subreddit URL, maxPostsCount set to 0 returns only the community row.
  • If comment search across the whole site returns nothing, set withinCommunity to 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

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.

ActorUse it to
๐Ÿ’ฌ Reddit Post Comments ScraperScrape every comment from a Reddit post or thread, with nested replies, scores, authors and timestamps.
๐Ÿ‘ฝ Reddit Scraper - Posts, Comments, Search & SubredditsRun 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