Reddit Sentiment Analyzer avatar

Reddit Sentiment Analyzer

Pricing

from $0.10 / 1,000 results

Go to Apify Store
Reddit Sentiment Analyzer

Reddit Sentiment Analyzer

Analyzes the sentiment (positive/negative/neutral) of Reddit posts for any subreddit.

Pricing

from $0.10 / 1,000 results

Rating

0.0

(0)

Developer

Kristian Gasic

Kristian Gasic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Reddit Sentiment Analyzer ๐Ÿš€๐Ÿ“Š

Apify Actor โ€“ Analyzes sentiment of Reddit posts for brand monitoring, market research, and trend analysis.

What does this Actor do?

The Reddit Sentiment Analyzer scrapes posts from any subreddit and automatically performs sentiment analysis. Each post is classified as positive, negative, or neutral, enabling quick market sentiment checks and strategic insights.

Perfect for:

  • Investor sentiment analysis โ€“ Track bullish/bearish sentiment in r/stocks, r/wallstreetbets, r/cryptocurrency
  • Brand monitoring โ€“ See what Reddit says about your product or competitor
  • Trend detection โ€“ Identify emerging topics and community sentiment shifts
  • Market research โ€“ Fast-track consumer feedback at scale

How it works

  1. Fetches posts from your chosen subreddit
  2. Uses Puppeteer + Residential Proxy to bypass Reddit's IP blocks
  3. Falls back to Reddit's JSON API if needed (always reliable)
  4. Analyzes text sentiment using industry-standard NLP
  5. Outputs individual post data + summary statistics

Input Parameters

ParameterTypeRequiredDefaultDescription
subredditstringโœ…โ€”Subreddit name (e.g., stocks, wallstreetbets)
querystringโŒemptySearch term to filter posts (e.g., Tesla). Leave empty for all posts.
limitnumberโŒ50Number of posts to fetch (1โ€“200)
sortByenumโŒnewHow to sort: hot, new, or top

Example Input

{
"subreddit": "stocks",
"query": "Tesla",
"limit": 50,
"sortBy": "new"
}

Output

The Actor saves two types of data to the dataset:

1. Individual Post Items (one per post)

{
"id": "abc123",
"title": "Is Tesla still a good buy?",
"score": 120,
"numComments": 45,
"url": "https://reddit.com/r/stocks/comments/abc123",
"createdUtc": "2026-06-08T12:00:00.000Z",
"sentiment": {
"score": -3,
"comparative": -0.25,
"label": "negative",
"tokens": ["bad", "worried", "overpriced"]
},
"overallSentiment": "Negative sentiment (score: -3) with keywords: bad, worried, overpriced"
}

2. Summary Item (final analysis)

{
"type": "summary",
"subreddit": "stocks",
"query": "Tesla",
"sortBy": "new",
"totalPostsAnalyzed": 50,
"averageSentiment": 1.2,
"positiveCount": 18,
"negativeCount": 12,
"neutralCount": 20,
"topPositivePost": {"title": "...", "url": "..."},
"topNegativePost": {"title": "...", "url": "..."}
}

Important: Residential Proxy Requirement

โš ๏ธ This Actor uses Apify Residential Proxies โ€“ Reddit blocks all datacenter IPs.

  • Real ISP IPs guarantee access (no 403 errors)
  • Essential for reliable automation
  • Factor proxy costs into your usage plan
  • Runs only in Apify cloud (not locally without proxy setup)

Limits & Fair Use

  • โœ… Max 200 posts per run
  • โœ… Works with public & restricted subreddits
  • โœ… Gracefully handles errors (404, private communities, empty subreddits)
  • โœ… Sentiment analysis optimized for English text
  • โœ… Respects Reddit's terms of service (no authentication bypass, no rate limiting)

Local Testing

# Install dependencies
npm install
# Start a local Apify run
apify run

You will be prompted for a subreddit name (input from INPUT_SCHEMA.json).

Deployment to Apify

# Push the Actor to the Apify Console
apify push

Then in the Apify Console:

  1. Navigate to your Actor.
  2. Click "Publish to Store".
  3. Choose "Pay-per-event" as monetization.
  4. Suggested price: $1.99 per 100 analyzed posts.

Tech Stack

  • Crawlee โ€“ CheerioCrawler for HTTP requests and scraping
  • sentiment โ€“ AFINN-based sentiment analysis for Node.js
  • Apify SDK โ€“ Dataset management & Actor runtime
  • Optional: franc โ€“ Language detection to filter non-English posts

License

MIT