Reddit Comments Deep Scraper
Pricing
from $0.001 / result
Reddit Comments Deep Scraper
Scrape Reddit comment threads for lead discovery, sentiment analysis, market research, and AI datasets. Extract nested replies, scores, authors, timestamps, and parent IDs.
Pricing
from $0.001 / result
Rating
0.0
(0)
Developer
LIAICHI MUSTAPHA
Maintained by CommunityActor stats
0
Bookmarked
32
Total users
0
Monthly active users
19 days ago
Last modified
Categories
Share
Scrape Reddit comment threads for lead discovery, social listening, sentiment analysis, market research, and AI datasets.
This Actor focuses on the part of Reddit where the useful signal usually hides: replies, objections, follow-up questions, product complaints, and nested discussions. It extracts clean comment records with parent_id and depth, so you can rebuild the full conversation tree instead of working with only top-level comments.
Features
- Extract comments from direct Reddit post URLs
- Monitor posts from one or more subreddits
- Search Reddit by keyword, then scrape matching post comments
- Capture nested replies with configurable depth from 1 to 10
- Rebuild threads using
comment_id,parent_id, anddepth - Export clean
body_plaintext for sentiment analysis and LLM pipelines - Keep author, score, flair, timestamp, permalink, and parent post metadata
- Filter deleted comments, low-score comments, and old comments
- Use optional Reddit OAuth credentials for stable 2026 access
Why this Actor
Many Reddit tools stop at posts or top-level comments. That misses the buying signal.
For market research, the useful quote is often two replies deep:
- "I tried this competitor and churned because..."
- "Looking for a tool that can..."
- "The real problem is not price, it is..."
- "We use X, but the workflow breaks when..."
This Actor is positioned for people who want structured Reddit conversations, not just a list of threads.
Use Cases
Reddit lead discovery Find people asking for tools, alternatives, agencies, automations, or recommendations in niche communities.
Brand and competitor monitoring Track mentions of your product, a competitor, or a category across subreddits, then sort comments by score and author signals.
Voice-of-customer research Collect complaints, objections, feature requests, pricing concerns, and product language directly from Reddit conversations.
Sentiment analysis
Export body_plain, score, subreddit, and timestamp fields into sentiment models, dashboards, or labeling workflows.
AI training datasets
Use parent_id and depth to reconstruct multi-turn conversation trees for dialogue datasets, evaluation data, and research pipelines.
Ready-to-Run Examples
1. Find SaaS buying intent
{"subreddits": ["SaaS", "startups", "smallbusiness"],"searchQuery": "\"looking for\" \"CRM\"","subredditSort": "top","subredditTimeFilter": "month","maxPostsPerSubreddit": 10,"maxCommentsPerPost": 100,"maxDepth": 3,"minScore": 1,"skipDeleted": true}
Use this to find users actively asking for software recommendations or alternatives.
2. Monitor competitor mentions
{"subreddits": ["marketing", "Entrepreneur", "SaaS"],"searchQuery": "\"HubSpot\" OR \"Salesforce\" OR \"Pipedrive\"","subredditSort": "new","maxPostsPerSubreddit": 25,"maxCommentsPerPost": 50,"maxDepth": 2,"includePostInfo": true}
Use this as a scheduled task to catch new competitor conversations.
3. Build an AI discussion dataset
{"subreddits": ["MachineLearning", "LocalLLaMA", "artificial"],"subredditSort": "top","subredditTimeFilter": "week","maxPostsPerSubreddit": 20,"maxCommentsPerPost": 250,"maxDepth": 5,"includeReplies": true,"skipDeleted": true}
Use this when you need nested technical discussions for analysis or model evaluation.
4. Analyze a single Reddit thread
{"startUrls": [{"url": "https://www.reddit.com/r/SaaS/comments/example/post_title/"}],"maxCommentsPerPost": 500,"maxDepth": 10,"includeReplies": true,"includePostInfo": true}
Use this when one discussion is important enough to collect deeply.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | empty | Direct Reddit post URLs |
subreddits | array | ["SaaS"] | Subreddits to scan without the r/ prefix |
searchQuery | string | empty | Keyword search used to find posts before scraping comments |
subredditSort | string | hot | hot, new, top, rising, or controversial |
subredditTimeFilter | string | week | Time range for top and controversial sorting |
maxPostsPerSubreddit | integer | 1 | Number of posts to process per subreddit |
maxCommentsPerPost | integer | 25 | Total comments to save per post, including replies |
maxDepth | integer | 2 | How deep to traverse nested replies |
includeReplies | boolean | true | Include nested replies |
minScore | integer | 0 | Skip comments below this score |
dateFrom | string | empty | Keep comments after YYYY-MM-DD |
includePostInfo | boolean | true | Add parent post metadata to every comment |
skipDeleted | boolean | true | Remove deleted and removed comments |
redditClientId | string | empty | Optional Reddit API client ID |
redditClientSecret | string | empty | Optional encrypted Reddit API secret |
redditUserAgent | string | provided | Custom Reddit API User-Agent |
proxyConfiguration | object | disabled | Optional proxy fallback |
Reddit API Access
Reddit public .json endpoints often return 403 Forbidden for automated traffic in 2026. For serious usage, provide Reddit API credentials in the input:
redditClientIdredditClientSecretredditUserAgent
When credentials are provided, the Actor uses oauth.reddit.com. When they are missing, it falls back to public endpoints, which can work inconsistently depending on Reddit's blocking and IP reputation.
Output
Each dataset item is one Reddit comment.
{"comment_id": "t1_o8z9p9x","post_id": "1rihows","post_title": "Parent post title","post_url": "https://www.reddit.com/r/SaaS/comments/1rihows/post_title/","subreddit": "SaaS","author": "some_user","author_karma": 4821,"author_flair": "Founder","body": "This is the original **markdown** text","body_plain": "This is the original markdown text","score": 142,"upvote_ratio": null,"depth": 2,"parent_id": "t1_o8z1abc","created_utc": "2026-09-01T10:22:00Z","created_timestamp": 1788258120,"is_edited": false,"is_deleted": false,"is_removed": false,"distinguished": null,"num_replies": 3,"permalink": "https://www.reddit.com/r/SaaS/comments/..."}
Reconstructing threads
Use:
comment_idas the node IDparent_idas the parent node IDdepthto sort and visualize nesting
IDs starting with t3_ are Reddit posts. IDs starting with t1_ are comments.
How to Use
- Open the Actor on Apify.
- Choose one targeting mode: post URLs, subreddits, or search query.
- For reliable runs, add Reddit API credentials in the advanced section.
- Keep
maxPostsPerSubreddit,maxCommentsPerPost, andmaxDepthsmall for your first run. - Click Start.
- Export the dataset as JSON, CSV, Excel, or connect it to your workflow.
API Example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("scraper_guru/reddit-comments-deep-scraper").call(run_input={"subreddits": ["SaaS", "startups"],"searchQuery": "\"looking for\" \"automation\"","maxPostsPerSubreddit": 10,"maxCommentsPerPost": 100,"maxDepth": 3,"redditClientId": "YOUR_REDDIT_CLIENT_ID","redditClientSecret": "YOUR_REDDIT_CLIENT_SECRET"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["subreddit"], item["score"], item["body_plain"])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('scraper_guru/reddit-comments-deep-scraper').call({subreddits: ['SaaS', 'startups'],searchQuery: '"looking for" "automation"',maxPostsPerSubreddit: 10,maxCommentsPerPost: 100,maxDepth: 3,redditClientId: 'YOUR_REDDIT_CLIENT_ID',redditClientSecret: 'YOUR_REDDIT_CLIENT_SECRET',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Pricing
This Actor uses pay-per-event pricing. You pay per result saved to the dataset, plus a tiny Actor start event.
For best cost control:
- Start with
maxPostsPerSubreddit: 1 - Keep
maxCommentsPerPostbetween25and100 - Increase
maxDepthonly when nested replies matter - Use
minScoreto remove low-signal comments
FAQ
Does this scrape nested Reddit replies?
Yes. Set includeReplies to true and increase maxDepth to collect deeper reply chains.
Do I need Reddit API credentials? They are optional, but strongly recommended. Reddit public endpoints frequently block automated requests. Credentials make the Actor more stable by using Reddit OAuth.
Can I use this for lead generation?
Yes. Use search queries such as "looking for", "recommend", "alternative to", or competitor names inside relevant subreddits.
Can I schedule this Actor? Yes. Save a configured Apify Task and run it daily or weekly for brand monitoring, competitor tracking, or community research.
Why did my run return few or no comments?
Common causes are Reddit blocking public endpoints, a narrow search query, low maxCommentsPerPost, high minScore, or comments hidden behind deleted/removed nodes.
Is this compliant? Use this Actor only for publicly available Reddit content and follow Reddit's terms, API rules, and privacy expectations. Do not scrape private or restricted communities.
Related Actors
| Actor | Use |
|---|---|
| Substack Scraper | Extract newsletter posts and author data |
| Beehiiv Newsletter Scraper | Analyze Beehiiv newsletters and publications |
| Apify Store Analyzer | Research Apify marketplace opportunities |
| Morocco Public Tenders Scraper | Track Moroccan public procurement opportunities |
Built by LIAICHI MUSTAPHA.