Reddit Comments Scraper - Export Comments & Nested Replies avatar

Reddit Comments Scraper - Export Comments & Nested Replies

Pricing

from $1.49 / 1,000 comments

Go to Apify Store
Reddit Comments Scraper - Export Comments & Nested Replies

Reddit Comments Scraper - Export Comments & Nested Replies

Export every comment and nested reply from any Reddit post without the Reddit API - 'load more comments' and deep threads expanded automatically. No API key, no login, no start fee, post details free. CSV, Excel or JSON.

Pricing

from $1.49 / 1,000 comments

Rating

0.0

(0)

Developer

Zaver

Zaver

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Reddit Comments Scraper — Export Every Comment and Nested Reply to CSV, Excel or JSON

Download the complete comment thread of any Reddit post. Paste post URLs and get every comment and nested reply, with "load more comments" and deep threads expanded automatically. No Reddit API key, no login. Pay per comment, no start fee, and the post row is free.

⭐ Full comment trees · up to 50,000 comments per post · reply structure preserved · proxies included · pay only per comment delivered · API and MCP ready

What does Reddit Comments Scraper do?

Reddit Comments Scraper is a purpose-built Reddit comment extractor. Reddit's website shows about 500 comments and hides the rest behind "load more comments" and "continue this thread" links. This Actor opens every one of those branches for you and returns the whole conversation as flat rows.

  • Paste any link to a thread: post URLs, comment permalinks, redd.it short links, mobile share links and bare post IDs all work.
  • Get the whole tree: top-level comments, replies, and replies to replies, at any depth.
  • Keep the structure: every comment carries depth, parentId and parentType, so you can rebuild the thread exactly.
  • Get the post too: title, text, author, score and comment count arrive as one extra row, free of charge.

What data does the Reddit Comments Scraper extract?

Comment fields

FieldDescription
textFull comment body, with original line breaks
id, urlComment ID and permalink
scoreNet upvotes
createdAtISO 8601 timestamp (UTC)
depth0 for top-level comments, 1 for replies, and so on
parentId, parentTypeID of the comment or post being replied to
controversiality, awardsReddit's controversy flag and award count
isEdited, isStickied, distinguishedEdit, pin and moderator or admin flags

Author fields

FieldDescription
authorUsername
authorIdStable account ID, which survives username changes
isSubmittertrue when the commenter is the original poster

Parent post fields

FieldDescription
postId, postTitle, postUrlOn every comment row, so comments from many posts stay separable
subredditCommunity name

When Include the post itself is on, one type: "post" row per thread adds title, text, author, score, upvoteRatio, numComments, flair, imageUrls, link and createdAt.

A Reddit API alternative

Since Reddit changed its API pricing, the official Data API needs a registered app, OAuth credentials and, for commercial use, a paid agreement. Free access is rate limited and listings stop at 1,000 items. With PRAW you also have to call replace_more() yourself, one rate-limited request per hidden branch, to get past the first few hundred comments.

This Actor is a Reddit API alternative for comment threads. It works without the Reddit API: there is no app to register, no client ID or secret, no token refresh and no API pricing to negotiate. You pay per row you export and nothing else.

Official Reddit API or PRAWThis Actor
SetupRegister an app, manage OAuth tokensPaste links or keywords
Commercial usePaid agreement with RedditPay per result
Rate limitsYours to manageHandled for you
Proxies and retriesNot applicable, but you build the pipelineIncluded
OutputRaw API objectsFlat rows: CSV, Excel, JSON

Why use this Reddit comment extractor

It reaches the comments other tools stop before

A page-level scraper returns what the first page shows. This Actor keeps calling Reddit for the hidden branches until your limit is reached or the thread is exhausted. On a 2,700-comment thread it delivers 1,500 comments in about 30 seconds.

No start fee, and the post is free

Many Reddit scrapers add a fee every time a run starts and bill the post row as a result. Here a run costs nothing to start and you pay for comments only.

No login and no API key

Nothing to register, no tokens to refresh, no app review. Residential proxies are built in and included in the price.

You only pay for comments you receive

Charges are made right after each batch is saved. Deleted and removed comments are skipped and never billed. A post that is private or gone returns an error row at no cost.

How to scrape Reddit comments

  1. Open the Actor and paste your links into Reddit post URLs, one per line.
  2. Set Max comments per post. The default is 1,000.
  3. Pick a Comment order. Top returns the most upvoted first, which is what you want when a thread is bigger than your limit.
  4. Press Start and watch comments stream into the dataset.
  5. Export as CSV, Excel, JSON or XML, or fetch through the API.

💡 To capture a whole thread, set Max comments per post above the post's comment count. Reddit's own count includes deleted comments, so the delivered number is usually a little lower.

Input example

{
"postUrls": [
"https://www.reddit.com/r/AskReddit/comments/1wrj0s2/"
],
"maxCommentsPerPost": 1000,
"sort": "top",
"includePost": true
}
FieldTypeDescription
postUrlsarrayRequired. Post URLs, one per line. Comment permalinks, redd.it short links, share links and bare post IDs work too - each is resolved to its parent post.
maxCommentsPerPostintegerMaximum comments per post, nested replies included. Reddit shows about 500 per page; the Actor keeps expanding 'load more comments' until it reaches this number or the thread ends. Default 1000.
sortstringWhich comments come first. Matters when a thread is larger than your limit. Default "top".
includePostbooleanAdd one row with the post's title, text, author, score and comment count. This row is free. Default true.
includeNSFWbooleanInclude posts, comments and communities marked 18+. Off by default. Default false.
maxItemsintegerHard cap on billable comments for the whole run. 0 means no cap. Default 0.

Output example

{
"type": "comment",
"id": "pcdofpa",
"url": "https://www.reddit.com/r/AskReddit/comments/1wab3cd/what_is_a_skill_everyone_should_learn/pcdofpa/",
"text": "Basic cooking. Five recipes you can make without thinking will carry you through life.",
"author": "kitchen_karl",
"authorId": "t2_9x2k1abc",
"score": 2841,
"createdAt": "2026-09-27T15:10:03Z",
"depth": 0,
"parentId": "1wab3cd",
"parentType": "post",
"isSubmitter": false,
"isEdited": false,
"controversiality": 0,
"postId": "1wab3cd",
"postTitle": "What is a skill everyone should learn?",
"postUrl": "https://www.reddit.com/r/AskReddit/comments/1wab3cd/what_is_a_skill_everyone_should_learn/",
"subreddit": "AskReddit",
"source": "https://www.reddit.com/r/AskReddit/comments/1wab3cd/"
}

A reply to that comment has "depth": 1, "parentId": "pcdofpa" and "parentType": "comment".

Pricing

Pay per result. No start fee, no monthly rental, no minimum.

EventCharged forPrice
comment-scrapedeach comment or reply delivered$1.49 / 1,000
-the parent post rowfree
You exportYou pay
1,000 comments$1.49
10,000 comments$14.90
100,000 comments$149.00

You are charged right after each batch lands in your dataset, so a run you stop early costs only what it delivered. Targets that fail, are private, or return nothing are free. Proxies are included in the price - there is nothing else to pay for.

Use cases

Sentiment analysis on real audience language

Export the comments under a product announcement, a review thread or a news story and score them with your own model. Weight by score to reflect what readers actually saw.

AI training data and evaluation sets

Comment trees are multi-turn conversations. With depth and parentId you can build prompt and response pairs, or whole dialogue chains, for fine-tuning and evaluation.

Customer research and voice of customer

Threads asking "what do you use for X" are unprompted product feedback. Extract the comments and count which products are named, and why.

Community moderation and brand safety

Pull every comment on your community's busiest threads for review, or audit the conversation around a campaign before you amplify it.

Journalism and academic research

Capture a full public discussion at a point in time, with stable IDs and UTC timestamps, for quoting, coding or archiving.

FAQ

Do I need a Reddit account or API key? No. It works without the Reddit API. The Actor reads public threads without logging in.

Is scraping Reddit legal? This is general information, not legal advice. The Actor collects only what any logged-out visitor can see, and never touches private communities, private messages or login-protected pages. Whether your use is lawful depends on where you are, what you collect and what you do with it. Usernames and posts can be personal data under laws such as GDPR and CCPA, and Reddit's User Agreement restricts automated collection and some commercial uses of its content. Collect only what you need, do not republish personal data, honour deletion requests, and ask a lawyer before building a commercial product on the data.

How many comments can I get from one post? Up to 50,000 per post. Set Max comments per post to the number you need.

Why is the number of comments lower than what Reddit shows? Reddit's counter includes deleted, removed and spam-filtered comments. Those have no content, so they are skipped and not billed.

Can I paste a link to a single comment? Yes. A comment permalink is resolved to its post and the whole thread is collected.

Can I scrape comments from many posts at once? Yes. Paste up to 5,000 links per run. To collect comments for every post in a community or a search, use the Reddit Scraper with Include comments turned on.

In what order do comments arrive? In the order you choose: top, best, newest, oldest, controversial or Q&A. Replies follow their parent on the first page; expanded branches follow afterwards. Use parentId and depth to rebuild the tree.

Does it work on NSFW posts? Only when Include NSFW content is on. It is off by default.

What happens if a post was deleted or the community is private? You get an error row naming the link and the reason. Error rows are free.

Can I schedule it? Yes. Schedule the Actor to re-collect a live thread and de-duplicate on id.

Integrations

  • Apify API - start runs and fetch datasets from Python, Node.js, cURL or any HTTP client.
  • MCP server - call this Actor as a tool from Claude, Cursor, ChatGPT agents and any MCP client.
  • No-code - Make, Zapier, n8n, Pipedream, Google Sheets, Airtable, Slack, webhooks.
  • Schedules - run hourly, daily or weekly and append to the same dataset for monitoring.
  • Exports - JSON, JSONL, CSV, Excel (XLSX), XML, HTML table, RSS.

Not affiliated with, endorsed by or sponsored by Reddit, Inc. This Actor reads only publicly available pages, does not log in and does not access private communities, private messages or deleted content. You are responsible for using the data in line with applicable laws, Reddit's terms and the privacy rights of the people whose public posts you collect.