Reddit Comments Scraper - Threads & Replies, No Login
Pricing
from $1.70 / 1,000 comments
Reddit Comments Scraper - Threads & Replies, No Login
Returns the comments and replies of Reddit posts given by link or id: text, author, score, depth, parent and the post they belong to, one row per comment with each reply after its parent. Expands hidden replies, takes a date limit and has an only-new mode for watching threads. No login.
Pricing
from $1.70 / 1,000 comments
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
💬 Reddit Comments Scraper
Returns the comments and replies of Reddit posts without a Reddit login or API key. Paste post links and get one row per comment: text, author, score, time, depth and the comment it answers, with every reply directly after its parent. It opens the replies Reddit hides behind "load more", takes a date limit, and has an only-new mode for watching threads.
Price: until October 18, 2026 $2.00 per 1,000 comments on the Apify Free plan ($1.70 from Gold up); from October 19 $0.80 ($0.60 from Gold up). A reply is a row like a comment. A post that was deleted or is private costs nothing. Export to JSON, CSV or Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.
🔎 What is the Reddit Comments Scraper?
It reads a post's thread through Reddit's API, so no browser runs and 512 MB of memory is enough. 500 comments of one post took 11 seconds.
The thread arrives as a tree and leaves as a flat table: depth 0 is a comment on the post, 1 a reply to it, and so on, and parent_id names what each row answers. A spreadsheet can read it top to bottom, and code can rebuild the tree.
What data does it extract?
- Comment: id, permalink, text (plain and Markdown), time, edited flag
- Author, and whether the author is the post's author
- Engagement: score, number of direct replies, awards
- Thread:
depth,parent_id,post_id - Post: title, link and subreddit on every row
- For AI use: word count and estimated token count
What users of Reddit scrapers ask for, and what this Actor does
The issue pages of the four most used Reddit Actors on Apify were read on October 4, 2026:
| Asked for there | Here |
|---|---|
| "I was charged $127 for 1,738 comments", bills beyond the limit | A reply costs the same as a comment. A limit is exact, and a run stops at its maximum charge with what it has saved |
| Order of the comments | Each parent is followed by its replies, in Reddit's "best" order |
| Runs blocked by Reddit (403), empty runs | Reads Reddit's API instead of its web pages; a deleted or private post is named in the status message and the run still succeeds |
| The same post collected twice | A post given as a link, a short link and an id is read once |
⬇️ Input
| Field | Type | Default | What it does |
|---|---|---|---|
postUrls | array | Post links, short links (redd.it/…) or bare post ids | |
maxCommentsPerPost | integer | 100 | Rows per post, up to 10,000; replies count as rows |
expandMoreComments | boolean | true | Opens "load more comments" and "continue this thread" |
commentedAfter | string | A day (YYYY-MM-DD) or a period back from now (12 hours, 7 days) | |
onlyNew | boolean | false | Skip every comment an earlier run with the same monitor name delivered |
monitorId | string | Name of that memory |
Example input
The threads of two posts:
{"postUrls": ["https://www.reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/","https://redd.it/1wi5ego"],"maxCommentsPerPost": 500}
Only what was written in the last day:
{"postUrls": ["https://www.reddit.com/r/AI_Agents/comments/1wi5ego/what_web_scraping_tools_are_you_using_right_now/"],"commentedAfter": "1 day","maxCommentsPerPost": 1000}
A watch on a thread for a schedule:
{"postUrls": ["https://www.reddit.com/r/AI_Agents/comments/1wi5ego/what_web_scraping_tools_are_you_using_right_now/"],"maxCommentsPerPost": 1000,"onlyNew": true,"monitorId": "launch-thread"}
Input names of other Reddit Actors are read as well: startUrls, urls, maxComments, commentDateLimit and commentDateFrom.
⬆️ Output
One row per comment or reply (the Markdown text is shortened here):
{"id": "c60q4ga","post_id": "z1c9z","parent_id": "t1_c60o0iw","permalink": "https://reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/c60q4ga/","body": "> By the way, if you want to know what I think about this whole reddit experience - NOT BAD! http://i.imgur.com/VKN34.jpg HE KNOWS","body_markdown": "> \n\nBy the way, if you want to know what I think about this whole reddit experience - NOT …","author": "aleowk","score": 2022,"ups": 2022,"downs": 0,"created_utc": "2012-08-30T00:21:33","edited": false,"is_submitter": false,"stickied": false,"locked": false,"score_hidden": false,"total_awards_received": 0,"depth": 1,"word_count": 23,"token_count": 35,"reply_count": 5,"post_title": "I am Barack Obama, President of the United States -- AMA","post_url": "https://www.reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/","subreddit": "IAmA","scraped_at": "2026-10-04T15:08:34.095336+00:00"}
parent_id starts with t1_ when the row answers a comment and with t3_ when it answers the post. The status message says how many comments Reddit counts for a post when your limit ended the read. The run also writes a SUMMARY record.
💰 What a run costs
| Apify plan | Per 1,000 comments until October 18, 2026 | From October 19, 2026 |
|---|---|---|
| Free | $2.00 | $0.80 |
| Bronze | $1.90 | $0.70 |
| Silver | $1.80 | $0.65 |
| Gold, Platinum, Diamond | $1.70 | $0.60 |
Apify's standard start event ($0.00005) is the only other charge; proxies are included. Not charged: a post that was deleted or is private, a comment from before your date limit, and a comment already delivered in only-new mode.
⏱️ Measured on Apify (October 4, 2026)
| Run | Comments | Time |
|---|---|---|
| Sample input (one post) | 20 | 8 s |
| 500 comments of one post, given twice (link and short link) plus an unusable entry | 500 | 11 s |
All at 512 MB.
🔔 Watching threads
Turn on onlyNew, give the watch a monitorId and put the run on a schedule. Each run reads the thread and saves the comments that earlier runs did not deliver. Comments from before the oldest comment of the first run stay outside the watch. The memory is a key-value store named reddit-comments-monitor in your own account; delete a record there to start over.
🤖 For AI agents
Smallest useful call:
{"postUrls": ["https://www.reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/"], "maxCommentsPerPost": 50}
Each row is one comment with body, author, score, created_utc, depth, parent_id and permalink. postUrls takes several posts. A post that is not available returns no rows; the status message and the SUMMARY record name it. No credentials are needed.
💡 Use cases
- 🧪 Sentiment and opinion analysis: whole threads about a product or a launch.
- 🧠 Data for models: real question-and-answer threads with the tree kept.
- 🛟 Support and community care: new comments on your announcement posts, on a schedule.
- 🔬 Research: how a discussion developed, with times and scores.
⚠️ Limits, stated plainly
- Very large threads take many requests. Reddit hands out hidden replies in batches; a post with tens of thousands of comments was read up to your limit, not to its end, in the tests here.
- The count on the post can be higher than the rows. It includes deleted and removed comments, which Reddit does not return.
- A watch reads the thread again on every run. Use a limit that fits the thread.
- Comments of posts you name, not a comment search. To find posts by keyword first, use the Reddit Search Scraper and pass its
urlvalues here. - Scores are the values at the time of the run.
❓ FAQ
Do I need a Reddit account or API key? No.
Does it return replies to replies? Yes, every level, each directly after its parent.
How do I rebuild the tree? Group rows by parent_id: t3_… is the post, t1_<id> the comment with that id.
Can I give many posts? Yes. Each post gets its own limit.
Can I get only new comments? Yes, with commentedAfter for a date limit or onlyNew on a schedule.
How do I call it from code? With the Apify API or the Python and JavaScript clients; every run returns a dataset you can fetch as JSON or CSV. It also works as a tool through Apify's MCP server.
Is it legal? The Actor reads public Reddit comments. They carry usernames and can contain personal data: GDPR, CCPA and similar rules apply to how you store and use them, and Reddit's terms apply to you as well.
🔗 You might also like
- Reddit Search Scraper: posts by keyword across Reddit
- Subreddit Scraper: the posts of whole subreddits
- Reddit Scraper: posts with nested comment trees, users and search in one Actor
- Reddit Archive Scraper: historical posts and comments by exact date range
Keywords: reddit comments scraper, reddit comment export, scrape reddit comments, reddit thread scraper, reddit replies, reddit comments api, reddit comments csv, reddit thread monitoring, reddit sentiment data, reddit comments for ai, no api key reddit scraper