Reddit Pro Scraper — Posts, Full Comment Trees & Monitoring avatar

Reddit Pro Scraper — Posts, Full Comment Trees & Monitoring

Pricing

$1.00 / 1,000 result items

Go to Apify Store
Reddit Pro Scraper — Posts, Full Comment Trees & Monitoring

Reddit Pro Scraper — Posts, Full Comment Trees & Monitoring

Posts, árboles de comentarios completos, subreddits y usuarios de Reddit vía API oficial: 50% más barato, con monitor y markdown para IA.

Pricing

$1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Damian Oliva

Damian Oliva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

Scrape public Reddit data through the official Reddit API: subreddit feeds, global search, user histories, complete comment trees (100% expanded), single-post details, r/popular and community info — with incremental monitoring and AI-ready markdown, at half the typical per-item price.

What it does

  • 7 scrape modes: subreddit feed, search (global or within one subreddit), user_posts (a user's posts + comments + profile card), post_comments (a post with its full comment tree), post_details (one post), popular (r/popular), subreddit_info (community profile).
  • Full comment trees: morechildren placeholders are expanded recursively until the tree is complete or your maxCommentsPerPost cap is hit. When the cap cuts the tree, the post is flagged commentsTruncated: true — you always know whether you got everything.
  • Monitor mode: schedule the actor and get only new items on each run. Seen IDs persist in the key-value store per source, so daily tracking costs you only the delta.
  • Markdown for AI (outputFormat: markdown|both): every post gets a clean markdown rendering (title, meta, body, top comments threaded) plus a tokensEstimate (~chars/4). The markdown itself is never billed — only the result item.
  • Filters: time window (timeRange), minimum score, flair text, NSFW on/off.
  • Official API first, archive fallback: uses Reddit's official JSON/OAuth API (bring your own Reddit app credentials for the live OAuth path), and automatically falls back to the public Reddit archive when official endpoints are unreachable from the current network.

Use cases

  • Brand & reputation monitoring (track subreddits daily with monitorMode).
  • Voice-of-customer research: full complaint/praise threads, not just top-level comments.
  • Training data for LLMs: markdown + token estimates, thread-ordered comments with depth.
  • Lead discovery: search niche subreddits for buying-intent keywords.
  • Community stats: subscribers, creation date, descriptions via subreddit_info.

How to use

  1. Pick a mode.
  2. Fill the required field for that mode (subreddit, query, username or postUrl).
  3. Set maxItems — the hard cap on billed result rows (controls spend).
  4. Run. Results land in the default dataset; each row is charged as one result-item event.

The 7 modes with examples

ModeRequired inputExample
subredditsubreddit: technology, sort: hotLatest hot posts of r/technology
searchquery: "mechanical keyboard"Global search (add subreddit to restrict)
user_postsusername: spezProfile card + posts + comments of u/spez
post_commentspostUrl: <post URL or ID>Full comment tree of one post
post_detailspostUrl: <post URL or ID>Just the post (add includeComments for top comments)
popular—r/popular feed
subreddit_infosubreddit: technologyCommunity profile (subscribers, description…)

Extra knobs: sort (hot/new/top/rising/controversial/relevance/comments), timeRange (hour/day/week/month/year/all), minScore, flairFilter, includeNsfw, includeComments, maxCommentsPerPost (0 = no comments), monitorMode, proxyConfiguration, redditClientId/redditClientSecret (your own Reddit script-app credentials for the live OAuth path — never logged).

Example input

{
"maxItems": 10,
"mode": "subreddit",
"sort": "hot",
"subreddit": "technology"
}

A full-tree example:

{
"mode": "post_comments",
"postUrl": "https://www.reddit.com/r/technology/comments/1wyva7w/metas_ai_mascot_is_stealing_domo_from_2012/",
"maxCommentsPerPost": 200,
"maxItems": 500,
"outputFormat": "both"
}

Example output (one dataset item)

{
"id": "t3_1wyva7w",
"type": "post",
"subreddit": "technology",
"title": "Metas AI mascot is stealing Domo from 2012",
"selftext": null,
"author": "goatedirish",
"score": 1,
"upvoteRatio": 1,
"numComments": 0,
"createdAt": "2026-10-06T06:16:23.000Z",
"url": "https://mashable.com/tech/why-companies-use-cute-mascots-meta-jolly",
"permalink": "https://www.reddit.com/r/technology/comments/1wyva7w/metas_ai_mascot_is_stealing_domo_from_2012/",
"flair": "Artificial Intelligence",
"isNsfw": false,
"mediaUrls": ["https://external-preview.redd.it/DAtdt8Et3aSW07tvw_Oj_n8knD85ItJFT_dopqf5LIo.jpeg?..."],
"parentId": null,
"depth": null,
"body": null,
"commentsTruncated": false,
"markdown": "# Metas AI mascot is stealing Domo from 2012\n\nr/technology · u/goatedirish · ...",
"tokensEstimate": 186
}

Comment rows carry body, parentId (t3_ post or t1_ comment) and depth (0 = top-level reply), so you can rebuild the exact thread. subreddit rows carry subscribers in score; user rows carry total karma in score. Fields that don't apply to a row type are null — never invented.

Pricing

EventPrice
result-item — one post, comment, subreddit or user savedUS$ 0.001

The markdown rendering and token estimate are free (included in the item, never billed separately).

  • 100 posts ≈ US$ 0.10
  • 1,000 posts ≈ US$ 1.00
  • 1 post + its 200 comments ≈ US$ 0.20
  • Daily monitor of a subreddit: you pay only for new items each run.

maxItems is a hard cap: the actor stops before exceeding what your budget allows (calculateMaxEventChargeCountWithinLimit + eventChargeLimitReached are honored).

Official API vs plain scraping

This actor talks to Reddit's official API (OAuth when you provide your own free Reddit script-app credentials; public JSON endpoints otherwise) instead of parsing HTML pages. That means stable field names, real scores/ratios/flairs, and proper rate-limit handling (paced requests, exponential backoff on 429/5xx). When the official path is unreachable from the current network, the actor transparently falls back to the public Reddit archive API rather than failing your run — the run summary records which source was used. Before buying any Reddit actor in the Store, compare: price per row, whether comment trees are fully expanded or top-level only, and whether incremental monitoring is included.

Limits

  • Reddit's quota (~100 req/min) is absorbed with pacing + retries; very large maxItems runs simply take longer.
  • Private, banned, quarantined or removed content returns no rows (never billed) — the log says why.
  • The archive fallback lags live Reddit by hours/days and its author lookup can be slow; for fresh user_posts results, provide redditClientId/redditClientSecret to use the live OAuth path.
  • maxCommentsPerPost caps at 2000; maxItems caps at 5000 per run.

FAQ

Is this legal? Yes — only public data, no login bypass, no CAPTCHA solving, no paywalls. Provide your own Reddit app credentials and you use Reddit's sanctioned API with your own quota.

Do I need Reddit credentials? No. They are optional and unlock the live OAuth path (freshest data, highest reliability). Without them the actor uses public endpoints + archive fallback.

Why 0 items? The source is likely empty (private/banned subreddit, removed post, a search with no matches) or monitorMode found nothing new. Check the log lines — the cause is stated. Monitor runs with no new content correctly return 0 items and cost nothing.

Which proxy should I use? The default Apify proxy works for most runs. For heavy runs, switch the proxyConfiguration to residential proxies. Local runs without a proxy fall back to the archive automatically.

Common errors: Invalid input: "subreddit" is required… (missing field for the mode); could not find a post ID in "postUrl" (paste the full post URL); charge-limit warnings mean your max-spend was reached and the run stopped early by design.

Integrations

  • API: standard Apify dataset API (/v3/actor-runs/{id}/dataset/items?view=overview).
  • Make / Zapier: use the Apify modules, trigger on dataset items.
  • MCP / LLMs: the dataset schema (overview view) exposes typed fields;
    outputFormat: both
    gives you ready-to-embed markdown with token estimates per post.

Support

Open an issue on the actor's GitHub repo (link on the Store page) with the run ID, the input JSON (redact your credentials) and the relevant log lines.