Social Media Sentiment Analyzer avatar

Social Media Sentiment Analyzer

Pricing

from $3.00 / 1,000 post analyzeds

Go to Apify Store
Social Media Sentiment Analyzer

Social Media Sentiment Analyzer

Analyze social media sentiment for any keyword, hashtag, or brand across Reddit, YouTube, X/Twitter, and Instagram. Returns per-post sentiment, emotion, aspect breakdown, language, and toxicity, plus an AI brand-health report with top praise, complaints, and crisis signals.

Pricing

from $3.00 / 1,000 post analyzeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Social Media Sentiment Analyzer — AI Emotion, Aspects & Brand Health

Analyze social media sentiment for any keyword, hashtag, or brand across Reddit, YouTube, X/Twitter, and Instagram in one run. Give it a search term — it pulls fresh public posts and comments, scores each with AI (sentiment, emotion, aspect-based breakdown, language, optional toxicity), and produces an aggregate brand-health report (0–100 score, top praise, top complaints, crisis signals, recommendations).

Unlike comment scrapers that just bolt "sentiment" onto the title, this actor does real per-post analysis and an LLM-written intelligence report — and it stays reliable by orchestrating dedicated, battle-tested scrapers under the hood instead of fighting anti-bot itself.

When to use it

  • Social listening & brand monitoring — what are people saying about your product, campaign, or competitor right now?
  • Launch / campaign tracking — measure reception across platforms in one pass.
  • Market & audience research — themes, emotions, and aspects behind the numbers.
  • Community & brand safety — optional toxicity scoring per post.
  • AI agents (MCP) — a single tool call: keyword in, structured sentiment + report out.

Not for: scraping one specific profile's full post history (use the platform-specific scrapers), or monitoring brand perception inside AI assistants like ChatGPT/Gemini (use AI Search Brand Monitor).

What you get

The dataset's first record is the aggregate report, followed by one record per analyzed post.

Brand-health report (record 1)

FieldDescription
brandHealthScore0–100 overall sentiment health (100 = overwhelmingly positive)
headlineOne-line summary of overall sentiment
summary3–5 sentence narrative for a quick skim
sentimentBreakdownpositive / neutral / negative / mixed counts + percentages
emotionDistributionEmotion tallies (joy, anger, fear, sadness, surprise, disgust, trust, anticipation)
topPraise / topComplaintsUp to 5 themes each, with frequency + an example quote
crisisSignalsReputational risks (boycotts, lawsuits, viral negativity, safety) with severity
recommendationsActionable next steps
platformCountsPosts analyzed per platform

Per-post records

FieldDescription
platformreddit / youtube / twitter / instagram
text, author, title, sourceUrl, publishedAtThe post and its metadata
engagementlikes / comments / shares / score (per platform)
sentiment, sentimentScore, confidenceLabel, −1…+1 score, 0–1 confidence
emotionsDetected emotions (AI engine)
aspectsAspect-based sentiment — which specific topics are positive/negative (AI engine)
languageDetected ISO 639-1 language (AI engine)
toxicity0–1 toxicity score (AI engine, when enabled)

Pricing (Pay-Per-Event)

EventPrice
Actor start$0.002
Post analyzed$0.003 each
AI brand-health report$0.10 per run

A typical run of 100 posts with a report costs about $0.40 in this actor's charges.

Heads-up on scraping costs: this actor calls dedicated scrapers (Reddit, YouTube, X, Instagram) to fetch the posts. Those scrapers have their own per-result fees billed separately to your account. The cost cap and logs in this actor cover only its own analysis charges — set maxItems to bound volume on both sides.

Platforms & credentials

PlatformWorks out of the boxNeeds
Reddit✅ Yes
YouTube✅ Yes— (searches videos → analyzes their comments)
X / Twitter⚠️ Opt-inxAuthToken + xCt0 cookies from your logged-in x.com session
Instagram⚠️ Opt-ininstagramSessionCookies from your logged-in instagram.com session

Selected platforms without credentials are skipped with a warning — the run still succeeds on the rest.

Sentiment engine

  • AI (default) — an LLM (Claude Haiku or GPT-4o-mini) scores each post with sentiment, emotion, aspects, language, and optional toxicity. Multilingual. Uses the actor's managed key, or bring your own (llmApiKey) for Anthropic or OpenAI.
  • Lexicon — a fast offline word-list scorer (polarity only, English). Set engine: "lexicon" for cheap, high-volume runs or when you don't want an LLM in the loop.

If the AI engine is selected but no key is available, the actor automatically falls back to lexicon with a warning — runs never hard-fail over a missing key.

Example input

{
"query": "ChatGPT",
"platforms": ["reddit", "youtube"],
"maxItems": 100,
"timeRange": "7d",
"engine": "llm",
"includeToxicity": false,
"includeReport": true,
"responseFormat": "detailed"
}

Run via API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('khadinakbar/social-media-sentiment-analyzer').call({
query: 'Tesla',
platforms: ['reddit', 'youtube'],
maxItems: 150,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]); // the brand-health report

Run via API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("khadinakbar/social-media-sentiment-analyzer").call(run_input={
"query": "Tesla",
"platforms": ["reddit", "youtube"],
"maxItems": 150,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[0]) # the brand-health report

Use with AI agents (MCP)

This actor is MCP-ready. Exposed through the Apify MCP server, an AI agent can call it with a single query and receive a structured report plus per-post sentiment — ideal for "what's the sentiment around X right now?" questions. The first dataset record is the report; sample a few post records for detail.

How it works

The actor is an orchestrator: it calls dedicated, maintained scrapers for each platform in parallel, normalizes their output into a common shape, runs the sentiment engine in batches, and synthesizes the report. This keeps reliability high (each scraper owns its own anti-bot handling) and lets the actor focus on analysis.

Part of a brand-intelligence cluster:

  • Brand Sentiment Analyzer — mention monitoring across Reddit, Google News, and Trustpilot reviews.
  • AI Search Brand Monitor — how AI assistants (ChatGPT, Gemini, Claude) describe your brand.
  • Underlying scrapers: Reddit Posts & Comments, YouTube Search, YouTube Comments, X/Twitter, Instagram Hashtag.

FAQ

Do I need an OpenAI/Anthropic key? No — the AI engine uses a managed Anthropic key by default. Provide llmApiKey only if you want to use your own quota or OpenAI.

Why are X and Instagram opt-in? Both require a logged-in session cookie to read public content reliably. Paste your cookies into the encrypted credential fields to enable them.

How do I bound cost? Set maxItems (caps analyzed posts and roughly the scraping volume) and optionally maxCostUsd (hard cap on this actor's own charges).

Does it support non-English content? Yes, with the AI engine — it detects language per post and scores multilingual text. The lexicon engine is English-only.

What if a platform returns nothing? The run still succeeds; the platform shows 0 in platformCounts and a note is added to warnings.

This actor analyzes publicly available social media content for research, monitoring, and analytics. You are responsible for complying with each platform's Terms of Service and applicable laws (including data-protection regulations such as GDPR/CCPA) when using the data. Provide only credentials you are authorized to use. Do not use this actor to harass, profile, or target individuals. Sentiment and toxicity scores are automated estimates and may be imperfect — treat them as signals, not ground truth.