Reddit Comments Scraper - Threads & Replies, No Login avatar

Reddit Comments Scraper - Threads & Replies, No Login

Pricing

from $1.70 / 1,000 comments

Go to Apify Store
Reddit Comments Scraper - Threads & Replies, No Login

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

Ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

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 thereHere
"I was charged $127 for 1,738 comments", bills beyond the limitA 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 commentsEach parent is followed by its replies, in Reddit's "best" order
Runs blocked by Reddit (403), empty runsReads 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 twiceA post given as a link, a short link and an id is read once

⬇️ Input

FieldTypeDefaultWhat it does
postUrlsarrayPost links, short links (redd.it/…) or bare post ids
maxCommentsPerPostinteger100Rows per post, up to 10,000; replies count as rows
expandMoreCommentsbooleantrueOpens "load more comments" and "continue this thread"
commentedAfterstringA day (YYYY-MM-DD) or a period back from now (12 hours, 7 days)
onlyNewbooleanfalseSkip every comment an earlier run with the same monitor name delivered
monitorIdstringName 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 planPer 1,000 comments until October 18, 2026From 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)

RunCommentsTime
Sample input (one post)208 s
500 comments of one post, given twice (link and short link) plus an unusable entry50011 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 url values 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

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