Reddit Comments Scraper – Threads & Replies
Pricing
from $2.39 / 1,000 reddit comments
Reddit Comments Scraper – Threads & Replies
Export public Reddit comments and replies from known post URLs. Get clean text, authors, scores, timestamps, parent IDs, reply depth, and permalinks with clear caps and row states—no Reddit login or API key.
Pricing
from $2.39 / 1,000 reddit comments
Rating
0.0
(0)
Developer
Chronometrica
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
💬 What does Reddit Comments Scraper do?
Paste public Reddit post URLs and export the public comments and replies.
Use it for conversation research, customer language, public feedback, topic analysis, moderation research, and loading Reddit discussions into a database.
Each dataset row is one unique public comment. Rows include stable comment and parent IDs, post identity, comment depth, author, body, public score, time, permalink, and clear missing-field notes.
This Actor uses logged-out public Reddit data. It does not use Reddit accounts, cookies, OAuth, private groups, or private user data.
With Reddit Comments Scraper, you can:
- 💬 Export comments and replies from known public posts.
- 🌳 Keep parent IDs and reply depth when the public tree shows them.
- 🆔 Get stable post and comment IDs with canonical links.
- 🧹 Remove duplicate input URLs and duplicate comment IDs.
- 🚦 Keep deleted, removed, partial, and unavailable states clear.
- 📦 Download JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
✅ Why choose this Reddit comments scraper?
- 🌳 Keep the reply tree:
parentIdanddepthshow how comments and replies connect. - 📊 Use flat, clean rows: one comment per row works in CSV, Excel, databases, and LLM pipelines.
- 🚦 Know what is missing: caps, hidden branches, deleted comments, removed comments, and partial results are reported clearly.
- 🔑 Skip Reddit setup: no Reddit account, OAuth app, API key, or proxy setting is required.
📦 What data can I extract?
| Data group | Example fields |
|---|---|
| 🔗 Post identity | inputUrl, canonicalPostUrl, postId, postTitle |
| 💬 Comment identity | commentId, parentId, permalink, depth |
| 🧾 Comment details | authorName, body, createdAt |
| 📊 Public count | score, scorePrecision |
| 🚦 Availability | unavailableFields, status, statusReason |
Missing public values stay null. They are not guessed or changed to fake
zeroes.
⚙️ Can I use this Actor through an API?
Yes. Run it in Apify Console or through the Apify API, SDKs, webhooks, schedules, and integrations.
🎯 Common uses
| Use case | How the data helps |
|---|---|
| 👂 Voice-of-customer research | Study public words, needs, and complaints. |
| 🧵 Conversation analysis | Rebuild reply links with stable parent IDs. |
| 📈 Topic research | Measure and compare public discussions. |
| 🧱 Data pipelines | Load flat comment rows into a database or tool. |
| 🛡️ Moderation research | Keep removed and deleted states clear. |
💵 Cost controls
You pay once for each useful public comment saved. Deleted and removed placeholders are saved free because they preserve the reply tree but do not contain usable comment text. Duplicate comments, failed inputs, and run summaries are also free.
maxCommentsPerPost caps saved rows for each post, and the Actor stops when it
reaches the buyer's maximum charge. Start with 25 to 100 comments. Larger caps
can take more time and use more compute and data traffic. A small start fee
also applies as shown in the Store pricing table.
🚀 How do I use it?
- Open the Actor in Apify Console.
- Paste one or more public Reddit post URLs.
- Set the comment cap for each post.
- Click Start.
- Open Output to view or download the rows.
⬇️ Input
{"postUrls": ["https://www.reddit.com/r/LocalLLaMA/comments/abc123/example/"],"maxCommentsPerPost": 100}
🎛️ Settings
| Setting | What it controls |
|---|---|
postUrls | One to 50 public Reddit post URLs. |
maxCommentsPerPost | Unique comment cap per post, from 1 to 500. |
Connection recovery is automatic. You do not need to choose or supply a proxy.
⬆️ Output sample
{"platform": "reddit","inputUrl": "https://www.reddit.com/r/LocalLLaMA/comments/abc123/example/","canonicalPostUrl": "https://www.reddit.com/r/LocalLLaMA/comments/abc123/example/","postId": "t3_abc123","postTitle": "Example public post","commentId": "t1_def456","parentId": "t3_abc123","depth": 0,"authorName": "example_user","body": "Example public comment","score": 12,"scorePrecision": "displayed","createdAt": "2026-07-19T19:00:00.000Z","permalink": "https://www.reddit.com/r/LocalLLaMA/comments/abc123/example/def456/","unavailableFields": [],"status": "ok","statusReason": null,"observedAt": "2026-07-19T20:00:00.000Z"}
🧾 Run summary
The OUTPUT record reports URLs received, threads resolved, comments found,
rows saved, billable and free rows, duplicate comments merged, hidden branches
remaining, cap use, whether the run finished, and a result for each input URL.
🚦 Status and availability fields
ok: the public comment was read with its normal fields.deleted: Reddit shows the comment as deleted.removed: Reddit shows the comment as removed.partial: the Actor saved public comments but more may remain.failed: the public post could not be read.unavailableFields: lists fields Reddit did not show for that comment.
🔒 Source boundary
The Actor reads logged-out public Reddit data only. It does not log in, use user cookies, solve account checks, read private subreddits, or collect private data.
⚠️ Limits
The cap is a maximum, not a promise. Large threads may have public comments
outside the bounded work for one run. Deleted or removed comments may lack an
author, body, score, or time. Some public views can show fewer details. Check
unavailableFields and OUTPUT.hiddenBranchesRemaining.
❓ FAQ
Does it need a Reddit API key or account?
No.
Does it collect every comment?
It collects up to the chosen cap. The summary marks a thread partial when the cap is reached or public branches may still remain.
Is the output a nested comment tree?
The dataset uses one flat row per comment so it exports cleanly to CSV, Excel,
and databases. Use parentId and depth to rebuild the reply tree.
How are duplicates removed?
Input posts are matched by stable post ID. Comments are merged by stable comment ID.
🛟 Support
Include the Apify run ID, one affected post URL, what you expected, and what you received.