Reddit Comments Deep Scraper avatar

Reddit Comments Deep Scraper

Pricing

from $0.001 / result

Go to Apify Store
Reddit Comments Deep Scraper

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

LIAICHI MUSTAPHA

Maintained by Community

Actor stats

0

Bookmarked

32

Total users

0

Monthly active users

19 days ago

Last modified

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, and depth
  • Export clean body_plain text 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

FieldTypeDefaultDescription
startUrlsarrayemptyDirect Reddit post URLs
subredditsarray["SaaS"]Subreddits to scan without the r/ prefix
searchQuerystringemptyKeyword search used to find posts before scraping comments
subredditSortstringhothot, new, top, rising, or controversial
subredditTimeFilterstringweekTime range for top and controversial sorting
maxPostsPerSubredditinteger1Number of posts to process per subreddit
maxCommentsPerPostinteger25Total comments to save per post, including replies
maxDepthinteger2How deep to traverse nested replies
includeRepliesbooleantrueInclude nested replies
minScoreinteger0Skip comments below this score
dateFromstringemptyKeep comments after YYYY-MM-DD
includePostInfobooleantrueAdd parent post metadata to every comment
skipDeletedbooleantrueRemove deleted and removed comments
redditClientIdstringemptyOptional Reddit API client ID
redditClientSecretstringemptyOptional encrypted Reddit API secret
redditUserAgentstringprovidedCustom Reddit API User-Agent
proxyConfigurationobjectdisabledOptional 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:

  • redditClientId
  • redditClientSecret
  • redditUserAgent

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_id as the node ID
  • parent_id as the parent node ID
  • depth to sort and visualize nesting

IDs starting with t3_ are Reddit posts. IDs starting with t1_ are comments.

How to Use

  1. Open the Actor on Apify.
  2. Choose one targeting mode: post URLs, subreddits, or search query.
  3. For reliable runs, add Reddit API credentials in the advanced section.
  4. Keep maxPostsPerSubreddit, maxCommentsPerPost, and maxDepth small for your first run.
  5. Click Start.
  6. Export the dataset as JSON, CSV, Excel, or connect it to your workflow.

API Example

from apify_client import ApifyClient
client = 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 maxCommentsPerPost between 25 and 100
  • Increase maxDepth only when nested replies matter
  • Use minScore to 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.

ActorUse
Substack ScraperExtract newsletter posts and author data
Beehiiv Newsletter ScraperAnalyze Beehiiv newsletters and publications
Apify Store AnalyzerResearch Apify marketplace opportunities
Morocco Public Tenders ScraperTrack Moroccan public procurement opportunities

Built by LIAICHI MUSTAPHA.