Reddit Sentiment Tracker avatar

Reddit Sentiment Tracker

Pricing

from $0.59 / 1,000 results

Go to Apify Store
Reddit Sentiment Tracker

Reddit Sentiment Tracker

Reddit sentiment tracker for brands and keywords. Every mention scored positive, negative, or neutral — combining text analysis with Reddit's upvote ratio as a community signal. Get sentiment % breakdowns, overall verdict, and top posts per keyword.

Pricing

from $0.59 / 1,000 results

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

9 hours ago

Last modified

Share

Reddit Sentiment Tracker — Know If Reddit Likes You

Search Reddit for any keyword and find out: is the sentiment positive, negative, or mixed? Every mention scored, every keyword summarised.

One run. Every mention tagged. Sentiment breakdown per keyword — so you know whether Reddit's opinion is working for you or against you.


What It Does

Reddit is where unfiltered opinions live. But raw mentions don't tell you much — you need to know whether those mentions are good or bad. This actor searches Reddit for your keywords, scores every post and comment using a hybrid sentiment model (AFINN keyword scoring + Reddit's own upvote ratio as a community signal), and returns a clear breakdown: what percentage of mentions are positive, negative, or neutral.


How Sentiment Is Scored

Two signals combined:

1. Text scoring (AFINN word list) Each post or comment is scored based on the emotional weight of its words. "Amazing", "love", "recommend" push the score positive. "Terrible", "broken", "waste" push it negative. A negation flips the next word ("don't hate" counts as positive), and common emoji count too. The score is normalized by text length so short and long posts are comparable.

2. Upvote ratio (community signal) Reddit's upvote ratio is the community's collective verdict. A post at 95% upvote ratio is almost certainly a positive reception. A post at 25% is controversial or disliked. This modifier adjusts the text score up or down based on how the community voted — catching cases where sarcasm or context defeats keyword matching.

Result: positive / negative / neutral label + numeric score per mention. The score is text score per word + (upvote ratio − 0.75) for posts: above 0.05 is positive, below −0.05 negative, anything in between neutral. The scoring is the same as in earlier versions, so a mention gets the same label and score.


Output

Each run gives you mentions (posts and comments, each scored, ranked by buzz score) in the dataset, and one sentiment summary row per keyword (type = summary), free, in the run's summary dataset (the "Sentiment summary" link on the Output tab) and its SUMMARY record. Up to version 2.0.4 the summary rows also came after the mentions in the main dataset; read them from the summary dataset now.

Mentions (one per post or comment)

FieldDescription
sentimentpositive, negative, or neutral
sentimentScoreNumeric score (positive = positive, negative = negative)
contentTypepost or comment
matchedKeywordsWhich of your keywords matched this mention
titlePost title (for a comment, the title of its thread)
bodyComment text, or a text post's own text
subredditWhich subreddit
scoreReddit upvote score
upvoteRatioUpvote ratio (posts only)
buzzScoreEngagement momentum score: (upvotes + 2 × comments) / age in hours^0.8
postUrlLink to the post
commentUrlLink to the comment (for comments)
authorReddit username
createdAtWhen it was posted

Every key, in row order:

  • Posts: rank, type, contentType, matchedKeywords, sentiment, sentimentScore, buzzScore, title, body, postUrl, commentUrl, subreddit, author, score, upvoteRatio, numComments, createdAt, then id, bodySnippet, postType, over18, imageUrls, videoUrl, engagementTotal, commentToScoreRatio, subredditSubscribers, authorFlairText, isOriginalContent, spoiler, locked, stickied, distinguished, numCrossposts, edited, shortUrl, scrapedAt.
  • Comments: rank, type, contentType, matchedKeywords, sentiment, sentimentScore, buzzScore, title, body, postUrl, commentUrl, subreddit, author, score, upvoteRatio, numComments, createdAt, then id, bodySnippet, parentId, parentKind, postId, postCreatedAt, over18, isSubmitter, authorFlairText, edited, distinguished, stickied, controversiality, permalinkUrl, authorId, postUpVotes, postCommentsCount, postAuthor, scrapedAt.

The keys up to createdAt are the same, in the same order and with the same values, as in earlier versions, so saved integrations keep working (type is always mention). A value Reddit doesn't give is null. Mentions are stored in rank order, so the Mentions table and an export both start with rank 1.

  • Comments' authors. Reddit's comment search no longer shows who wrote a comment, so each comment found is read from its own page (about 20 KB, several at a time while the next search page loads). That fills author, authorId, isSubmitter, edited, stickied and the thread's postUpVotes, postCommentsCount and postAuthor. If Reddit doesn't answer a comment's page, that comment keeps the search page's fields (no author) and the status line says how many.

Sentiment Summary (one per keyword)

FieldDescription
keywordThe search keyword
overallSentimentpositive, negative, or neutral overall
positiveRatio% of mentions scored positive
negativeRatio% of mentions scored negative
neutralRatio% of mentions scored neutral
totalMentionsTotal mentions analysed
positiveCount / negativeCount / neutralCountMentions per label
avgSentimentScoreAverage sentiment score across all mentions
topPositiveMentionHighest-scoring positive mention (title + URL)
topNegativeMentionMost negative mention (title + URL)

Summary rows are never charged. Turn off Summary Rows (free) to skip the summary dataset: the summaries are still in the free SUMMARY record. The run's OUTPUT record says how each search went (pages read, results found, filtered, not matching the keyword and kept), and commentRecordsRead how many comments were filled from their own page ("40 of 40").


Getting Started

  1. Enter your keywords (brand names, product names, topics)
  2. Set your time window (past week is a good default)
  3. Run — get sentiment summary per keyword + every mention scored

Use Cases

Brand reputation monitoring Is Reddit's opinion of your brand trending positive or negative? Run weekly, check the overallSentiment field. If it flips from positive to negative, something changed.

Product launch tracking Released something new? Search your product name after launch and see whether the Reddit reaction is positive, negative, or mixed — and which specific posts are driving the sentiment.

Competitor analysis Search your competitors' names. Find out if Reddit likes them or hates them — and read the specific negative mentions to understand what they're getting wrong.

Campaign monitoring Running a Reddit marketing campaign or AMA? Track your keyword during and after to see whether the campaign shifted sentiment.


Input Parameters

ParameterDefaultDescription
keywords—Keywords to analyse (required)
sortBynewSort order: new, relevance, top, hot, comments
timeFilterweekTime window: hour, day, week, month, year, all
searchPoststrueInclude Reddit posts
searchCommentsfalseInclude comments (more coverage)
subredditFilter[]Restrict to specific subreddits (optional)
maxResultsPerKeyword100Max posts, and max comments, per keyword (up to 1,000)
minScore0Minimum upvote score to include
matchModeanyany: whatever Reddit's search finds; all: the text holds every word of the keyword; phrase: the exact phrase. Results that don't match are free
proxyConfigurationDatacenterProxy settings. A residential pick is kept for retries only

Pricing

Pay per result: $0.79 per 1,000 mentions on Starter ($0.89 Free, $0.69 Scale, $0.59 Business). Summary rows (one per keyword) are free. No browser and no residential proxy: the actor reads Reddit's own search over Apify's datacenter proxy, so runs take seconds. Set a spending limit on the run and the actor stops there, keeping its top-ranked mentions.



Built for brand managers, PR teams, and marketing teams who need to know whether Reddit's opinion is helping or hurting them.