Reddit Posts + Comments Scraper
Pricing
from $3.00 / 1,000 post scrapeds
Reddit Posts + Comments Scraper
Scrapes Reddit posts and complete comment trees (including 'load more' branches) from subreddits, posts, user profiles, or keyword search. HTTP-only — no browser — for low compute cost.
Pricing
from $3.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Shab Codes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrapes Reddit posts and complete comment trees from subreddits, individual posts, user profiles, or keyword search — including the comments hidden behind Reddit's "load more comments" and "continue this thread" stubs, which cheaper scrapers silently drop.
Runs over plain HTTP against Reddit's public JSON endpoints (no browser, no HTML parsing), so compute cost per result stays low.
No setup required
Just paste Reddit URLs (or a search keyword), keep the default RESIDENTIAL proxy on, and click Start — no Reddit account, API key, or credentials needed. The scraper reads Reddit's public old.reddit.com pages with a real browser fingerprint and rotates residential IPs, retrying any blocked request on a fresh IP.
Residential proxy matters. Reddit blocks datacenter and single IPs hard; residential rotation is what keeps runs flowing. The default proxy setting is already RESIDENTIAL — leave it on.
What it does
- Subreddit URLs (
https://www.reddit.com/r/programming/, including/top,/new,/rising,/search?q=…pages) → scrapes the post listing and each post's full comment tree, following pagination. - Post URLs (
https://www.reddit.com/r/…/comments/abc123/…) → scrapes that post and its complete comment tree. - User profile URLs (
https://www.reddit.com/user/spez) → scrapes the user's posts and comments. - Search keyword → searches all of Reddit and scrapes matching posts + comments.
Deep comment threads are paginated by Reddit behind "load more" stubs. This scraper resolves them recursively via the morechildren API and re-fetches "continue this thread" branches, so you get the whole tree — not just what fits in the first response.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Subreddit, post, or user profile URLs. |
searchKeyword | string | Optional. Site-wide Reddit search; can be combined with startUrls. |
maxItems | integer | Hard cap on total results (posts + comments). Default 1000. |
maxCommentDepth | integer | 0 = posts only, 1 = top-level comments only, 2 = + direct replies, … Empty = unlimited (complete trees). Deep replies are often noise — capping depth is the main cost lever. |
timeFilter | enum | hour / day / week / month / year / all. Applies to keyword search and /top listings. |
proxyConfiguration | object | Apify Proxy settings. Defaults to RESIDENTIAL — keep it on. Datacenter IPs get blocked by Reddit. |
Output
Posts and comments share one schema; parentId lets you reconstruct the tree client-side.
{"type": "comment","id": "kxf2ab1","parentId": "kxf19zq","postId": "1c4xyz","depth": 2,"author": "some_user","text": "Comment body…","score": 42,"subreddit": "programming","createdAt": "2026-06-30T14:21:05.000Z","permalink": "https://www.reddit.com/r/programming/comments/1c4xyz/comment/kxf2ab1/"}
Posts ("type": "post") additionally carry title, url (external link for link posts), numComments, and over18; their parentId is null. Top-level comments have depth: 1 and their parentId is the post id.
Deleted/removed content is passed through as Reddit reports it ([deleted] / [removed] author or body) rather than erroring, so tree structure stays intact.
Pricing (pay-per-event)
This Actor charges per result, so runs that skip comments (maxCommentDepth: 0) only pay for posts:
| Event | Charged when |
|---|---|
post_scraped | A post is pushed to the dataset. |
comment_scraped | A comment is pushed to the dataset. |
Set up in Apify Console → Actor → Publication → Monetization → Pay per event, with event names exactly post_scraped and comment_scraped (suggested: ~$0.003/post, ~$0.0025/comment ≈ $2.50–3.00 per 1,000 results).
Limits & tips
- Private, quarantined, and gated subreddits cannot be scraped even with credentials unless your account has access. The Actor logs a clear warning and skips them instead of retrying forever.
- Very large threads (10k+ comments): run the post URL as its own run (optionally split by
maxCommentDepthormaxItemswindows) rather than bundling it with a big subreddit crawl, so one thread can't consume the whole budget. - Rate limits: Reddit rate-limits per IP. The Actor throttles itself and, when Reddit returns a block page, retires that IP and retries on a fresh residential one. Larger jobs go faster and more reliably on a paid Apify plan with a healthy residential pool.
Legal notice — read before using
- This Actor collects publicly accessible Reddit content. Scraping public web pages is broadly permitted in many jurisdictions, but Reddit's User Agreement restricts automated collection of its content; using this Actor may violate those terms, and you assume that risk.
- Reddit posts and comments contain personal data (usernames, opinions, sometimes identifying details). Depending on how you store and use the data, GDPR, CCPA, and similar privacy laws may apply — including obligations around lawful basis, retention, and deletion requests.
- This tool is provided for legitimate purposes such as research, moderation, and archiving of public content. You are solely responsible for ensuring your use complies with applicable laws and Reddit's terms. This is not legal advice.