Sentiment Analysis Using Jev
Pricing
from $0.08 / 1,000 results
Sentiment Analysis Using Jev
Classifies the sentiment of your texts as positive, negative, neutral or mixed, or into your own custom labels such as good, bad or urgent, and returns a confidence score for every text.
Pricing
from $0.08 / 1,000 results
Rating
0.0
(0)
Developer
ActorFlow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Sentiment Analysis — Classify Text as Positive, Negative or Your Own Custom Labels
Run sentiment analysis on any list of texts — reviews, comments, survey answers, tweets or support tickets. Each text is classified as positive, negative, neutral or mixed, or into your own custom labels such as good, bad or urgent, with a confidence score for every label. Results export as JSON, CSV or Excel and the actor can be called as an API. Classification is powered by JEV, a fast AI classification model. Paste your texts, press Start.
✨ Features of this sentiment analysis actor
- JEV-powered sentiment classification — texts are classified by the JEV model, and every text gets one label plus a confidence score and the score of each label
- Custom sentiment labels — define your own classes (up to 10), for example
good,bad,urgentorquestion - Default labels — leave the labels empty to use positive, negative, neutral and mixed
- Batch processing — classify up to 100 texts in one run
- No scraping or proxy needed — you supply the text, runs are fast and cheap
🚀 How to run sentiment analysis in 5 steps
- Sign up for a free Apify account — includes $5 monthly credit.
- Open the actor page and click Try for free.
- Add your texts to the Texts field, one per line.
- Optionally add your own Custom sentiment labels.
- Click Start and download the results from the Output tab in JSON, CSV, or Excel format.
You can also run this actor via the Apify API or integrate it directly into your workflows using Zapier, Make, or n8n.
💰 Pricing
This actor uses pay-per-result billing: you pay for each classified text.
- New Apify accounts include $5 of free monthly credit.
- There is no browser, proxy or scraping involved, so runs cost very little.
🔧 Input configuration
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Texts (texts) | array | ✅ | 3 example texts | The texts to classify. Up to 100 texts per run; each text is cut to its first 2,000 characters. |
Custom sentiment labels (sentiments) | array | — | positive, negative, neutral, mixed | Your own labels. Up to 10 labels of up to 50 characters. Duplicates are ignored (case-insensitive). |
Tip for custom labels: use clear, distinct labels. urgent complaint and happy feedback separate better than overlapping words like bad and urgent.
📦 Sentiment analysis output data
The output is a dataset with one record per text and these fields: text, sentiment, confidence and scores. scores holds the probability of every label, so you can spot borderline texts. The dataset has 1 view, Overview, a compact table of text, sentiment and confidence. If a text could not be classified, sentiment and confidence are null.
Sample output:
[{"text": "Great screen but the battery is awful.","sentiment": "mixed","confidence": 1,"scores": { "negative": 0, "neutral": 0, "mixed": 1, "positive": 0 }},{"text": "What time do you open on Sunday?","sentiment": "question","confidence": 1,"scores": { "question": 1, "good": 0, "bad": 0, "urgent": 0 }}]
🐍 How to run sentiment analysis with Python, JavaScript or the API
Run the actor programmatically with the official Apify clients. Replace <YOUR_API_TOKEN> with the token from your Apify Console.
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("<username>/sentiment-analysis").call(run_input={"texts": ["I love this product!", "Terrible support, nobody replied."],"sentiments": ["happy", "unhappy"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["text"], item["sentiment"], item["confidence"])
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('<username>/sentiment-analysis').call({texts: ['I love this product!', 'Terrible support, nobody replied.'],sentiments: ['happy', 'unhappy'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL — start a run and wait for the dataset:
curl -X POST "https://api.apify.com/v2/acts/<username>~sentiment-analysis/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"texts": ["I love this product!", "Terrible support, nobody replied."]}'
💡 What you can use sentiment analysis data for
- Sorting customer reviews and survey answers into happy and unhappy groups
- Triaging support tickets with custom labels such as urgent, question or complaint
- Measuring public opinion in social media posts, comments and news headlines
- Tagging feedback by theme with your own label set
- Adding a sentiment column to data scraped with other actors
Typical users are product, support, marketing and research teams in e-commerce, SaaS, media and market research.
⚠️ Limitations & known issues
- 100 texts per run — extra texts are skipped, and a warning is logged.
- 2,000 characters per text — longer texts are cut, so the opening of the text decides the label.
- JEV model — results come from the JEV classifier, which is most reliable on clear opinions and weaker on sarcasm.
- One label per text — each text gets its single best label, so use the
scoresfield to see runner-up labels. - Short labels can be ambiguous — descriptive labels give more accurate results.
❓ Frequently asked questions
How does this sentiment analysis actor work?
You provide texts, and the JEV model picks the best-fitting label for each one and reports a confidence score and a score for every label.
Can I use my own sentiment labels instead of positive and negative?
Yes. Add up to 10 labels such as good, bad, urgent or question in Custom sentiment labels. They fully replace the defaults for that run.
How many texts can I analyze in one run?
Up to 100 texts, each up to 2,000 characters. For larger datasets, split them across several runs or call the actor from the API in a loop.
How accurate is the sentiment classification?
It is accurate on clear opinions and weaker on sarcasm or very short, context-free text. Check confidence and scores and review low-confidence rows.
What languages are supported?
The classifier handles many major languages, though results are most reliable for English. Test a small sample in your language first.
How do I run sentiment analysis with Python?
Use the Apify client shown above: call the actor with a list of texts and iterate over the dataset items.
What output formats are supported?
JSON, CSV, Excel, XML and RSS, either from the Output tab or through the Apify API.
🔗 Other actors you may find useful
| Actor | Description |
|---|---|
| ✍️ Substack Scraper | Scrapes Substack posts and comments with free sentiment and AI summaries. |
| ⭐ Google Play Store Reviews Scraper | Scrapes user reviews from Google Play apps, including review text, star rating and author. |
| 🎬 YouTube Video List Scraper | Scrapes video listings from YouTube channels and playlists. |
| 🗞️ Google News AI Scraper | Searches Google News by keyword with optional full article text and AI summaries. |
💬 Support & contact
If you encounter any issues or have questions, please open an issue or reach out via the Apify Community Forum.
You can also find more of our actors on the Actor Flow page.


