Social Media Sentiment Analyzer Pro avatar
Social Media Sentiment Analyzer Pro

Pricing

Pay per usage

Go to Apify Store
Social Media Sentiment Analyzer Pro

Social Media Sentiment Analyzer Pro

Advanced sentiment analysis for social media posts. Detects emotions, calculates engagement metrics, extracts hashtags, and identifies trends across platforms.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

B Butera

B Butera

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

Social Media Sentiment Analyzer

🎯 Overview

The Social Media Sentiment Analyzer is an advanced AI-powered actor that analyzes sentiment, emotions, and engagement metrics from social media posts across multiple platforms including Instagram, Twitter/X, TikTok, LinkedIn, and Facebook.

Perfect for brand monitoring, market research, competitive intelligence, and campaign analysis.

✨ Key Features

Sentiment Analysis

  • Three-tier sentiment classification: Positive, Negative, Neutral
  • Sentiment scoring: Quantified sentiment values from -1 to 1
  • Real-time analysis: Process posts instantly

Emotion Detection

Identifies five primary emotions:

  • 😊 Joy - happiness, excitement, enthusiasm
  • 😠 Anger - frustration, rage, disappointment
  • 😢 Sadness - unhappiness, despair, disappointment
  • 😨 Fear - anxiety, worry, concern
  • 😲 Surprise - shock, astonishment, amazement

Engagement Metrics

  • Engagement Rate: Calculates interaction ratio (likes, comments, shares vs views)
  • Virality Index: Measures share-to-like ratio for viral potential
  • Total Interactions: Aggregates all engagement types

Content Analysis

  • Hashtag Extraction: Identifies and counts hashtags
  • User Mentions: Detects @mentions for network analysis
  • Keyword Filtering: Filter results by specific keywords or emotions
  • Trend Identification: Automatically identifies trending topics

📋 Input Format

{
"posts": [
{
"id": "post_123",
"platform": "instagram",
"author": "brandname",
"content": "Amazing new product launch! #excited #innovation",
"timestamp": "2025-12-27T19:00:00Z",
"likes": 1250,
"comments": 89,
"shares": 42,
"views": 15000
}
],
"filterBySentiment": null,
"filterByEmotion": null,
"minEngagement": 0,
"exportFormat": "json"
}
```
### Input Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `posts` | Array | Yes | Array of social media post objects |
| `filterBySentiment` | String | No | Filter by 'positive', 'negative', or 'neutral' |
| `filterByEmotion` | String | No | Filter by emotion type (joy, anger, sadness, fear, surprise) |
| `minEngagement` | Number | No | Minimum engagement rate threshold (0-100) |
| `exportFormat` | String | No | Output format: 'json' or 'csv' (default: 'json') |
### Post Object Fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | String | Yes | Unique post identifier |
| `platform` | String | Yes | Social media platform (instagram, twitter, tiktok, linkedin, facebook) |
| `author` | String | Yes | Post author/username |
| `content` | String | Yes | Post text content |
| `timestamp` | String | No | ISO 8601 timestamp |
| `likes` | Number | No | Number of likes (default: 0) |
| `comments` | Number | No | Number of comments (default: 0) |
| `shares` | Number | No | Number of shares (default: 0) |
| `views` | Number | No | Number of views/impressions (default: 1) |
## 📤 Output Format
```json
{
"results": [
{
"platform": "instagram",
"postId": "post_123",
"author": "brandname",
"content": "Amazing new product launch! #excited #innovation",
"timestamp": "2025-12-27T19:00:00Z",
"sentiment": "positive",
"sentimentScore": 0.85,
"emotions": [
{
"emotion": "joy",
"confidence": 0.95
},
{
"emotion": "surprise",
"confidence": 0.6
}
],
"engagement": {
"likes": 1250,
"comments": 89,
"shares": 42,
"views": 15000,
"engagementRate": 8.95,
"virality Index": 3.36,
"totalInteractions": 1381
},
"hashtags": ["#excited", "#innovation"],
"mentionedUsers": [],
"analysisTimestamp": "2025-12-27T19:05:00Z"
}
],
"summary": {
"totalPostsAnalyzed": 1,
"totalPostsMatched": 1,
"sentimentDistribution": {
"positive": 1,
"negative": 0,
"neutral": 0
},
"averageSentimentScore": 0.85,
"topEmotions": [
{
"emotion": "joy",
"count": 1
}
],
"topHashtags": [
{
"hashtag": "#excited",
"count": 1
},
{
"hashtag": "#innovation",
"count": 1
}
],
"totalEngagement": 1381,
"analysisTimestamp": "2025-12-27T19:05:00Z"
}
}
```
## 🚀 Quick Start
### Basic Usage
1. **Prepare your posts data** in the input format above
2. **Run the actor** with your posts array
3. **Receive analyzed results** with sentiment, emotions, and engagement metrics
### Example: Analyze Brand Campaign
```json
{
"posts": [
{
"id": "post_456",
"platform": "twitter",
"author": "YourBrand",
"content": "Excited to announce our new partnership with TechCorp! This is fantastic news for our users. #partnership #growth",
"timestamp": "2025-12-27T10:30:00Z",
"likes": 5432,
"comments": 234,
"shares": 892,
"views": 125000
}
],
"filterBySentiment": "positive",
"minEngagement": 2
}
```
## 💡 Use Cases
### Brand Monitoring
Monitor how customers feel about your brand across all platforms
- Track sentiment trends over time
- Identify negative sentiment spikes
- Celebrate viral positive moments
### Competitive Intelligence
Analyze competitor social media sentiment
- Compare sentiment across brands
- Understand audience perception shifts
- Track campaign effectiveness
### Campaign Analysis
Measure sentiment impact of marketing campaigns
- Pre/post campaign sentiment comparison
- Identify high-performing content themes
- Optimize messaging based on emotional response
### Market Research
Understand industry sentiment and trends
- Track industry sentiment trends
- Identify emerging topics and concerns
- Monitor influencer sentiment
### Customer Feedback Analysis
Analyze customer reactions to product launches
- Detect customer pain points
- Identify customer joy moments
- Improve product development insights
## 🔧 Technical Details
### Technology Stack
- **Runtime**: Node.js with Apify SDK
- **NLP Engine**: Lexicon-based sentiment analysis
- **Data Storage**: Apify Dataset format
### Performance Characteristics
- **Processing Speed**: ~100 posts per second
- **Memory Usage**: ~512 MB base
- **Timeout**: 60 minutes (adjustable)
### Sentiment Algorithm
Uses a comprehensive lexicon of positive and negative keywords combined with contextual analysis to determine sentiment polarity and strength.
### Emotion Detection
Employs keyword matching with confidence scoring to identify which of the five emotions are present in the text.
## 📊 Output Metrics Explained
### Sentiment Score
- **Range**: -1.0 to 1.0
- **>0.1**: Positive sentiment
- **-0.1 to 0.1**: Neutral sentiment
- **<-0.1**: Negative sentiment
### Engagement Rate
Formula: `(likes + comments×2 + shares×3) / views × 100`
### Virality Index
Formula: `(shares / (likes + 1)) × 100`
## 🎓 Examples
### Example 1: Product Launch Analysis
Analyze reactions to a product launch across multiple platforms.
### Example 2: Crisis Management
Quickly identify negative sentiment spikes and affected content.
### Example 3: Influencer Vetting
Analyze influencer sentiment and audience engagement quality.
## 📝 Notes
- Sentiment analysis is probabilistic and may not be 100% accurate
- Sarcasm and irony may be misclassified
- Multiple languages support is planned for future versions
- Real-time API streaming coming in v2.0
## 🤝 Support & Feedback
Need help? Have suggestions? Contact our support team or create an issue on GitHub.
## 📄 License
This actor is provided under the Apify platform license.
## 🔄 Version History
### v0.0.1 (Current)
- Initial release
- Core sentiment analysis
- Emotion detection
- Engagement metrics
- Multi-platform support
---
**Made with ❤️ for the Apify community**