Reddit Post Comments Scraper avatar

Reddit Post Comments Scraper

Pricing

from $4.00 / 1,000 comments

Go to Apify Store
Reddit Post Comments Scraper

Reddit Post Comments Scraper

Scrapes full comment trees from Reddit posts — user handles, upvotes, nested replies, and per-comment sentiment.

Pricing

from $4.00 / 1,000 comments

Rating

0.0

(0)

Developer

electra bot

electra bot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Extract every comment from any Reddit post — the full nested reply tree, with author, score, depth, timestamps, and built-in sentiment analysis — as JSON, CSV, or Excel.

Paste one or many post URLs. Comments come back flattened with depth and parentId so you can rebuild the tree or analyze it flat.

Pay per result — you're charged per comment delivered. Failed or unreachable posts cost nothing.


What can I use it for?

  • Brand & product sentiment — every comment is scored positive/negative/neutral out of the box; aggregate the mood of a thread in one pass.
  • Market & customer research — mine discussion threads for pain points, feature requests, and objections in your niche.
  • AI training & RAG — clean, structured comment text with threading intact.
  • Community & moderation analytics — who's active, what scores well, how deep conversations go.
  • Trend monitoring — track how a topic is discussed across many posts.

Input

FieldRequiredDescription
Post URLsReddit post links — full www/old/np URLs or redd.it short links. Each comment found is one result.
Comment sortbest (default), top, new, controversial, old, qa. Matters when a post has more comments than the limit.
Max reply depthHow deep into reply threads to go (0 = top-level only; default 10).
Max comments per postUpper bound per post (1–500; default 500).
Proxy configurationAutomatic by default: datacenter proxy first, auto-escalating to RESIDENTIAL when Reddit blocks it.

Output

One record per comment:

{
"postUrl": "https://www.reddit.com/r/programming/comments/1uo1w91/...",
"postId": "1uo1w91",
"postTitle": "What ORMs have taught me: just learn SQL",
"subreddit": "programming",
"commentId": "abc123",
"parentId": null,
"depth": 0,
"author": "some_user",
"body": "Honestly this matches my experience...",
"score": 148,
"createdAt": "2026-06-30T14:22:01Z",
"permalink": "https://www.reddit.com/r/programming/comments/1uo1w91/.../abc123/",
"sentiment": "positive",
"sentimentScore": 0.6597,
"isTopLevel": true
}
FieldDescription
depth / parentId / isTopLevelReconstruct the thread tree, or analyze flat
sentiment / sentimentScoreVADER sentiment (tuned for social text): label + compound score (−1…+1)
scoreComment's net upvotes
author / createdAt / permalinkWho, when, and a direct link

Why this scraper is reliable

  • Beats Reddit's 2026 anti-bot walls — Reddit now hard-blocks plain HTTP clients (even through residential proxies). This actor uses a real stealth browser session to reach the structured comment data, so you get clean JSON, not brittle HTML scraping.
  • Automatic proxy escalation — starts on a cheap datacenter proxy and escalates to residential only when Reddit blocks it, so you get reliability without paying residential rates for every request.
  • Sentiment included — no separate NLP step; every comment ships with a label and score.
  • Honest run statuses — deleted/removed comments are skipped; unreachable posts are reported per post in the SUMMARY and never charged; a run with zero comments is marked Failed, never a silent empty dataset.
  • No silent truncation — Reddit collapses the tail of huge threads into "load more" stubs. If a thread has more comments than were retrieved, the run says so and the SUMMARY.posts array reports commentsAvailable vs commentsScraped per post. You always know whether you got the whole thread.
  • Batch-safe — comments are saved incrementally and runs are checkpointed: an interruption never loses finished posts or double-charges.

Tips & limits

  • Big threads: Reddit returns at most ~500 comments per request, and the tail of a large discussion collapses into "load more" stubs. Set Max comments per post to 500 to get as much as Reddit will serve; the run and SUMMARY.posts tell you exactly how many of the thread's comments you received (commentsScraped vs commentsAvailable).
  • Deleted and removed comments are omitted (no body worth storing).
  • For private, quarantined, or removed posts, the post is reported as failed in the SUMMARY — you're not charged for it.

FAQ

Does it get comments from a whole subreddit? This actor takes post URLs. Pair it with a subreddit/post-listing scraper and feed the post URLs in — each comment is one result.

What sentiment engine is used? VADER — a lexicon tuned for social-media text (handles emphasis, negation, emoji, slang). sentimentScore is the compound score from −1 (most negative) to +1 (most positive).

Why did a post fail? Check the run's SUMMARY — each failed post is listed with a reason (not found, private, removed). Failed posts are never charged.

Is scraping Reddit legal? This actor accesses only publicly visible posts and comments. You are responsible for complying with applicable laws and Reddit's User Agreement. Don't scrape private or personal data.


Disclaimer

This is an unofficial tool. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Reddit, Inc. "Reddit" and related names, marks, and logos are trademarks of their respective owners and are used here for descriptive purposes only.

This actor accesses only publicly available information. You are responsible for ensuring your use complies with applicable laws, Reddit's User Agreement and API terms, and applicable rate-limiting rules. Use it ethically and at your own risk.