Reddit Scraper Pro | Sentiment + Analytics + Brand Detection avatar

Reddit Scraper Pro | Sentiment + Analytics + Brand Detection

Pricing

from $0.75 / 1,000 results

Go to Apify Store
Reddit Scraper Pro | Sentiment + Analytics + Brand Detection

Reddit Scraper Pro | Sentiment + Analytics + Brand Detection

Most feature-rich Reddit scraper on Apify. 6 modes: posts, comments, search, profiles, info, URL. Built-in sentiment scoring, engagement analytics, brand detection, influencer reports, toxic content flags, markdown bodies, AI-ready output. No API key needed. $0.75/1K results.

Pricing

from $0.75 / 1,000 results

Rating

0.0

(0)

Developer

Brandon Hamm

Brandon Hamm

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Reddit Scraper Pro | Sentiment + Engagement Analytics + Brand Detection + Influencer Reports

The most feature-rich Reddit scraper on Apify. Six modes in one actor, every result enriched with sentiment scoring, engagement analytics, brand detection, and AI-ready clean text. No API key or login required.

Why this actor?

Reddit killed unauthenticated .json API access in May 2026. Scrapers that relied on the free JSON API broke overnight. This actor uses Playwright with residential proxies and parses Reddit's server-rendered HTML, so it keeps working where JSON-based scrapers fail.

What makes this different

Built-in sentiment scoring. Every post and comment gets a sentiment label (positive/negative/neutral), confidence score, and toxic content flag. No need to pipe results through a separate NLP API.

Engagement analytics on every result. scorePerHour, commentsPerHour, engagementTotal, commentToScoreRatio, ageHours, titleLength, bodyWordCount. See which posts are gaining traction in real time, not just which ones have the highest all-time score.

Automatic brand mention extraction. 30+ tech companies auto-detected from post and comment text (Apple, Google, Meta, Amazon, OpenAI, Tesla, Nvidia, Microsoft, and more). Built for brand monitoring workflows without a second processing step.

Influencer reports. Every run ranks users by engagement impact and outputs an INFLUENCER_REPORT to the key-value store. Identify high-impact accounts in any subreddit or search result.

Toxic content detection. Separate from sentiment scoring, a dedicated toxic word filter flags potentially problematic content. Useful for moderation and brand safety workflows.

Lead generation fields. Social handles (@usernames) and email addresses auto-extracted from every post and comment. Find prospects already talking about your problem space.

Markdown bodies. Post and comment bodies converted from HTML to clean markdown. Ready for LLM ingestion, RAG pipelines, or human reading without a conversion step.

AI-ready clean text. Normalized, whitespace-stripped text field designed for LLM fine-tuning, embeddings, or classification pipelines.

Maximize coverage mode. Traverses hot + new + top sort orders automatically for broader post collection when you need maximum data from a subreddit.

Three output formats. Full (all fields), lean (essential fields only for smaller datasets), or markdown_only (just titles and markdown bodies for content analysis).

Playwright with residential proxies. Reddit blocks all datacenter IPs with 403. This actor uses Playwright headless browser with Apify's residential proxy pool and stealth settings (webdriver detection removed, custom plugins/languages) to bypass Reddit's blocking. It just works.

6 modes in 1 actor

ModeDescriptionAuth Required
subreddit_postsScrape posts from any subreddit (hot/new/top/rising/controversial) with paginationNo
searchSearch Reddit for keywords by scraping r/all and filteringNo
post_commentsGet full nested comment trees from post URLsNo
user_profileGet a user's post and comment history with paginationNo
subreddit_infoGet subreddit metadata (subscribers, active users, description, NSFW)No
urlGet a single post by URLNo

What you get

Post output fields:

  • post_id -- Reddit post ID
  • title -- Post title
  • author -- Username
  • subreddit -- Subreddit name (without r/ prefix)
  • score -- Upvote count
  • num_comments -- Comment count
  • url -- External link URL (for link posts)
  • permalink -- Reddit permalink
  • selftext -- Body text (for self/text posts)
  • selftextMarkdown -- Body text converted to clean markdown
  • cleanText -- AI-ready normalized text for LLM pipelines
  • domain -- Link domain
  • flair -- Post flair text
  • nsfw -- NSFW flag (boolean)
  • stickied -- Stickied flag (boolean)
  • gilded -- Gilded flag (boolean)
  • timestamp -- ISO 8601 timestamp
  • thumbnail -- Thumbnail image URL
  • upvote_ratio -- Upvote ratio (0-1)
  • postType -- text, image, video, or link
  • comments -- Array of comment objects (if includeComments is enabled)
  • sentiment -- {label, score, confidence, toxic, toxicWordCount}
  • mentionedBrands -- Array of detected brand names
  • extractedUrls -- Array of URLs found in post text
  • socialHandles -- Array of @handles found in post text
  • emails -- Array of email addresses found in post text
  • ageHours -- Hours since post creation
  • scorePerHour -- Upvote velocity (score / age in hours)
  • commentsPerHour -- Comment velocity
  • engagementTotal -- Score + comment count combined
  • commentToScoreRatio -- Comments relative to score
  • titleLength -- Character count of title
  • bodyWordCount -- Word count of body text

Comment output fields:

  • comment_id -- Reddit comment ID
  • author -- Username
  • body -- Comment text
  • bodyMarkdown -- Comment text as clean markdown
  • score -- Upvote count
  • depth -- Nesting depth (0 = top-level)
  • permalink -- Comment permalink
  • timestamp -- ISO 8601 timestamp
  • stickied -- Stickied flag
  • gilded -- Gilded flag
  • replies -- Array of reply comment objects (recursive)
  • sentiment -- {label, score, confidence, toxic, toxicWordCount}
  • mentionedBrands -- Array of detected brand names
  • extractedUrls -- Array of URLs found in comment text
  • ageHours -- Hours since comment creation
  • scorePerHour -- Upvote velocity
  • engagementTotal -- Score + reply count

Influencer report (KVS output):

When users are tracked during a run, an INFLUENCER_REPORT is saved to the run's key-value store containing:

  • score -- 0-100 influence score
  • tier -- top influencer / high influence / moderate influence / low influence / minimal
  • totalPostScore -- Sum of post scores
  • totalCommentScore -- Sum of comment scores
  • postCount -- Number of posts
  • commentCount -- Number of comments
  • avgPostScore -- Average score per post

Use cases

Brand monitoring. Track mentions of your brand or competitors across all subreddits. Sentiment and brand detection are built in, so you see tone and context without a second processing step.

AI training data. Bulk export Reddit discussions for fine-tuning LLMs, building RAG pipelines, or creating sentiment classifiers. Clean text and markdown bodies are ready for ingestion.

Market research. Find what problems your target market describes in their own words. Filter by subreddit and keyword, export with sentiment to quantify frustration or enthusiasm.

SEO. Reddit threads dominate Google search results. Find which topics rank for your target keywords and mine title patterns for content ideas.

Lead generation. Find users actively asking questions your product solves. Social handles and emails are auto-extracted, ready for outreach.

Community analysis. Run influencer reports on any subreddit to identify high-impact accounts. Track engagement velocity to find trending discussions before they peak.

Content moderation. Toxic content detection flags potentially problematic posts and comments without a separate moderation API. Filter by toxicity for brand-safe curation.

OSINT. Investigate usernames, post histories, subreddit activity patterns. Pull full comment trees from key posts for narrative analysis.

Input reference

FieldTypeRequiredDefaultDescription
modestringYessubreddit_postsOne of: subreddit_posts, search, post_comments, user_profile, subreddit_info, url
subredditsarrayNo["technology"]Subreddit names without r/ prefix (for subreddit_posts and subreddit_info)
searchQueriesarrayNo[]Search terms (for search mode)
searchSubredditstringNo""Restrict search to a specific subreddit
postUrlsarrayNo[]Full Reddit post URLs (for post_comments and url modes)
usernamestringNo""Reddit username without u/ prefix (for user_profile mode)
sortstringNohothot, new, top, rising, controversial
timeFilterstringNoallhour, day, week, month, year, all
maxResultsintegerNo100Max posts per subreddit or search query (1-5000)
maxCommentsPerPostintegerNo50Max comments to extract per post (0-2000)
includeCommentsbooleanNofalseAlso scrape comments for each post (slower)
includeNsfwbooleanNofalseInclude NSFW posts in results
maximizeCoveragebooleanNofalseTraverse hot + new + top sort orders for broader collection
includeSentimentbooleanNotrueAdd sentiment scoring to every post and comment
extractBrandsbooleanNotrueAuto-detect brand mentions, URLs, social handles, emails
outputFormatstringNofullfull, lean, or markdown_only
useApifyProxybooleanNotrueUse Apify residential proxy pool (recommended, handles Reddit's IP blocking)
customProxyUrlstringNo""Custom HTTP proxy URL (overrides Apify proxy)

Example inputs

Scrape hot posts from r/technology with full enrichment:

{
"mode": "subreddit_posts",
"subreddits": ["technology", "programming", "MachineLearning"],
"sort": "hot",
"maxResults": 50,
"includeSentiment": true,
"extractBrands": true
}

Search Reddit for brand mentions with comments:

{
"mode": "search",
"searchQueries": ["openai chatgpt review", "anthropic claude experience"],
"sort": "new",
"timeFilter": "week",
"maxResults": 200,
"includeComments": true,
"maxCommentsPerPost": 20
}

Get full comment tree from a post:

{
"mode": "post_comments",
"postUrls": ["https://www.reddit.com/r/technology/comments/abc123/example/"],
"maxCommentsPerPost": 500
}

Scrape a user's post history:

{
"mode": "user_profile",
"username": "spez",
"sort": "new",
"maxResults": 100
}

Maximize coverage from a subreddit (hot + new + top):

{
"mode": "subreddit_posts",
"subreddits": ["wallstreetbets"],
"sort": "hot",
"maxResults": 500,
"maximizeCoverage": true,
"includeComments": true,
"maxCommentsPerPost": 10
}

Get subreddit info:

{
"mode": "subreddit_info",
"subreddits": ["technology", "science", "askscience"]
}

Technical details

  • Playwright headless browser with stealth settings (webdriver detection removed, custom plugins/languages)
  • Apify residential proxy pool handles Reddit's datacenter IP blocking automatically
  • Pagination follows after tokens up to maxResults
  • Deduplication post IDs tracked across pages and sort orders
  • Rate limiting 0.5s delay between page requests, automatic backoff on 403/429
  • NSFW filtering optionally exclude NSFW content
  • Recursive comment parsing nested replies with depth tracking
  • Sentiment lexicon 120+ positive words, 80+ negative words, 30+ toxic terms
  • Brand lexicon 30+ tech companies with keyword variants (e.g., "iphone" -> "apple")

Pricing

Pay per result: $0.75 per 1,000 results. No monthly rental fee. No minimum spend.

Limitations

  • Search mode uses r/all filtering (no OAuth needed, but less precise than Reddit's native search)
  • Reddit may rate-limit high-volume scraping. Residential proxies handle this automatically.
  • Reddit's HTML structure may change. Actor is maintained and updated when Reddit changes their markup.