Reddit Thread Scraper
Pricing
Pay per usage
Reddit Thread Scraper
Extract posts and comments from any subreddit via Reddit's public JSON API. Filter by sort order (hot, new, top, rising), time range, and optionally include full comment threads. Perfect for AI training data, sentiment analysis, and market research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sheshinmcfly
Maintained by CommunityActor stats
1
Bookmarked
11
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Extract posts and comments from any subreddit — titles, body text, authors, timestamps, permalinks and comment text. No Reddit account, no API key, nothing to set up. Vote counts are not currently available; see Performance below.
Perfect for AI training datasets, sentiment analysis, market research, and trend monitoring.
What data does it extract?
Posts
| Field | Description | Example |
|---|---|---|
type | Record type | "post" |
id | Reddit post ID | "1sa4rlx" |
subreddit | Subreddit name | "MachineLearning" |
title | Post title | "New paper on LLM reasoning" |
author | Username | "researcher123" |
score | As recorded when the post was archived — not its current score | 1 |
numComments | As recorded when the post was archived — not its current count | 1 |
selftext | Post body text | "We propose a new..." |
url | Link URL | "https://arxiv.org/..." |
permalink | Reddit post URL | "https://reddit.com/r/..." |
flair | Post flair label (top mode) | "Research" |
createdAt | Post creation/update time | "2026-04-21T10:00:00Z" |
extractedAt | Extraction timestamp | "2026-04-21T12:00:00Z" |
Comments (top mode only)
| Field | Description | Example |
|---|---|---|
type | Record type | "comment" |
id | Comment ID | "abc123" |
postId | Parent post ID | "1sa4rlx" |
author | Username | "user456" |
body | Comment text | "Great work, but..." |
score | Upvotes - downvotes | 342 |
depth | Nesting level (0 = top-level) | 0 |
permalink | Direct link to comment | "https://reddit.com/..." |
createdAt | Comment creation time | "2026-04-21T10:05:00Z" |
Use cases
- AI training data: Clean text from expert communities for LLM fine-tuning
- Sentiment analysis: Monitor brand mentions and user opinions in real time
- Market research: Track trends and discussions in niche communities
- Competitive intelligence: See what problems users are discussing
- RAG pipelines: Feed domain-specific knowledge into retrieval systems
How to use
- Open the actor and configure:
- Subreddits: List subreddit names (e.g.
MachineLearning,investing,Python) - Sort:
top(default) → draws from public archives and includes comment text.hot/new/rising→ the latest posts, titles and bodies only. No mode returns real vote counts — see Performance for why - Max posts: Cap per subreddit — up to 500 with
top, up to 25 with the real-time sorts - Include comments: Fetch top comments per post (available in
topmode)
- Subreddits: List subreddit names (e.g.
- Click Start
- Download results as JSON, CSV, or Excel
Agent-ready via x402: AI agents can run this actor directly with USDC on Base — no Apify account needed. See x402 protocol docs.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
subreddits | string[] | ["MachineLearning"] | Subreddit names to scrape (without the r/ prefix) |
sort | string | "top" | top = archived posts, includes comment text; hot/new/rising = latest posts, no comments. Neither returns real vote counts |
timeFilter | string | "week" | Accepted for top, but not currently applied — the archive does not support time filtering |
maxPostsPerSubreddit | integer | 25 | Max posts to extract per subreddit |
includeComments | boolean | true | Also extract top comments (only in top mode) |
maxCommentsPerPost | integer | 10 | Max top-level comments per post |
Example output (JSON)
[{"type": "post","id": "1sa4rlx","subreddit": "MachineLearning","title": "[D] New method achieves SOTA on reasoning benchmarks","author": "ml_researcher","score": 1420,"upvoteRatio": 0.97,"numComments": 83,"selftext": "We introduce a novel approach...","url": "https://arxiv.org/abs/2504.12345","permalink": "https://www.reddit.com/r/MachineLearning/comments/1sa4rlx/","flair": "Research","createdAt": "2026-04-21T10:00:00.000Z","extractedAt": "2026-04-21T12:00:00.000Z"},{"type": "comment","id": "kxyz789","postId": "1sa4rlx","subreddit": "MachineLearning","author": "deep_learner","body": "Impressive results. Did you test on out-of-distribution benchmarks?","score": 342,"depth": 0,"permalink": "https://www.reddit.com/r/MachineLearning/comments/1sa4rlx/comment/kxyz789/","createdAt": "2026-04-21T10:05:00.000Z","extractedAt": "2026-04-21T12:00:00.000Z"}]
Performance
| Mode | What you get | Engagement metrics | Comments | Max posts/sub |
|---|---|---|---|---|
hot / new / rising | Posts from today | No — score and counts come back as 0 | No | 25 |
top | Recent posts | Only as recorded when the post first appeared, so usually 1 | Yes, up to your per-post limit | 500 |
Please read this before relying on scores. Reddit stopped serving engagement data to anonymous callers, and the public archives this Actor can reach record a post when it is first published — at which point its score is 1 and it has no replies yet. So no mode currently returns a post's real, current score or comment count, and
topdoes not rank by score either. What every mode does return reliably is the text: titles, post bodies, authors, timestamps, permalinks, and the comment text that the archives hold. If your use case is text — AI training data, RAG, topic and sentiment analysis — that is unaffected. If you need vote counts, this Actor cannot give them to you right now, and we would rather say so here than let you find out from the data.
Pricing
This actor charges $0.002 USD per item extracted (posts and comments each count as one item). Extracting 100 posts with 10 comments each = 1,100 items ≈ $2.20 USD.
Related actors
- Stack Overflow Scraper — questions, answers, and tags from Stack Overflow.
- ArXiv Paper Scraper — research papers with citations and TLDR summaries.
- Trustpilot Reviews Scraper — business reviews and ratings.
- MercadoLibre Scraper — product listings and prices from MercadoLibre.
FAQ
Do I need a Reddit account or API key? No. Only publicly visible content is read, so there is no login, API key, or credential to provide.
What's the difference between hot/new and top?
hot, new and rising return posts from today, up to 25 per subreddit, with no comments. top draws from public archives, up to 500 per subreddit, and includes comment text. Neither returns real vote counts.
Does top return recent posts?
It does. top no longer ranks by score — the archive it reads cannot sort that way — so read it as "archived posts, with comment text" rather than "best posts". The timeFilter parameter is accepted but not currently applied.
Can I scrape private or NSFW subreddits? No. This actor only accesses publicly available posts visible to anonymous visitors. Private, quarantined, and restricted subreddits are not accessible.
What export formats are available? JSON, CSV, and Excel — download from the run's dataset or pull via the Apify API.
Keywords
reddit scraper, subreddit posts extractor, reddit comments scraper, reddit data for AI, reddit sentiment analysis, reddit thread extractor, social media scraper, reddit post scraper, NLP training data, reddit market research
Legal Disclaimer
This actor extracts publicly available data only from Reddit and public archives of Reddit content, in compliance with Chilean Law 19.628 on the Protection of Private Life (Ley 19.628 sobre Protección de la Vida Privada).
What this actor does NOT collect:
- Private messages or non-public posts
- Email addresses or personal contact information
- Data from private or restricted subreddits
- Any data not freely visible to anonymous visitors
What this actor collects:
- Post titles, body text, and metadata (public content)
- Publicly visible usernames and comment text
- Engagement metrics (score, upvotes, comment counts)
All data is publicly accessible without authentication. Users are solely responsible for ensuring their use of this data complies with applicable laws and Reddit's terms of service.
Changelog
- v1.3 (2026-10-12) — Many more comments per run, and no more empty runs. Three fixes: comment threads are now collected for every post instead of being skipped for most of them (a 5-post request went from a handful of comments to 30 in testing); a transient rate limit from the data source no longer ends the run empty-handed, because it is now retried instead of abandoned; and the Max results limit you set is now enforced across posts and comments together, so a run can never return — or charge for — more items than you allowed.
- v1.2 (2026-10-06) — Honest documentation of what vote counts actually contain. Earlier versions described
topas returning the highest-scoring posts with real scores and comment counts. That is no longer what happens: Reddit stopped serving engagement data to anonymous callers, and the public archives this Actor reads record a post when it first appears, when its score is still 1. The docs now say so plainly, in the field table, the input table, the FAQ and a note under Performance, instead of leaving you to discover it in the output. Text extraction — titles, bodies, authors, timestamps, permalinks, comment text — is unaffected.timeFilteris also marked as accepted but not applied. No change to behaviour or to the fields you get;sortnow defaults totopfor API callers too, matching what the console already did. - v1.1 (2026-07-01) — More reliable, and comments in
topmode. Real-time sorts now return the latest posts without needing any credentials, andtopmode gained full comment threads plus a higher cap (500 posts per subreddit). - v1.0 — Initial release: posts and comments from any subreddit, JSON/CSV/Excel export.