Reddit Comments Scraper – Threads & Replies avatar

Reddit Comments Scraper – Threads & Replies

Pricing

from $2.39 / 1,000 reddit comments

Go to Apify Store
Reddit Comments Scraper – Threads & Replies

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

Chronometrica

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

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: parentId and depth show 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 groupExample fields
🔗 Post identityinputUrl, canonicalPostUrl, postId, postTitle
💬 Comment identitycommentId, parentId, permalink, depth
🧾 Comment detailsauthorName, body, createdAt
📊 Public countscore, scorePrecision
🚦 AvailabilityunavailableFields, 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 caseHow the data helps
👂 Voice-of-customer researchStudy public words, needs, and complaints.
🧵 Conversation analysisRebuild reply links with stable parent IDs.
📈 Topic researchMeasure and compare public discussions.
🧱 Data pipelinesLoad flat comment rows into a database or tool.
🛡️ Moderation researchKeep 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?

  1. Open the Actor in Apify Console.
  2. Paste one or more public Reddit post URLs.
  3. Set the comment cap for each post.
  4. Click Start.
  5. Open Output to view or download the rows.

⬇️ Input

{
"postUrls": [
"https://www.reddit.com/r/LocalLLaMA/comments/abc123/example/"
],
"maxCommentsPerPost": 100
}

🎛️ Settings

SettingWhat it controls
postUrlsOne to 50 public Reddit post URLs.
maxCommentsPerPostUnique 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.