Review Analysis AI: Sentiment to Action Plan
Pricing
from $400.00 / 1,000 per 100 reviews
Review Analysis AI: Sentiment to Action Plan
Customer review analysis that tells you what to fix. Pass reviews from any source (plain text or review-scraper rows) and get sentiment, star distribution, recurring themes, top complaints and praises, competitor gaps and prioritized actions with one critical step.
Pricing
from $400.00 / 1,000 per 100 reviews
Rating
0.0
(0)
Developer
Turgay NANTA
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
23 days ago
Last modified
Share
Review Analysis AI: Customer Reviews to Sentiment, Themes and an Action Plan
You already have the reviews: a CSV from your shop, a support export, a survey, or the dataset of a review scraper. Reading them one by one takes hours, and a sentiment percentage does not tell anyone what to fix first.
Paste or pass your reviews. The Actor turns them into a manager-ready action plan: overall sentiment, star distribution, recurring themes, the top complaints and praises, competitor opportunities, prioritized actions with risk, benefit and cost, quick wins, and the single most important step for this week.
- Bring any reviews: plain text lines, or objects with a text and a rating. Rows exported from most review scrapers work as they are.
- Decisions, not just scores: every finding becomes an action with a priority score computed by code.
- Any source, any business: restaurants, hotels, apps, online shops, SaaS, clinics, services.
- Five output languages: English, Turkish, German, Spanish, French. Reviews in other languages are understood.
- Safe to try: if no valid review is found in the input, nothing is charged.
What it costs: $0.65 for up to 100 reviews, then $0.40 for each further 100. Details in Pricing.
This Actor does not collect reviews from websites. It analyzes the reviews you give it. If you need collection too, see Pairing with a review scraper.
At a glance
| Input | A list of reviews (reviews): strings or {text, rating} objects |
| Output | Prioritized action table (dataset) + full manager report (key-value store MANAGER_REPORT) |
| Analysis | Sentiment, star distribution, themes, top complaints and praises, action plan, quick wins, critical step, competitor opportunities, executive summary |
| Reviews per run | Any number; analyzed ten at a time |
| Accepted fields | Text from text, review, comment or snippet; rating from rating, stars or score |
| Pricing | Pay per 100 reviews analyzed + per report; see Pricing |
| Runs on | Apify Console, API, schedules, n8n, Make, Zapier, AI agents via MCP |
Quick start
- Open the Reviews field. It comes with three sample reviews; replace them with your own, as plain strings or
{"text": "...", "rating": 4}objects. - Type the Business name and choose the output language.
- Click Start. Open the Dataset tab for the action table and the key-value store for
MANAGER_REPORT.
What the action table looks like
| Priority | Issue / Area | Risk of Inaction | Risk Level | Benefit | Cost | Score | Recommended Action |
|---|---|---|---|---|---|---|---|
| 1 | Checkout errors on mobile | Buyers abandon carts and leave 1-star reviews | High | High | Low | 9.0 | Fix the payment form validation on iOS Safari and add a clear error message |
| 2 | Slow support replies | Frustrated customers escalate publicly | High | Medium | Low | 6.0 | Add an auto-reply with the expected response time and a help-center link |
| 3 | Unclear size guide | Returns and "runs small" reviews continue | Medium | Medium | Medium | 2.0 | Rewrite the size guide with measurements and fit notes |
Illustrative example; your run reports its own findings, based only on the reviews you provide.
Why teams use it
A sentiment tool says "72% positive" and stops. That number does not tell a manager whether to fix the product, the delivery, the staff schedule or the website. This Actor behaves like a consultant who makes recommendations:
- It reads every review in chunks of ten, so long review sets never overflow the model. If a model response is ever truncated, the chunk is split in two and retried instead of being silently dropped.
- It groups problems into themes and counts how often each appears, so you see scale, not single anecdotes.
- It turns each theme into an action with the risk of doing nothing, a benefit and cost level, and a score.
- It ranks actions with a fixed formula (risk x benefit / cost), computed by code rather than left to the model, so the ranking is consistent from run to run.
- It separates quick wins from bigger changes and names one critical step for this week.
Sentiment score vs. this Actor
| Typical sentiment tool | This Actor | |
|---|---|---|
| Output | Positive/negative percentages | Themes, complaints, praises, prioritized actions |
| Tells you what to do | No | Yes: action, risk, benefit, cost, score |
| Ranking | None, or decided by a model | Fixed formula computed by code |
| Long review sets | Varies | Chunked analysis with split-and-retry |
| Ready for a manager | Needs interpretation | Executive summary and one critical step |
| Output language | Usually one | Five, chosen per run |
What you get
Dataset: the action table
One row per prioritized action, sorted by score: Priority, Issue / Area, Risk of Inaction, Risk Level, Benefit, Cost, Benefit/Cost, Score, Recommended Action. The number of rows is set by Actions shown in the table (default 5, range 3-10). The full list is always in the report. If no action could be produced, the dataset holds one row pointing to the report instead of being empty.
Key-value store: MANAGER_REPORT
Machine-readable report with English keys:
| Key | Content |
|---|---|
business | The business name you gave |
review_count | Number of reviews analyzed |
overall_sentiment | positive, neutral or negative |
rating_distribution | Count of reviews per star rating, plus unrated for reviews without stars |
themes | Up to 10 recurring themes with frequency and +/- direction |
top_complaints / top_praises | Up to 5 of the most frequent negatives and positives |
competitor_opportunities | Gaps a competitor could use against you, or you could use against them |
quick_wins | Low-effort actions with high or medium benefit |
critical_step | The single most important action this week |
executive_summary | A short paragraph for a manager or client |
all_actions | Every action with priority, area, recommended action, risk of inaction, levels, benefit/cost label, score and expected gain |
shown_actions / total_actions | How many actions the table shows and how many exist |
What to do with each part of the report
| Report part | Typical owner | Typical use |
|---|---|---|
critical_step | Owner or manager | This week's decision |
quick_wins | Team lead | Small process, page or wording changes that can ship fast |
all_actions | Operations and product | Backlog of structural fixes, sorted by score |
top_complaints | Customer support | Reply templates, FAQ updates, return reason tracking |
top_praises | Marketing | Copy in customers' own words, ad angles, testimonials to feature |
competitor_opportunities | Product and marketing | Differentiation and positioning |
executive_summary | Management or client | One paragraph for a report or deck |
Who it is for
- Customer experience and support leads who need the root causes behind negative feedback.
- Product managers reading app store reviews, NPS comments or feature feedback.
- E-commerce managers with product reviews exported from their shop platform.
- Hotel, restaurant and clinic managers with reviews from several platforms in one file.
- Agencies and consultants who deliver review audits to clients.
- Market researchers comparing how customers talk about competing products.
Use cases
Google Maps reviews of a local business
Collect the reviews with any Google Maps reviews scraper, then pass its items as reviews. Rows that carry the review in text and the stars in stars are read directly; reviews that only have stars and no text are skipped, because there is nothing to analyze.
Product reviews from your online shop or Amazon listing
Export reviews from your store platform, your review app, or an Amazon review scraper. Map the review body to text and the stars to rating. The action table points to product, listing, packaging or delivery fixes.
App store and SaaS feedback
Paste app store reviews, in-app feedback or NPS comments as plain strings. Themes separate bugs, missing features, pricing complaints and onboarding friction; the critical step tells the product team where to start.
Support tickets and survey answers
Free-text survey answers and ticket summaries work as plain strings. Without ratings, the star distribution shows them as unrated; themes and actions work the same way.
Multi-platform view
Combine reviews from several sites into one list for a single, cross-platform action plan. To compare platforms, run each one separately with the same settings.
Client audits for agencies
Run the Actor on a client's reviews during onboarding. The executive summary, the action table and the star distribution drop straight into a first-week report.
Worked example: an online shop with rising returns
A small apparel shop sees more returns and a slipping product rating.
- Export 240 product reviews from the shop and pass them as
{text, rating}objects with the business name "Trail Apparel". - Read the action table. "Sizing runs small" sits at the top with high risk and low cost; "late delivery" follows with high risk and medium cost.
- Check
themes. Fabric quality is a strong positive theme; sizing appears again and again in 2-star reviews. The product is fine; the size information is not. - Act on
quick_wins. Update the size guide and add "order one size up" to the product pages. - Read
critical_step. Fix the size guide this week; talk to the courier next. - Re-run in a month on the new reviews and compare
top_complaints. If sizing drops out of the top five, the change worked.
How it works
- Normalize. Each item becomes
{text, rating}. Text is read fromtext,review,commentorsnippet; the rating fromrating,starsorscore. Empty items are dropped. - Analyze in chunks. Reviews are analyzed ten at a time by a language model that must answer in a strict JSON format and base everything only on the reviews.
- Merge. Chunk results are combined into themes, complaints, praises, competitor opportunities and actions with counts.
- Prioritize. Each action gets a score of risk x benefit / cost. If the model leaves a level empty, it falls back to a neutral default (benefit falls back to the risk level), so no action is lost.
- Report. The action table goes to the dataset; the full report goes to
MANAGER_REPORT.
If no valid review is found, the run stops with the message "No valid reviews found" and nothing is charged.
Input
| Field | Description |
|---|---|
reviews | The reviews to analyze: plain strings or objects. Text from text, review, comment or snippet; rating from rating, stars or score. |
businessName | Used in the report and as context for the analysis. |
language | Output language: English, Türkçe, Deutsch, Español, Français. Default English. |
model | Advanced: the default is fast and economical; a stronger model is available for deeper analysis. |
maxAksiyon | Number of actions shown in the table (3-10). The full list is in the report. |
Example: plain strings
{"reviews": ["Great quality for the price, feels sturdy.","Delivery took two weeks and nobody answered my emails.","Runs small, had to return it."],"businessName": "Trail Apparel","language": "English"}
Example: scraper rows passed as they are
{"reviews": [{"text": "Friendly staff but the room was noisy.", "stars": 3},{"review": "Checkout kept failing on my phone.", "score": 1},{"comment": "Fast shipping, exactly as described.", "rating": 5}],"businessName": "Example Store"}
Pricing
This Actor charges per event. Current prices are on the Pricing tab; at the time of writing:
| Event | When | Price |
|---|---|---|
actor-start | Once per run | $0.0001 |
reviews-processed-100 | Per 100 reviews analyzed (rounded up) | $0.40 |
report-generated | Once per report | $0.25 |
| Reviews in one run | Calculation | Total (approx.) |
|---|---|---|
| 20 | $0.0001 + 1 x $0.40 + $0.25 | $0.65 |
| 100 | $0.0001 + 1 x $0.40 + $0.25 | $0.65 |
| 250 | $0.0001 + 3 x $0.40 + $0.25 | $1.45 |
| 1,000 | $0.0001 + 10 x $0.40 + $0.25 | $4.25 |
There is no subscription. If the input has no valid review, nothing is charged. For comparison, reading and summarizing 250 reviews by hand takes a person several hours.
Pairing with a review scraper
This Actor is built to sit after a collection step:
- Run a review scraper from Apify Store for the site you need (Google Maps, an app store, a hotel site, an online marketplace).
- Read the scraper's dataset items.
- Pass the items as
reviews. If the text field has another name than the four listed above, map it totextfirst.
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")items = client.dataset("SCRAPER_DATASET_ID").list_items().itemsreviews = [{"text": i.get("text"), "rating": i.get("stars")} for i in items if i.get("text")]run = client.actor("enezli/ai-review-intelligence").call(run_input={"reviews": reviews, "businessName": "Corner Bistro"})report = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("MANAGER_REPORT")["value"]print(report["critical_step"])
In n8n or Make, the same flow is two steps: "Run Actor" for the scraper, then "Run Actor" for this Actor with the scraper's items in reviews.
Integrations
API
curl -X POST "https://api.apify.com/v2/acts/enezli~ai-review-intelligence/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"reviews":["Great service","Slow delivery"],"businessName":"Example Store"}'
Schedules
Save your input as a task and schedule it when the review list is refreshed by another step (for example a scraper task that runs before it).
n8n, Make, Zapier
Run Actor, read MANAGER_REPORT from the run's key-value store, post executive_summary and critical_step to Slack or email, and append the action table to Google Sheets.
AI agents (MCP)
Available through the Apify MCP server, so an assistant can analyze a batch of reviews on request and answer "what should we fix first?".
Workflow recipes
Monthly feedback review. At the start of each month, export the previous month's reviews and run the Actor. Send critical_step and the top three actions to the team channel. The history of reports shows which fixes moved the rating.
Competitor comparison. Collect reviews for your product and two competitors, then run each set separately with the same settings. Put top_complaints side by side; complaints your competitors share and you do not are a positioning point.
Release follow-up for apps. After each release, analyze the reviews posted since the release date. New bug themes surface before they drag the store rating down.
Support backlog triage. Paste a week of ticket summaries as plain strings. The themes show which problems generate the most contacts; the quick wins are often help-center or FAQ changes.
Tips for better results
- Use 100-300 reviews for a first analysis. Fewer than 30 gives thin themes.
- Keep one business or product per run, so the themes and actions stay specific.
- Include the star rating whenever you have it. It powers the star distribution and helps rank risk.
- Set a real business name. It gives the model context and makes the report readable for others.
- Choose the language your team reads; the reviews can be in any language.
- Very large sets: split them by month or by product, so each report stays focused and the run stays short.
Limits
- The Actor does not visit websites or collect reviews. It analyzes only the reviews in the input.
- Benefit, cost and risk levels are model estimates from review content, not financial calculations. Use the score to prioritize, not as a forecast.
- The analysis reflects only the reviews provided. Reviews without text are skipped.
- There is no built-in "only new reviews" memory; to analyze only recent reviews, pass only recent reviews.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| "No valid reviews found (input is empty or malformed)" | The list is empty, or no item has text in a supported field | Check the field names; map your text field to text. Nothing was charged |
| Fewer reviews analyzed than items sent | Some items had no text (for example rating-only reviews) | Expected; only reviews with text can be analyzed |
Star distribution shows only unrated | Ratings were missing or in an unsupported field | Put the stars in rating, stars or score |
| "No chunk could be analyzed" | The language model service did not respond | Run again later |
| Themes feel generic | Very small sample or mixed businesses in one list | Add more reviews; keep one business per run |
| Report in the wrong language | language left at English | Choose the output language in the input |
FAQ
Does it scrape reviews? No. It analyzes the reviews you pass in. Pair it with any review scraper for collection.
Which review formats work?
Plain strings, or objects with the text in text, review, comment or snippet and the rating in rating, stars or score.
Can I connect a scraper's output directly?
Yes, when the scraper's rows use one of the supported field names; pass the items as reviews through the API, n8n or Make. Otherwise map the text field to text first.
Does it read reviews in other languages? Yes. Reviews in any language the model understands are analyzed; the report is written in the output language you choose.
Am I charged if the input is empty? No. The run stops before any charge when no valid review is found.
Why are actions ranked by a formula? So the order is consistent and explainable: risk of inaction times benefit, divided by cost. The model estimates the levels; code does the ranking.
Can I change the number of actions?
Yes, with maxAksiyon (3-10) for the table. The report always contains all actions.
Is my data stored? Only in your own Apify storage. Review text is sent to the language model provider solely to produce your report.
Why is the price per 100 reviews? Analysis cost grows with review volume. Rounding up per 100 keeps the price simple and predictable before you run.
Glossary
- Theme: a topic that recurs across reviews, such as delivery, sizing or staff, with how often it appears and whether it is mostly positive or negative.
- Risk of inaction: what is likely to happen to ratings, returns or churn if the issue is left as it is.
- Benefit / Cost: the model's estimate of the upside of acting and the effort it takes. The
Benefit/Costcolumn labels the ratio as Very attractive, Attractive or Costly. - Score: risk x benefit / cost, computed by code, used to sort the action table.
- Quick win: an action with low cost and high or medium benefit.
- Critical step: the one action the report recommends doing first.
- Competitor opportunity: a weakness in the customer experience that a better competitor could exploit, or that you can turn into a strength.
Trademarks
This Actor is not affiliated with, endorsed by, or connected to Amazon or Google Maps. All product names are trademarks of their respective owners.