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 analysis for brands: every Reddit brand or keyword mention scored positive, negative or neutral, with a sentiment % breakdown, a verdict and the top posts per keyword. A Reddit sentiment tracker and sentiment API for social listening, pay per mention.

Pricing

from $0.59 / 1,000 results

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

11 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.

Real rows, run on 2026-10-30 (keywords Notion app, Linear app, Figma): "Code Layers - an obvious step in the evolution of prototyping" (r/FigmaDesign, Figma, negative, -0.18), "Is my UI placement for this design tool logical?..." (r/UXDesign, negative, -0.44), "I built a searchable library of 3.3M real UI screens..." (r/SideProject, positive, 0.29). That run kept 63 mentions for $0.0498 at the Starter price ($0.79 per 1,000 mentions); see Real rows.


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 SUMMARY record (the "Summary record" link on the Output tab, JSON) and, with Add summary rows to the dataset on, as rows in the run's own summary dataset. Its table link is in the run's OUTPUT record (the "Run summary" link on the Output tab): summaryDataset.itemsUrl for the rows, summaryDataset.consoleUrl to open it in Apify Console. 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.

Real rows

A run on 2026-10-30 (build 2.0.21; keywords Notion app, Linear app, Figma; 30 posts each, newest first, past week). Rows from it that are about the brand, with their rank in the run:

ranksubredditsentimentsentimentScorescorenumCommentsmatchedKeywordstitle
5TransitDiagramspositive0.23911Figma[OC] Hanoi Metro Diagram (operational and U/C lines) in Singapore's style, made with Figma (v2)
6FigmaDesignnegative-0.18110FigmaCode Layers - an obvious step in the evolution of prototyping
7UXDesignnegative-0.4403FigmaIs my UI placement for this design tool logical? I worry that it's too different from Figma…
10SideProjectpositive0.2914FigmaI built a searchable library of 3.3M real UI screens from 460k apps and sites
11SideProjectpositive0.1537Notion appHere's another app only me and my mom will use - My first little personal project…

What that run cost: it kept 63 of the 85 mentions found under a $0.05 spending limit, $0.0498 at the Starter price ($0.79 per 1,000 mentions); all 85 would have cost $0.067. The label is a word-based score of each post's own text, so a post that only names the brand in passing is scored on its whole text; in the example run 54 of the 63 rows held every word of their keyword. Set Match to Every word of the keyword or Exact phrase to drop the rest; they aren't delivered and aren't charged.

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.