Reddit Comments Scraper avatar

Reddit Comments Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Reddit Comments Scraper

Reddit Comments Scraper

🗣️ Reddit Comments Scraper extracts high-quality comments from subreddits—fast, reliable, and export-ready. ✅ Perfect for sentiment analysis, market research, and content insights. 📊 Save time and discover what users really think!

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeVanta

ScrapeVanta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get the comments on a Reddit post - or on the top posts of a whole subreddit - with the thread structure preserved.

What you get

  • The thread survives a flat export. Every comment carries its depth, its parentId and whether it isReply, so a CSV can be rebuilt into the conversation it came from.
  • The 'load more comments' stub is not returned as a comment. Reddit ends each branch with a placeholder; the previous approach would have handed it to you as a comment with an empty body.
  • A subreddit works as well as a post. Give it r/aww and it takes the top posts and reads each one's comments.
  • A URL that names no post is reported, never substituted. The Facebook comments Actor in this account defaulted to a hardcoded post id when it could not parse a URL, and quietly returned a stranger's comments; this one says the URL is unrecognised.
  • A commenter rollup ranks who said most, with their total and average score.
  • commentCoverage per post compares how many comments the post has with how many came back.
  • It had no input schema at all before, so there was nothing to fill in.

Input

FieldTypeRequiredWhat it does
startUrlsarrayyesLinks to Reddit posts, or r/name to take the top posts of a subreddit.
maxCommentsPerPostintegernoStop after this many comments on each post.
includeRepliesbooleannoWalk the whole thread. Each comment carries its depth and parent, so the structure survives a flat export.
commentSortstringnoHow Reddit should order the comments.
maxPostsPerSubredditintegernoWhen a subreddit is given rather than a post, how many of its posts to read.
subredditListingstringnoWhich listing to take those posts from.
redditClientIdstringyesFrom a script app at reddit.com/prefs/apps. Free, takes a minute. Reddit closed public access, so this is now the only route.
redditClientSecretstringyesThe secret shown beside the client id.
redditUsernamestringnoOptional. Included in the User-Agent, which Reddit's API rules ask for and which raises your rate limit.

You need your own Reddit credentials - here is why, and how

Reddit has closed public access. Measured on 2026-08-21, every unauthenticated route returns a "Welcome to Reddit" login page:

RouteResult
www.reddit.com/r/.../.jsonHTTP 403
old.reddit.com/...HTTP 200 carrying the login wall
api.reddit.com/...HTTP 403
www.reddit.com/user/.../about.jsonHTTP 403

Tried from a direct connection, an Apify residential exit node and a static one, with a browser User-Agent, a bot User-Agent and none at all. Same wall every time.

So this Actor uses Reddit's own API, which is free and documented:

  1. Sign in to Reddit and go to reddit.com/prefs/apps.
  2. Create another app at the bottom of the page.
  3. Choose type script. Any name; the redirect URI can be http://localhost:8080.
  4. Copy the client id (the string under the app name) and the secret.
  5. Paste them into redditClientId and redditClientSecret.

No user login, no redirect, no OAuth dance at run time - the Actor exchanges those two values for a token itself. Both fields are marked secret, so they are not shown in run logs.

Setting redditUsername is optional but worth it: Reddit's API rules ask for a descriptive User-Agent naming the account behind the app, and supplying one raises your rate limit.

If the credentials are missing or wrong, the run says so plainly and stops - it does not silently return nothing.

Failures are not billed

A URL that names no post, a private or quarantined subreddit, a deleted account: each comes back as an unavailable record explaining what happened, and is not charged for. Coverage records, rollups and the run summary are not charged either. Only a comment, post or profile is.

Use it responsibly

Reddit content is public but the people who wrote it are not anonymous to themselves. Usernames and comment history are personal data in many jurisdictions, and Reddit's API terms govern what you may do with what you collect - in particular around redistribution and building profiles of individuals. This Actor stays inside Reddit's own API and its rate limits.