Home › Guides › Reddit Post Comments Scraper
Reddit comment threads: the whole tree with depth, parent, score and karma
The Reddit Post Comments Scraper returns the comments of any public post, as a signed-out visitor sees them — every comment with its text, author, exact time, permalink, score, depth, the parent it answers and the OP/moderator marks. It walks Reddit's own "more comments" loaders, so a reply from the bottom of the tree is as complete as the top comment: measured, 1,500 comments of a 3,503-comment thread with those fields 100% filled. Each author's karma on request; authors can be stable codes for name-free analysis. No login, no cookies, no CAPTCHA solving.
Who it's for
- Community and sentiment analysts reading an entire discussion, not just the top comments.
- Researchers who need structured comment trees — depth and parent preserved — name-free.
- Teams watching a growing thread for only-new comments on a schedule.
- Text-mining and NLP pipelines fed complete rows with scores.
What you get
| Group | Fields |
|---|---|
| Comment | Comment id & fullname, URL, post id/title, subreddit, text, score, controversiality, award count, exact & edit times |
| Structure | depth (0 = top-level), parentId, parent-is-post flag; isSubmitter, distinguished, stickied, locked, collapsed, removedBy |
| Author | Name, flair, deleted flag — or a stable code with hideAuthors; karma & cake day with includeAuthorInfo |
Post row (includePost) | The post itself first, with its full record |
Measured on a 3,503-comment r/AskReddit thread (2026-10-17): 1,500 comments in one run, every id unique, depths 0–3 at 736 / 446 / 218 / 100, 267 requests, 2 MB on the wire.
Input
| Input | What it does |
|---|---|
postUrls | One per line: a post URL, t3_ name or id; share links (/s/) not accepted |
maxCommentsPerPost · maxComments | Comments per post in thread order (default 500) · total rows |
commentSort | confidence (best, default), top, new, controversial, old, qa |
includePost · minCommentScore · maxDepth | Post row first (default on) · keep only comments at/above a score · stop the walk at a depth |
includeAuthorInfo · hideAuthors · onlyNewComments | Author karma (one read per author) · stable author codes · thread watching |
{ "postUrls": ["https://www.reddit.com/r/Python/comments/1x2j7z3/"], "maxCommentsPerPost": 2000, "commentSort": "top", "includePost": true }
Honest limits
- Fewer comments than the post's count — the count includes deleted/removed/collapsed comments; the run's last word says how many weren't reached.
- Some fields are
nullsince Reddit closed its signed-out JSON API (16 Oct 2026):editedAt,controversiality,collapsed,locked,stickied,authorFlair,authorPremium— Reddit's HTML does not carry them. - Big threads are slow — read loader by loader (100 ids a request); set
maxCommentsPerPostto what you need. - A line that is not a post, a deleted post, a private/Premium-only subreddit, or a post with no comments gets a free status row.
Pricing
Pay per result: a comment event per delivered comment row (the author's record rides along free) and a post event for the post's own row with includePost. Status rows are free, filtered-out comments aren't charged, and a run Reddit doesn't answer ends failed and charges nothing. Current prices are on the actor's Pricing tab on Apify.
Read a whole Reddit thread: every comment with depth, parent, score and karma — or author codes for name-free analysis. Exportable to JSON, CSV or Excel.
Open the Reddit Post Comments Scraper →Related
This Actor reads a thread; to discover posts by keyword use the Reddit Search Scraper, by subreddit the Reddit Subreddit Posts Scraper, to hydrate post links the Reddit Post Details Scraper, and for a user's history the Reddit User Scraper.
Frequently asked questions
Do I need a Reddit account, login or API key?
No — a signed-out guest token, no account, no cookies, no CAPTCHA solving. The token is handed to residential addresses only, so Apify Proxy residential is used by default.
Does it get the whole thread?
Yes — it resolves Reddit's own "more comments" loaders (100 ids a request) up to maxCommentsPerPost or the end. Measured: 1,500 comments of a 3,503-comment thread with score, text, author, time, depth and parent 100% filled. Deleted/removed/collapsed comments in Reddit's count aren't delivered, and the run says how many weren't reached.
Can I hide commenter names?
Yes — hideAuthors returns a stable 16-character code instead of the user name, for name-free analyses.
Which orders can I read in?
confidence (best, the default), top, new, controversial, old and qa. The order is honoured by the page and carried on by the loaders, and maxDepth stops the walk rather than filtering afterwards.
Are share links accepted?
No — a /s/ share link is not accepted. Use the full post URL, its t3_ name or its id.
Using the data lawfully
It reads only what Reddit shows anyone who is not signed in. Comment rows carry user names (public pseudonyms) and publicly posted text; hideAuthors replaces names with codes. You are responsible for using the data lawfully (GDPR, CCPA, Reddit's User Agreement). Reddit is a trademark of Reddit, Inc.; this Actor is not affiliated with it.
Reddit Post Comments Scraper — the whole tree, every row complete. Pay per row, no API key.
Get Reddit comments on Apify →