Text Sentiment Analysis
Pricing
$2.65 / 1,000 sentiment labels
Text Sentiment Analysis
Classify one line or a full text block as positive, negative, or neutral. Get a confidence score for every line plus line counts and sentiment shares in a structured dataset.
Pricing
$2.65 / 1,000 sentiment labels
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
📊 Turn text into sentiment signals
For developers, support teams, researchers, and analysts, Text Sentiment Analysis works as sentiment analysis software for text you submit. It returns a structured dataset with a positive, negative, or neutral label and confidence value for each line, plus the line count and sentiment shares, so you can review text in a machine-readable form.
- Review pasted support comments with Customer Feedback Sentiment Analysis.
- Paste social posts to run Twitter Sentiment Analysis.
- Try the Sentiment Analysis Example with a short sample.
- Use a Text Analysis Tool to label each line in a text block.
- Open Sentiment Analysis Tools to compare positive, negative, and neutral shares from one run.
🧾 Line-level sentiment reports
What each run returns
The dataset contains one report for the submitted text. It shows the number of lines, the count and share for each sentiment, and the original text, label, and confidence value for every line.
Sentiment labels
Each line is labeled positive, negative, or neutral. Confidence is a number from 0 to 1 for that line's label. The distribution uses the same three labels and gives both counts and shares.
▶️ Analyze one line or a text block
Run steps
- Put one line or a block of text in the
textinput. - Start the Actor in Apify Console or through the standard Actor API.
- Open the dataset to review the line labels, confidence values, and summary.
The Actor analyzes the text you submit. It does not fetch tweets, reviews, web pages, or other outside text for you.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
text | string | Required. Accepts one line or a block of text. Each line is labeled positive, negative, or neutral. |
Example input
This is the public input from the successful default-input beta run:
{"text": "I love the fast delivery.\nThe packaging was damaged.\nThe meeting is scheduled for noon."}
🧾 Output
Output shape: sentiment report
Each successful dataset row has this shape:
| Field | Type | What it does |
|---|---|---|
lineCount | integer | Number of text lines analyzed. |
sentimentDistribution | object | Counts and shares for positive, negative, and neutral lines. |
sentimentDistribution.positive | object | Count and share for positive lines. |
sentimentDistribution.positive.count | integer | Number of positive lines. |
sentimentDistribution.positive.share | number | Share of lines labeled positive, from 0 to 1. |
sentimentDistribution.negative | object | Count and share for negative lines. |
sentimentDistribution.negative.count | integer | Number of negative lines. |
sentimentDistribution.negative.share | number | Share of lines labeled negative, from 0 to 1. |
sentimentDistribution.neutral | object | Count and share for neutral lines. |
sentimentDistribution.neutral.count | integer | Number of neutral lines. |
sentimentDistribution.neutral.share | number | Share of lines labeled neutral, from 0 to 1. |
lines | object[] | One line-level assessment for each analyzed line, in input order. |
lines[].lineNumber | integer | 1-based position of the line in the input. |
lines[].text | string | Original text for the line. |
lines[].sentiment | string | Sentiment label: positive, negative, or neutral. |
lines[].confidence | number | Confidence value for the label, from 0 to 1. |
Example row
This genuine row is from a successful run on the current beta build:
{"lineCount": 3,"sentimentDistribution": {"positive": {"count": 1,"share": 0.3333333333333333},"negative": {"count": 1,"share": 0.3333333333333333},"neutral": {"count": 1,"share": 0.3333333333333333}},"lines": [{"lineNumber": 1,"text": "I love the fast delivery.","sentiment": "positive","confidence": 0.99},{"lineNumber": 2,"text": "The packaging was damaged.","sentiment": "negative","confidence": 0.8625},{"lineNumber": 3,"text": "The meeting is scheduled for noon.","sentiment": "neutral","confidence": 0.55}]}
💳 Pricing
How charges work
The primary event is Sentiment label at $0.00265 for one successful sentiment label and confidence value saved for a submitted text line. A multiline run can create one such event for each classified line.
🔌 Integrations
Use the results
Start runs in Apify Console or call the Actor through the standard Apify API. Read the machine-readable dataset in your app, script, or text review workflow.
❓ FAQ
Can I analyze one line and a multiline block?
Yes. Put either one line or a text block in text. The output keeps the line order and adds one assessment for each analyzed line.
Does the Actor fetch Twitter posts or customer reviews?
No. It analyzes only the text you submit. Paste tweet text, feedback, or review text when you want a Twitter sentiment analysis or customer feedback check.
What does sentiment analysis mean in the output?
Each line gets one of three labels: positive, negative, or neutral. The row also includes a confidence value, line count, and the share of each label.
How should I read the confidence value?
It is a number from 0 to 1 returned with the line's label. It describes the Actor's confidence value for that assessment; it is not a promise that the label is always correct.
Can I run sentiment analysis from Python or another app?
Yes. Start the Actor through the standard Apify API and read its dataset from your Python workflow, script, or another application.
Does it use VADER sentiment analysis, BERT, or a named provider?
The public contract does not name VADER, BERT, or a third-party sentiment API. It promises the three labels, line-level confidence values, and aggregate counts and shares, so do not assume a specific model or provider.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Twitter (X) Scraper — collect public posts and then submit their text for sentiment analysis.
- Facebook Reviews Scraper — collect public Page recommendations before analyzing their tone.
- Reddit Scraper — collect public posts or comments for a sentiment workflow.
- Webpage Text Extractor — extract public page text before sending it to this Actor.
- Readability Analyzer — check reading difficulty alongside sentiment.
Made with ❤️ by Maxime Dupré