Reddit Comment Monitor & Scraper | New Replies avatar

Reddit Comment Monitor & Scraper | New Replies

Pricing

from $6.00 / 1,000 comments

Go to Apify Store
Reddit Comment Monitor & Scraper | New Replies

Reddit Comment Monitor & Scraper | New Replies

Monitor new Reddit comments or scrape full threads and nested replies with persistent deduplication, structured exports, and automation-ready data.

Pricing

from $6.00 / 1,000 comments

Rating

0.0

(0)

Developer

Newbs

Newbs

Maintained by Community

Actor stats

2

Bookmarked

98

Total users

3

Monthly active users

a day ago

Last modified

Share

Monitor new Reddit replies or scrape complete public comment threads without a Reddit API key or login. Persistent deduplication lets scheduled runs save and charge only newly discovered comments. Every result is a clean dataset row with author, score, timestamp, permalink, parent ID, reply depth, and post context.

The Actor tries Reddit's structured HTTP responses first and automatically uses a browser fallback when a thread needs it. Monitoring runs use a lightweight RSS preflight so unchanged threads can finish without launching Chrome, while new results still use the richest available source.

What you can do

  • Analyze product feedback, complaints, feature requests, and customer language.
  • Alert on new Reddit comments from Apify Schedules, webhooks, n8n, Make, Zapier, or Pipedream.
  • Export complete reply chains for sentiment analysis and topic classification.
  • Build Reddit datasets for AI agents, RAG pipelines, and research.
  • Collect AMA questions and identify replies written by the original post author.
  • Export results as JSON, CSV, Excel, XML, or RSS through Apify.

Quick start

  1. Add one or more direct Reddit post URLs.
  2. Keep Maximum Comments at 10 for your first run.
  3. Choose whether to include replies and how deep to follow them.
  4. Run the Actor and open the Comments dataset view.

Example input:

{
"postUrls": [
"https://www.reddit.com/r/AskReddit/comments/ovihp9/what_city_would_you_never_ever_ever_live_in/"
],
"maxComments": 10,
"includeReplies": true,
"maxCommentDepth": 20,
"sortBy": "top",
"maxConcurrency": 2
}

The Actor accepts standard reddit.com, old.reddit.com, and short redd.it post links. Subreddit listing pages and Reddit search pages are not supported.

Input

FieldDefaultDescription
postUrlsRequiredDirect public Reddit post URLs
onlyNewCommentsfalsePersist state and save only comments not seen by earlier runs
monitoringKeydefaultStable name that isolates one recurring monitor
sinceTimestampEmptySkip comments older than this ISO 8601 timestamp
monitoringScanLimit100Recent comments inspected per post when filtering or monitoring
maxComments10Maximum saved comments per post, including replies
includeRepliestrueInclude nested replies
maxCommentDepth20Deepest reply level to save; 0 means top-level only
sortBytoptop, best, new, controversial, old, or qa
maxConcurrency2Posts processed in parallel, from 1 to 4
proxyResidentialProxy used by both HTTP and browser collection
mcpOutputConnectorsEmptyOptional Apify MCP destinations for a run summary

maxComments applies to each post. For example, two URLs with maxComments: 10 can save up to 20 paid comment rows.

Monitor only new comments

Use this input in an Apify Schedule or automation:

{
"postUrls": [
"https://www.reddit.com/r/example/comments/abc123/example_post/"
],
"onlyNewComments": true,
"monitoringKey": "customer-feedback",
"monitoringScanLimit": 100,
"maxComments": 10,
"includeReplies": true,
"sortBy": "new"
}

The first run saves up to 10 of the newest comments and establishes the monitor's high-water mark. Later runs using the same monitoringKey and post URL save only unseen comments at or after that point. Rows skipped as already seen are not written and do not trigger the comment charge. Change the key to start a separate history.

Monitoring state is stored in the named key-value store newbs-reddit-comment-monitor-state in the Actor user's Apify account. Use sortBy: "new" for recurring monitors so recent replies are scanned first. Increase monitoringScanLimit for fast-moving threads; it controls inspection, while maxComments still caps paid output.

Output

Each dataset item is one comment or reply. The flat format works directly with spreadsheets, databases, BI tools, and AI workflows.

{
"postUrl": "https://www.reddit.com/r/example/comments/abc123/example_post/",
"postId": "t3_abc123",
"postTitle": "Example post",
"postAuthor": "original_poster",
"postScore": 123,
"postText": "Post body when available",
"postCreatedAt": "2026-07-20T08:00:00.000Z",
"subreddit": "example",
"commentId": "t1_def456",
"parentCommentId": "t3_abc123",
"commentAuthor": "commenter",
"commentText": "Example comment",
"commentScore": 42,
"commentPermalink": "https://www.reddit.com/r/example/comments/abc123/example_post/def456/",
"commentTimestamp": "2026-07-20T09:00:00.000Z",
"commentDepth": 0,
"commentPath": "0",
"parentPath": null,
"isTopLevel": true,
"isPostAuthor": false,
"replyCount": 3,
"scrapeSource": "reddit-json",
"scrapedAt": "2026-07-28T10:00:00.000Z"
}

Reddit does not expose every field on every page. Fields such as score, permalink, or post body can be null when they are unavailable.

The Actor also writes an OUTPUT run summary with per-post status, scanned/new/skipped counts, monitoring state, collection source, duration, and an explanation when a post returns no rows. A successful monitor with no updates reports no-new-comments instead of looking like a scraping failure.

Pricing

The Actor uses pay-per-event pricing:

  • $0.006 per saved comment
  • $0.00005 when the Actor starts
  • Apify platform usage can also apply as shown in the Console pricing estimate

Estimated result charges:

Saved commentsResult charge
10$0.06
100$0.60
500$3.00

You are charged only for rows successfully saved under the comment event. The Actor respects the maximum run cost configured by the user and stops gracefully when that limit is reached.

Ready-to-run examples

API

JavaScript:

const run = await apifyClient.actor("newbs/reddit-comment-scraper").call({
postUrls: [
"https://www.reddit.com/r/AskReddit/comments/ovihp9/what_city_would_you_never_ever_ever_live_in/"
],
maxComments: 10,
includeReplies: true,
maxCommentDepth: 20,
sortBy: "top"
});
const { items } = await apifyClient.dataset(run.defaultDatasetId).listItems();

Synchronous HTTP API:

POST https://api.apify.com/v2/acts/newbs~reddit-comment-scraper/run-sync-get-dataset-items

Send the JSON input as the request body and authenticate with your Apify API token.

Automation and AI

Apify MCP

Select this Actor in Apify's hosted MCP server or use:

https://mcp.apify.com?tools=newbs/reddit-comment-scraper

The input, output, and dataset schemas let AI agents discover the tool and understand its result fields. Optional MCP output connectors can send a compact run summary and dataset link to an authenticated destination without exposing destination credentials to the Actor.

Use with n8n

Use the official Apify node and choose Run an Actor and Get Dataset:

  1. Set Actor ID to newbs/reddit-comment-scraper.
  2. Pass the same JSON input shown above.
  3. Send returned rows to Google Sheets, Slack, Notion, Airtable, a database, or an AI node.

The integrations/n8n-workflows directory also contains importable examples for clean export, pain-point scoring, thread metrics, AI research briefs, brand monitoring, and competitor research.

Reliability and limitations

  • Public Reddit posts only; private, quarantined, age-gated, or removed content may be unavailable.
  • Deleted and removed comment bodies are skipped.
  • Reddit can hide additional comments behind continuation requests. The Actor uses a browser fallback when the fast response indicates more comments are available.
  • maxCommentDepth and maxComments intentionally limit the saved result set.
  • Residential proxy traffic costs more than datacenter traffic but currently gives the best Reddit success rate.

Support

For a failed or empty source, first open the run's Run summary output. It identifies the affected URL and explains whether the post was empty, unavailable, blocked, or stopped by a spending limit.

If the problem persists, open an issue on the Actor page and include the run ID and a public example URL. Do not include API tokens or proxy credentials.

Changelog

September 2026

  • Added persistent onlyNewComments monitoring with per-thread deduplication.
  • Added sinceTimestamp, isolated monitoring keys, and a separate scan limit for busy threads.
  • Added no-new-comments run summaries with scanned, new, and skipped row counts.
  • Switched the fast collector to Reddit's working structured endpoint to avoid browser startup on common runs.
  • Upgraded the runtime to Node 22, Crawlee 3.18, and Puppeteer 25 with a zero-vulnerability production audit.
  • Reduced the first-run default from 25 to 10 comments for tighter cost control.
  • Added a ready-to-run Reddit comment monitoring task and updated the n8n Slack monitor workflow.

July 2026

  • Added HTTP-first collection that skips browser startup when possible.
  • Kept automatic browser fallback for blocked or incomplete JSON responses.
  • Added canonical support for reddit.com variants and redd.it links.
  • Added comment score, permalink, parent ID, original-poster flag, post text, and collection source.
  • Added maximum reply depth.
  • Added a visible per-post run summary for empty and failed sources.
  • Reduced the first-run default from 500 to 25 comments for clearer cost control.