Reddit Comment Scraper | Threads & Replies avatar

Reddit Comment Scraper | Threads & Replies

Pricing

from $6.00 / 1,000 comments

Go to Apify Store
Reddit Comment Scraper | Threads & Replies

Reddit Comment Scraper | Threads & Replies

Extract Reddit comments, scores, authors, timestamps, permalinks, and nested reply paths. Fast HTTP-first collection with automatic browser fallback.

Pricing

from $6.00 / 1,000 comments

Rating

0.0

(0)

Developer

Newbs

Newbs

Maintained by Community

Actor stats

2

Bookmarked

96

Total users

7

Monthly active users

10 hours ago

Last modified

Share

Scrape comments and nested replies from public Reddit posts without a Reddit API key or login. Get one clean dataset row per comment, including author, score, timestamp, permalink, parent ID, reply depth, and post context.

The Actor tries Reddit's structured HTTP response first and automatically uses a browser fallback when a thread needs it. This keeps common runs fast while preserving reliability on difficult pages.

What you can do

  • Analyze product feedback, complaints, feature requests, and customer language.
  • Export complete reply chains for sentiment analysis and topic classification.
  • Build Reddit datasets for AI agents, RAG pipelines, and research.
  • Monitor selected discussion threads from n8n, Make, Zapier, or Pipedream.
  • 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 25 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": 25,
"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
maxComments25Maximum 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: 25 can save up to 50 paid comment rows.

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, row count, collection source, duration, and an explanation when a post returns no rows. This avoids silent empty runs.

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
25$0.15
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: 25,
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

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.