Reddit Sentiment Analyzer avatar
Reddit Sentiment Analyzer

Pricing

$5.00 / 1,000 results

Go to Apify Store
Reddit Sentiment Analyzer

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

RK K

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

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):

  1. Go to https://www.reddit.com/prefs/apps
  2. Click "Create App" or "Create Another App"
  3. Select "script" as the app type
  4. Fill in:
    • Name: Your app name (e.g., "Sentiment Analyzer")
    • Redirect URI: http://localhost:8080
  5. Click "Create app"
  6. Copy your Client ID (below app name) and Client Secret

Input Configuration

Required Parameters

ParameterTypeDescription
redditClientIdStringYour Reddit API Client ID
redditClientSecretStringYour Reddit API Client Secret (kept secure)
subredditsArrayList of subreddit names, e.g., ["technology", "python"]

Optional Parameters

ParameterTypeDefaultDescription
searchQueryString-Search Reddit for specific topics (alternative to subreddits)
keywordsArray-Filter posts containing these keywords
timeFilterSelect"week"Time period: hour, day, week, month, year, all
sortBySelect"hot"Sort method: hot, new, top, rising, controversial
maxPostsNumber100Maximum posts per subreddit (1-1000)
includeCommentsBooleantrueAnalyze comments in addition to posts
maxCommentsPerPostNumber50Maximum comments per post (0-500)
minScoreNumber0Minimum post score (upvotes) to include
includePostTextBooleantrueInclude full post content in results
generateSummaryBooleantrueGenerate 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, or Neutral
  • Component Scores: Individual positive, neutral, and negative percentages

Interpretation:

  • 0.5 to 1.0: Very Positive
  • 0.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 maxPosts or 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 maxPosts or maxCommentsPerPost
  • Set includeComments to false for 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