Reddit Thread Scraper avatar

Reddit Thread Scraper

Pricing

Pay per usage

Go to Apify Store
Reddit Thread Scraper

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

Sheshinmcfly

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

1

Monthly active users

2 hours ago

Last modified

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

FieldDescriptionExample
typeRecord type"post"
idReddit post ID"1sa4rlx"
subredditSubreddit name"MachineLearning"
titlePost title"New paper on LLM reasoning"
authorUsername"researcher123"
scoreAs recorded when the post was archived — not its current score1
numCommentsAs recorded when the post was archived — not its current count1
selftextPost body text"We propose a new..."
urlLink URL"https://arxiv.org/..."
permalinkReddit post URL"https://reddit.com/r/..."
flairPost flair label (top mode)"Research"
createdAtPost creation/update time"2026-04-21T10:00:00Z"
extractedAtExtraction timestamp"2026-04-21T12:00:00Z"

Comments (top mode only)

FieldDescriptionExample
typeRecord type"comment"
idComment ID"abc123"
postIdParent post ID"1sa4rlx"
authorUsername"user456"
bodyComment text"Great work, but..."
scoreUpvotes - downvotes342
depthNesting level (0 = top-level)0
permalinkDirect link to comment"https://reddit.com/..."
createdAtComment 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

  1. 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 top mode)
  2. Click Start
  3. 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

ParameterTypeDefaultDescription
subredditsstring[]["MachineLearning"]Subreddit names to scrape (without the r/ prefix)
sortstring"top"top = archived posts, includes comment text; hot/new/rising = latest posts, no comments. Neither returns real vote counts
timeFilterstring"week"Accepted for top, but not currently applied — the archive does not support time filtering
maxPostsPerSubredditinteger25Max posts to extract per subreddit
includeCommentsbooleantrueAlso extract top comments (only in top mode)
maxCommentsPerPostinteger10Max 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

ModeWhat you getEngagement metricsCommentsMax posts/sub
hot / new / risingPosts from todayNo — score and counts come back as 0No25
topRecent postsOnly as recorded when the post first appeared, so usually 1Yes, up to your per-post limit500

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 top does 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.



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


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 top as 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. timeFilter is also marked as accepted but not applied. No change to behaviour or to the fields you get; sort now defaults to top for API callers too, matching what the console already did.
  • v1.1 (2026-07-01) — More reliable, and comments in top mode. Real-time sorts now return the latest posts without needing any credentials, and top mode 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.