Text Sentiment Analysis avatar

Text Sentiment Analysis

Pricing

$2.65 / 1,000 sentiment labels

Go to Apify Store
Text Sentiment Analysis

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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.

🧾 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

  1. Put one line or a block of text in the text input.
  2. Start the Actor in Apify Console or through the standard Actor API.
  3. 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

FieldTypeWhat it does
textstringRequired. 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:

FieldTypeWhat it does
lineCountintegerNumber of text lines analyzed.
sentimentDistributionobjectCounts and shares for positive, negative, and neutral lines.
sentimentDistribution.positiveobjectCount and share for positive lines.
sentimentDistribution.positive.countintegerNumber of positive lines.
sentimentDistribution.positive.sharenumberShare of lines labeled positive, from 0 to 1.
sentimentDistribution.negativeobjectCount and share for negative lines.
sentimentDistribution.negative.countintegerNumber of negative lines.
sentimentDistribution.negative.sharenumberShare of lines labeled negative, from 0 to 1.
sentimentDistribution.neutralobjectCount and share for neutral lines.
sentimentDistribution.neutral.countintegerNumber of neutral lines.
sentimentDistribution.neutral.sharenumberShare of lines labeled neutral, from 0 to 1.
linesobject[]One line-level assessment for each analyzed line, in input order.
lines[].lineNumberinteger1-based position of the line in the input.
lines[].textstringOriginal text for the line.
lines[].sentimentstringSentiment label: positive, negative, or neutral.
lines[].confidencenumberConfidence 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 🫡

Made with ❤️ by Maxime Dupré