Reddit Sentiment Analyzer
Pricing
$5.00 / 1,000 results
Reddit Sentiment Analyzer
A Reddit posts and comments scrapper, then performs comprehensive sentiment analysis to understand community opinions and trends.
Pricing
$5.00 / 1,000 results
Rating
0.0
(0)
Developer

RK K
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
A powerful Apify Actor that scrapes Reddit posts and comments, then performs comprehensive sentiment analysis to understand community opinions and trends.
What Does This Actor Do?
This actor helps you:
- Extract Reddit Data: Scrape posts and comments from any public subreddit
- Analyze Sentiment: Automatically classify content as Positive, Negative, or Neutral
- Discover Trends: Identify top keywords, controversial discussions, and sentiment patterns
- Track Topics: Monitor specific keywords or search queries across Reddit
- Generate Insights: Get comprehensive statistics and extreme examples
Perfect for market research, brand monitoring, trend analysis, and understanding community sentiment.
Features
- ✅ Scrape multiple subreddits simultaneously
- ✅ Search Reddit with custom queries
- ✅ Filter by keywords, time ranges, and post scores
- ✅ Analyze both posts and comments
- ✅ Extract top keywords using TF-IDF
- ✅ Identify most positive/negative discussions
- ✅ Detect controversial posts
- ✅ Track sentiment trends over time
- ✅ Per-subreddit sentiment breakdown
Prerequisites
You'll need Reddit API credentials (free):
- Go to https://www.reddit.com/prefs/apps
- Click "Create App" or "Create Another App"
- Select "script" as the app type
- Fill in:
- Name: Your app name (e.g., "Sentiment Analyzer")
- Redirect URI:
http://localhost:8080
- Click "Create app"
- Copy your Client ID (below app name) and Client Secret
Input Configuration
Required Parameters
| Parameter | Type | Description |
|---|---|---|
redditClientId | String | Your Reddit API Client ID |
redditClientSecret | String | Your Reddit API Client Secret (kept secure) |
subreddits | Array | List of subreddit names, e.g., ["technology", "python"] |
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | String | - | Search Reddit for specific topics (alternative to subreddits) |
keywords | Array | - | Filter posts containing these keywords |
timeFilter | Select | "week" | Time period: hour, day, week, month, year, all |
sortBy | Select | "hot" | Sort method: hot, new, top, rising, controversial |
maxPosts | Number | 100 | Maximum posts per subreddit (1-1000) |
includeComments | Boolean | true | Analyze comments in addition to posts |
maxCommentsPerPost | Number | 50 | Maximum comments per post (0-500) |
minScore | Number | 0 | Minimum post score (upvotes) to include |
includePostText | Boolean | true | Include full post content in results |
generateSummary | Boolean | true | Generate sentiment summary and trends |
Usage Examples
Example 1: Analyze Technology News Sentiment
{"redditClientId": "your_client_id","redditClientSecret": "your_client_secret","subreddits": ["technology", "tech"],"timeFilter": "week","sortBy": "top","maxPosts": 100,"minScore": 100}
Example 2: Track AI/ML Discussions
{"redditClientId": "your_client_id","redditClientSecret": "your_client_secret","searchQuery": "artificial intelligence","keywords": ["AI", "GPT", "machine learning"],"timeFilter": "month","maxPosts": 200}
Example 3: Monitor Brand Mentions
{"redditClientId": "your_client_id","redditClientSecret": "your_client_secret","subreddits": ["technology", "gadgets", "reviews"],"keywords": ["YourBrand"],"includeComments": true,"maxCommentsPerPost": 100,"generateSummary": true}
Example 4: Quick Post Analysis (No Comments)
{"redditClientId": "your_client_id","redditClientSecret": "your_client_secret","subreddits": ["worldnews"],"timeFilter": "day","maxPosts": 50,"includeComments": false}
Output Data
Individual Posts
Each post in the dataset includes:
- Post title, content, and metadata (author, subreddit, score, timestamps)
- Sentiment analysis (label, compound score, positive/negative/neutral percentages)
- URL and permalink
- Engagement metrics (upvotes, comments count)
- All comments with individual sentiment scores (if enabled)
Sentiment Summary
The actor generates a comprehensive summary including:
- Overview: Total posts/comments analyzed
- Sentiment Distribution: Percentage breakdown by sentiment type
- Average Scores: Overall and per-category sentiment scores
- Top Keywords: Most relevant terms extracted via TF-IDF
- Extreme Examples: Most positive and negative posts
- Controversial Posts: Discussions with mixed sentiment
- Subreddit Breakdown: Per-subreddit statistics
- Temporal Trends: Daily sentiment patterns
Understanding Sentiment Scores
- Compound Score: Overall sentiment from -1 (very negative) to +1 (very positive)
- Label: Classification as
Positive,Negative, orNeutral - Component Scores: Individual positive, neutral, and negative percentages
Interpretation:
0.5 to 1.0: Very Positive0.1 to 0.5: Positive-0.1 to 0.1: Neutral-0.5 to -0.1: Negative-1.0 to -0.5: Very Negative
Use Cases
Market Research
- Analyze customer sentiment about products or services
- Identify emerging trends in your industry
- Track competitor mentions and reputation
Brand Monitoring
- Monitor brand mentions across relevant subreddits
- Identify PR issues early through sentiment tracking
- Understand customer pain points and preferences
Content Strategy
- Discover trending topics in your niche
- Understand what content resonates with communities
- Identify controversial subjects to address or avoid
Academic Research
- Study online community behavior and sentiment
- Analyze public opinion on social issues
- Track sentiment evolution over time
Product Development
- Gather feature requests and user feedback
- Identify common complaints or praise
- Understand user priorities through keyword analysis
Performance & Limits
- Reddit API Rate Limit: 60 requests/minute (automatically handled)
- Max Posts per Request: 1000 (Reddit API limitation)
- Processing Time: Varies based on post count and comment depth
- ~1-2 minutes for 100 posts without comments
- ~5-10 minutes for 100 posts with 50 comments each
- Actor Privacy: This actor is private and only accessible to your account
Data Privacy
- Only scrapes publicly available Reddit content
- No access to private subreddits or messages
- Usernames are public Reddit handles (not PII)
- All data stored in your private Apify datasets
- API credentials are encrypted and never exposed
Compliance
This actor:
- ✅ Uses official Reddit API (PRAW)
- ✅ Respects Reddit's rate limits
- ✅ Complies with Reddit API Terms of Service
- ✅ Only accesses public data
- ✅ Does not bypass any restrictions
You are responsible for:
- Using your own Reddit API credentials
- Complying with Reddit's terms of service
- Respecting data privacy laws in your jurisdiction
Troubleshooting
No results returned?
- Check your Reddit API credentials are correct
- Verify the subreddit names are spelled correctly (without "r/" prefix)
- Try increasing
maxPostsor removing keyword filters - Ensure posts exist in your specified time filter
API authentication errors?
- Verify Client ID and Client Secret are correct
- Make sure you created a "script" type app on Reddit
- Check that your Reddit account is in good standing
Slow performance?
- Reduce
maxPostsormaxCommentsPerPost - Set
includeCommentstofalsefor faster scraping - Use narrower time filters
Empty sentiment scores?
- Posts/comments with no text return neutral sentiment
- Deleted/removed content is filtered out
Support
For issues or questions:
- Review Reddit API documentation
- Contact your Apify account administrator
License
Last Updated: 2025-11-10