Reddit Subreddit Post & Comment Harvester

Pull posts from any subreddit with score, media, flairs, awards and moderation flags, plus optional nested comment threads. Filter by date, score, keyword, author, post type and more. No API key or login.

Open in Apify Store$0.99 / 1K on Free

Short answer

Reddit Subreddit Post & Comment Harvester is an Apify Store Actor for Reddit data that returns 10 published output fields, including title, author, score, created_at. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 33 input settings; one is required (subreddits). It covers 5 of the 7 core Reddit fields this site tracks. Last updated Oct 25, 2026.

From the public Store listing and published build schema, synced 2026-11-12.
Reddit Social mediaAutomationLead generation

What it returns

10 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • subreddit_prefixed
  • title
  • author
  • score
  • upvote_ratio
  • num_comments
  • post_type
  • created_at
  • link_flair
  • url

Not in the schema among the core Reddit fields: body, subreddit. The field matrix shows which other tools return them.

How it differs from the other Reddit Actors

Every field it publishes also appears in at least one of the other 8 catalogue Actors for Reddit with a schema, so pick on price, input options and the fields below.

Pick another Actor if you need

Fields other Reddit catalogue Actors return that Reddit Subreddit Post & Comment Harvester does not
ActorFields it addsPrice / 1K
Reddit Comment Thread Scraper with Score & Keyword Filters body, depth, is_op $0.99
Reddit Subreddit Profile, Rules & Post Filter Scraper dataType, weekly_active_users $0.99
Reddit Keyword Search with Advanced Filters dataFreshness $0.99
Reddit Multi-Mode Scraper with Advanced Pro Filters content $0.99
Reddit Subreddit Post Filter & Moderation Scraper display_name, description, subscribers $0.99

Input

Input settings for Reddit Subreddit Post & Comment Harvester
SettingTypeRequiredDefaultWhat it does
subreddits array Yes – List of subreddits to scrape. Accepts bare names (python), r/ prefixed (r/python) or full URLs (https://www.reddit.com/r/python/).
maxPosts integer No 25 Maximum number of posts to keep from each subreddit after filters. Reddit serves roughly 1,000 posts per hot/new listing and about 500 for top/controversial.
maxItems integer No 10000 Global safety cap on the total number of records pushed for the whole run (posts and comments combined).
sort string No new How to sort posts in the subreddit. Reddit serves roughly 1,000 posts per hot/new listing and about 500 for top/controversial.
timeFilter string No day Time filter when sorting by 'top' or 'controversial'.
includeComments boolean No false When enabled, the full comment thread (including nested replies) is collected for every scraped post. Significantly increases run time and output.
maxCommentsPerPost integer No 0 Maximum number of comments to scrape per post (only used when 'Include comments' is enabled).
commentSort string No confidence How to sort the comment threads.
postedAfter string No – Only keep posts created on or after this date (UTC). When set, collection runs newest-first (sort=new) and the sort option above is ignored. Reddit caps each listing at roughly 1,000 posts, so a distant date window on a very active subreddit may not be fully reachable.
postedBefore string No – Only keep posts created on or before this date (interpreted as the end of that day, UTC).
Show the other 23 settings
More input settings for Reddit Subreddit Post & Comment Harvester
SettingTypeRequiredDefaultWhat it does
includeNSFW boolean No false Include posts Reddit explicitly flags as NSFW. Posts in 18+ communities are served by the actor's adult-content cookie and are not distinguishable at community level.
onlyWithFlair boolean No false When enabled, posts without a flair tag are dropped from the results.
postType string No – Keep only posts of the selected content type (based on Reddit's listing type). Leave unset to keep all types. Legacy 'self' is treated as 'text'.
minScore integer No – Only keep posts with a score at or above this value. Leave unset to keep all scores.
maxScore integer No – Only keep posts with a score at or below this value. Useful for finding overlooked/low-visibility posts. Leave unset to keep all scores.
minComments integer No – Only keep posts with at least this many comments. Leave unset to keep all posts.
maxComments integer No – Only keep posts with at most this many comments. Useful for finding under-discussed posts. Leave unset to keep all posts.
excludeStickied boolean No false When enabled, posts pinned/stickied by moderators (e.g. rules, weekly threads) are dropped from the results.
minUpvoteRatio number No – Only keep posts whose upvote ratio (fraction of votes that are upvotes, 0-1) is at or above this value. Useful for filtering out controversial/divisive posts. Leave unset to keep all ratios.
excludeCrossposts boolean No false When enabled, posts that are crossposts from another subreddit are dropped from the results, keeping only original submissions to the scraped subreddit.
excludeSpoilers boolean No false When enabled, posts marked as a spoiler by their author are dropped from the results.
titleContains string No – Only keep posts whose title contains this text (case-insensitive substring match). Leave empty to keep all titles.
contentContains string No – Only keep self (text) posts whose body contains this text (case-insensitive substring match). Link/image/video posts have no body text and are excluded when this is set. Leave empty to keep all posts.
flairContains string No – Only keep posts whose flair text contains this text (case-insensitive substring match). Leave empty to keep all flairs.
authors array No – Only keep posts submitted by one of these usernames (bare name or u/-prefixed, case-insensitive). Leave empty to keep posts from all authors.
domain string No – Only keep posts whose link domain contains this text (case-insensitive, e.g. 'youtube.com' or 'self.python'). Leave empty to keep all domains.
minAwards integer No – Only keep posts with at least this many total awards. Leave unset to keep all posts.
excludeDeletedAuthor boolean No false When enabled, posts whose author account was deleted (shown as [deleted]/[removed]) are dropped from the results.
excludeAuthors array No – Drop posts submitted by any of these usernames (bare name or u/-prefixed, case-insensitive) — useful for filtering out bots (e.g. AutoModerator) or known spam accounts. Leave empty to keep posts from all authors.
excludeKeywords array No – Drop posts whose title, self-text body or flair contains any of these keywords or phrases (case-insensitive substring match) — useful for filtering out megathreads, giveaways or spam boilerplate. Leave empty to keep all posts.
minContentLength integer No – Only keep self (text) posts whose body is at least this many characters long. Link/image/video posts have no body and are excluded when this is set. Useful for dropping one-line/low-effort text posts when building NLP datasets. Leave unset to keep all lengths.
maxContentLength integer No – Only keep self (text) posts whose body is at most this many characters long. Leave unset to keep all lengths.
fullSubreddit boolean No false When enabled, walk Reddit's 'new' listing as deep as the source allows (roughly 1,000 posts per listing) instead of stopping at the first page. Combine with a higher 'Maximum posts per subreddit'.

Example input

Built from the input form's published example values and defaults.

{
  "subreddits": [
    "python"
  ],
  "maxPosts": 25,
  "maxItems": 10000,
  "sort": "new",
  "timeFilter": "day",
  "includeComments": false,
  "maxCommentsPerPost": 0,
  "commentSort": "confidence",
  "includeNSFW": false,
  "onlyWithFlair": false,
  "excludeStickied": false,
  "excludeCrossposts": false,
  "excludeSpoilers": false,
  "excludeDeletedAuthor": false,
  "fullSubreddit": false
}

Run it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "subreddits": [
        "python"
    ],
    "maxPosts": 25,
    "maxItems": 10000,
    "sort": "new",
    "timeFilter": "day",
    "includeComments": False,
    "maxCommentsPerPost": 0,
    "commentSort": "confidence",
    "includeNSFW": False,
    "onlyWithFlair": False,
    "excludeStickied": False,
    "excludeCrossposts": False,
    "excludeSpoilers": False,
    "excludeDeletedAuthor": False,
    "fullSubreddit": False
}

run = client.actor("vexaloom-labs/reddit-subreddit-post-and-comment-harvester").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "subreddits": [
        "python"
    ],
    "maxPosts": 25,
    "maxItems": 10000,
    "sort": "new",
    "timeFilter": "day",
    "includeComments": false,
    "maxCommentsPerPost": 0,
    "commentSort": "confidence",
    "includeNSFW": false,
    "onlyWithFlair": false,
    "excludeStickied": false,
    "excludeCrossposts": false,
    "excludeSpoilers": false,
    "excludeDeletedAuthor": false,
    "fullSubreddit": false
};

const run = await client.actor("vexaloom-labs/reddit-subreddit-post-and-comment-harvester").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~reddit-subreddit-post-and-comment-harvester/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"subreddits":["python"],"maxPosts":25,"maxItems":10000,"sort":"new","timeFilter":"day","includeComments":false,"maxCommentsPerPost":0,"commentSort":"confidence","includeNSFW":false,"onlyWithFlair":false,"excludeStickied":false,"excludeCrossposts":false,"excludeSpoilers":false,"excludeDeletedAuthor":false,"fullSubreddit":false}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=vexaloom-labs/reddit-subreddit-post-and-comment-harvester",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of Reddit Subreddit Post & Comment Harvester results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 1 GB a run starts at $0.10 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10 ($9.90 for results + $0.10 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

Where it fits among Reddit routes

It ranks 6 of 9 catalogue Actors for Reddit on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.

Route diagram for Reddit dataReddit Comment Thread Scraper with Score & Keyword Filters: stops at 6 of the 10 fields shown; Reddit Subreddit Profile, Rules & Post Filter Scraper: stops at 5 of the 10 fields shown; Reddit Keyword Search with Advanced Filters: stops at 6 of the 10 fields shown; Reddit Subreddit Post & Comment Harvester: stops at 6 of the 10 fields shown; Other Store tools (8): stops at 10 of the 10 fields shown; Reddit Data API: limited, field coverage not compared.Redditbodysubreddittitleauthorscorecreated atnumCommentsdepthupvoteRatioparentId1236+API

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Official route: Reddit Data API

Limited access. Reddit is moving public data access to its Developer Platform. RSS support ends November 13, 2026; new public API access requests stopped October 31, 2026; access for unregistered apps starts closing January 12, 2027; remaining public API access ends in March 2027.

Commercial use requires a data agreement. Pricing is not published as a public rate card.

Official documentation

Other Store tools for Reddit

Reference only, from their public listings.

Other Store tools for Reddit
ToolFieldsPrice / 1K
Reddit Scraper: Posts, Comments, Subreddits & Search24$1.15
Reddit Scraper120$2.00
Reddit Subreddit Posts Scraper28$1.99
Reddit Scraper12$2.00
Reddit Post Comments Scraper29$2.99

What people use it for

  • Monitor subreddit posts
  • Analyze engagement
  • Collect discussions

Other catalogue Actors for Reddit

Reddit Comment Thread Scraper with Score & Keyword Filters

Scrape Reddit comment threads, nested replies included, with author, score, depth, and moderation flags, filtered by date, score, author, or…

6/7 core fields 8 output fields $0.99 per 1K

Reddit Subreddit Profile, Rules & Post Filter Scraper

Scrape full community intelligence for any subreddit: description, subscriber count, active users, weekly activity, posting rules, wiki pages,…

5/7 core fields 10 output fields $0.99 per 1K

Reddit Keyword Search with Advanced Filters

Search Reddit by keyword and filter the matches by subreddit, score, date range, NSFW status, and author before they reach your dataset.

5/7 core fields 13 output fields $0.99 per 1K

Reddit Multi-Mode Scraper with Advanced Pro Filters

Scrape Reddit subreddit posts, post comment threads, and user profile posts, with any combination of modes in a single run. Filter by score, age,…

5/7 core fields 9 output fields $0.99 per 1K

Reddit Subreddit Post Filter & Moderation Scraper

Scrape public subreddit listings and filter posts by keyword, score, comments, upvote ratio, age, flair, type, author, domain, NSFW or stickied…

5/7 core fields 14 output fields $0.99 per 1K

Reddit Multi-Mode Scraper for Posts, Comments & Profiles

Pick one of five modes to pull subreddit posts, full comment threads, user profiles, keyword search results or curated community listings from…

5/7 core fields 9 output fields $0.99 per 1K

Reddit User Profile & Post History Crawler Pro

Turn Reddit usernames or profile URLs into split karma, account-age and status-badge data, plus filterable post history with per-post awards,…

11 output fields $0.99 per 1K

Reddit Post Comment Thread & Filter Extractor

Pulls every comment on one or more Reddit posts, with the full thread depth, parent links and awards, and lets you keep only the comments that…

7 output fields $0.99 per 1K

Facebook Group Feed & Engagement Extractor

Pull posts from any public Facebook group with full text, media, reaction breakdown, top comments and reshares, plus optional group member count,…

7 output fields $0.99 per 1K

Facebook Post & Group Comment Thread Extractor

Get comments and nested reply threads from public Facebook posts, Watch videos, photos, and group posts, with per-reaction-type counts, author…

12 output fields $0.99 per 1K

LinkedIn Activity Feed Scraper with Engagement Filters

Pull posts, articles, and reposts from LinkedIn profile activity feeds, with reaction/comment/date filters and a per-reaction-type breakdown.…

9 output fields $0.99 per 1K

LinkedIn Company Page Post & Engagement Extractor

Pull posts from any LinkedIn company page with captions, media, article links, hashtags, mentions, and reaction/comment/repost counts, filterable…

7 output fields $0.99 per 1K

Questions people ask

How much does Reddit Subreddit Post & Comment Harvester cost?

The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.

What data does Reddit Subreddit Post & Comment Harvester return?

Its published output schema lists 10 fields: subreddit_prefixed, title, author, score, upvote_ratio, num_comments, post_type, created_at, link_flair, url. A listed field is not guaranteed to be filled in every row.

What input does Reddit Subreddit Post & Comment Harvester need?

Required: subreddits. Optional settings include maxPosts, maxItems, sort, timeFilter, includeComments, maxCommentsPerPost.

What are the alternatives to Reddit Subreddit Post & Comment Harvester for Reddit?

9 catalogue Actors cover Reddit. Close alternatives: Reddit Comment Thread Scraper with Score & Keyword Filters; Reddit Subreddit Profile, Rules & Post Filter Scraper; Reddit Keyword Search with Advanced Filters. The Reddit page compares all of them field by field.

How do I run Reddit Subreddit Post & Comment Harvester from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/reddit-subreddit-post-and-comment-harvester").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/reddit-subreddit-post-and-comment-harvester").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~reddit-subreddit-post-and-comment-harvester/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-10-25 Data synced 2026-11-12
Cite this page

Scraper Finder. "Reddit Subreddit Post & Comment Harvester." https://scraperfinder.com/catalogue/reddit-subreddit-post-and-comment-harvester/ (data checked 2026-11-12).

Run Reddit Subreddit Post & Comment Harvester

$0.99 per 1,000 results. Paste the example input above, set your Reddit query, then export the dataset. Still choosing? Compare every Reddit route.

Open in Apify Store