Aspect-Based Sentiment Analysis
Analyze sentiment for specific features or subjects (e.g. "pricing", "speed", "support") within a single text block.
Aspect-based sentiment classification and emotion intensity scoring across 50+ languages.
https://rsflowhub.com/api/v1/ai/sentiment-analysis
X-API-Key header{
"text": "The dashboard is incredibly fast, but the new billing page is very confusing.",
"aspects": [
"dashboard",
"billing"
]
}
{
"result": {
"sentiment": "mixed",
"confidence": 0.91,
"aspect_sentiments": [
{
"aspect": "dashboard",
"sentiment": "positive",
"confidence": 0.94
},
{
"aspect": "billing",
"sentiment": "negative",
"confidence": 0.89
}
]
}
}
Real-Time Multilingual Sentiment Analysis API is a REST API on RSFlowHub for web, mobile and AI agent applications. Send a JSON request to POST /api/v1/ai/sentiment-analysis with your API key; RSFlowHub runs it on a tuned AI model, falls back to a backup provider if needed, and returns a structured JSON result, usually within 1 to 3 seconds.
Tutorial: Sentiment Analysis in Laravel: Step-by-Step Tutorial with a REST API
Try it without code or signup: Free sentiment analyzer
POST /api/v1/ai/sentiment-analysisX-API-Key headerSend these fields as a JSON body. An invalid or missing field returns a 422 error that names the field.
| Field | Type | Required | Description |
|---|---|---|---|
text |
string | Required | The text content you want to analyze (Max: 5,000 characters). |
aspects |
array of strings | Optional | Optional list of specific topics to analyze sentiment for (e.g., ["UI", "billing", "speed"]). Max 10 items. |
Copy, replace rfh_your_api_key with your key and run. Prefer a client library? See the official SDKs.
curl -X POST "https://rsflowhub.com/api/v1/ai/sentiment-analysis" \
-H "Content-Type: application/json" \
-H "X-API-Key: rfh_your_api_key" \
-d '{"text":"The dashboard is incredibly fast, but the new billing page is very confusing.","aspects":["dashboard","billing"]}'
<?php
$client = new \GuzzleHttp\Client();
$response = $client->post('https://rsflowhub.com/api/v1/ai/sentiment-analysis', [
'headers' => [
'Content-Type' => 'application/json',
'X-API-Key' => 'rfh_your_api_key',
],
'json' => array (
'text' => 'The dashboard is incredibly fast, but the new billing page is very confusing.',
'aspects' =>
array (
0 => 'dashboard',
1 => 'billing',
),
),
]);
echo $response->getBody();
const response = await fetch('https://rsflowhub.com/api/v1/ai/sentiment-analysis', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'rfh_your_api_key'
},
body: JSON.stringify({"text":"The dashboard is incredibly fast, but the new billing page is very confusing.","aspects":["dashboard","billing"]})
});
const data = await response.json();
console.log(data);
import requests
url = "https://rsflowhub.com/api/v1/ai/sentiment-analysis"
headers = {
"Content-Type": "application/json",
"X-API-Key": "rfh_your_api_key"
}
payload = {"text":"The dashboard is incredibly fast, but the new billing page is very confusing.","aspects":["dashboard","billing"]}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Every RSFlowHub endpoint uses the same envelope, so one parser handles all of them. Failed calls are not charged.
{
"success": true,
"request_id": "req_3f9a2c7e-5b1d-4e8a-9c2f-7d6e1a0b4c8d",
"data": {
"result": {
"sentiment": "mixed",
"confidence": 0.91,
"aspect_sentiments": [
{
"aspect": "dashboard",
"sentiment": "positive",
"confidence": 0.94
},
{
"aspect": "billing",
"sentiment": "negative",
"confidence": 0.89
}
]
}
},
"meta": {
"version": "v1",
"timestamp": "2026-10-05T09:30:00Z"
}
}
{
"success": false,
"request_id": "req_8c1d4e2a-7f3b-4a9c",
"error": {
"code": "VALIDATION_ERROR",
"message": "The given data was invalid.",
"details": {
"text": [
"This field is required."
]
}
},
"meta": {
"version": "v1",
"timestamp": "2026-10-05T09:30:00Z"
}
}
| Field | Type | Meaning |
|---|---|---|
success | boolean | true when the call worked, false on any error. |
request_id | string | Unique id for this call. Quote it when you contact support. |
data.result | object | The result of this endpoint (see the example). |
error | object | Only on failure: code, message and details per field. |
meta | object | API version and server timestamp. |
All error codes: Errors reference
Analyze sentiment for specific features or subjects (e.g. "pricing", "speed", "support") within a single text block.
Returns confidence scores (-1.0 to +1.0) for positive, negative, neutral, and mixed emotional tones.
Multilingual sentiment classification across English, Spanish, French, German, Hindi, Gujarati, Japanese, and more.
Fast enough for live moderation flows and batch analytics jobs.
How teams use the Real-Time Multilingual Sentiment Analysis API in production.
Categorize incoming customer reviews and Net Promoter Score (NPS) comments into positive and negative themes.
{"overall": "mixed", "aspects": {"dashboard": "positive", "support": "negative"}}Identifies product pain points in real-time.
Monitor public social media posts and brand mentions during new feature or product launches.
{"overall": "positive", "confidence": 0.98, "label": "POS"}}Provides instant feedback on brand perception.
Auto-flag angry or highly negative support tickets for priority routing to senior agents.
{"overall": "negative", "urgency": "high", "label": "NEG"}}Reduces customer churn by resolving upset clients first.
An upset visitor should not be left talking to a bot. Run each chat message through the sentiment API and the chatbot can notice frustration early, change its tone, or offer to hand the conversation to your team.
How it works in a chatbot
Offer a human, or create a ticket, as soon as sentiment turns negative.
Track how often conversations end positive or negative to see which answers need work.
Pass aspects such as "delivery" or "support" to see what the visitor is unhappy about.
Want a chatbot without building one? The RSFlowHub AI chatbot for your website is live in about 5 minutes with one script tag: it answers from your documents, captures leads and creates support tickets. Read the chat widget guide, try the live chatbot demo, see chatbot pricing, or build your own with the chatbots API.
The same job done three ways.
| Topic | RSFlowHub API | Raw LLM prompts | Rules / regex |
|---|---|---|---|
| Output | Validated JSON fields | Free text you have to parse | Fixed patterns only |
| Setup | One POST request, no prompts | Write and maintain prompts and parsing | Write and maintain rule lists |
| Provider outage | Automatic fallback to a backup model | You build retries and a second vendor | Not applicable |
| Pricing | 1 credit per call, failed calls free | Per token, per vendor | Your own servers and upkeep |
| Understands context | Yes, AI model | Yes, AI model | No, keywords only |
Free plan with 100 credits/month + 1,000 bonus credits when you sign in before 23 Nov. Test it in the playground first, no code needed.
Flowy
AI assistant