Review insights agent
Pricing
Pay per usage
Review insights agent
LangGraph AI agent in JavaScript that scrapes a business's reviews and clusters them into themes with sentiment and suggested actions.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Apify Demo #3
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Share
Turn hundreds of customer reviews into a handful of decisions. This Actor is an AI agent that takes a business name or Google Maps URL, pulls its recent reviews, and clusters them into clear themes with sentiment, a representative quote, and a suggested action for each. It works for restaurants, hotels, apps, airlines, and any business listed on Google Maps.
The agent is built with LangGraph and runs on the Apify platform, so you get API access, scheduling, integrations, proxy rotation, and run monitoring out of the box.
What does the review insights agent do?
Reading reviews one by one does not scale. This agent does the reading for you:
- It calls the Google Maps Reviews Scraper as a tool to fetch recent reviews for the business you name.
- It groups those reviews into recurring themes (for example "slow service", "great location", "buggy checkout").
- For each theme it scores the sentiment, picks a representative verbatim quote, and proposes a concrete action.
Each theme becomes one row in the dataset, ready to export or pipe into another tool.
Why use the review insights agent?
- Prioritize what to fix - see the themes that drive negative sentiment, ranked and quotable.
- Brief a team fast - hand product, ops, or support a short list of themes instead of a review dump.
- Track over time - schedule runs and watch how sentiment on each theme moves.
- Competitive research - run it on a competitor's listing to learn what their customers value.
How to use the review insights agent
- Enter a business name (for example
Shake Shack Madison Square Park) or paste a Google Maps place URL into the input. - Optionally set how many reviews to pull, the language, the sort order, and the model.
- Click Start and wait for the run to finish.
- Open the Output tab to see one row per theme, or download the dataset.
The OpenAI API key is not a form field - it is read from the OPENAI_API_KEY environment variable
(see Getting started and Deploy to Apify).
Input
Configure the run on the Input tab or via the API.
| Field | Description |
|---|---|
business | Required. A business name or a Google Maps place URL. |
maxReviews | Maximum number of recent reviews to analyze. Default 50. |
language | Language code for the reviews. Default en. |
reviewsSort | Order in which reviews are fetched: newest, most relevant, highest, or lowest ranking. |
modelName | OpenAI model used for clustering and sentiment. Default gpt-4o. |
Example input:
{"business": "Shake Shack Madison Square Park","maxReviews": 50,"reviewsSort": "newest","modelName": "gpt-4o"}
Output
The Actor stores one item per theme in the dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Example output item:
{"business": "Shake Shack Madison Square Park","theme": "Long wait times","sentiment": "negative","sentimentScore": -0.6,"exampleQuote": "Great burgers but we waited 40 minutes to order.","suggestedAction": "Add a second register or mobile ordering during peak hours.","reviewCount": 12}
Data table
| Field | Description |
|---|---|
theme | Short label for the recurring topic. |
sentiment | Overall sentiment: positive, negative, mixed, or neutral. |
sentimentScore | Sentiment from -1 (very negative) to 1 (very positive). |
exampleQuote | A short, representative verbatim quote from a review. |
suggestedAction | A concrete action the business could take. |
reviewCount | Approximate number of reviews that mention the theme. |
business | The business the run analyzed. |
How much does it cost?
The Actor uses the pay-per-event
pricing model, charging a flat fee when a run starts, a small fee for each theme it produces, and a
flat fee when the analysis completes. On top of that you pay your OpenAI usage on your own key, plus
the usage of the Google Maps Reviews Scraper it calls. Keep maxReviews modest to control cost - 50
recent reviews is usually enough to surface the main themes.
Tips and advanced options
- Lower
maxReviewsand usegpt-4o-minifor cheaper, faster runs during testing. - Set
reviewsSorttolowestRankingto focus the analysis on complaints. - Paste the exact Google Maps place URL when a business name is ambiguous or has many locations.
FAQ, disclaimers, and support
Which sites does it cover? Any business with a Google Maps listing.
Is scraping reviews legal? The Actor collects publicly available review content. You are responsible for using the data in line with Google's Terms of Service and applicable laws, and for not storing personal data without a lawful basis.
Known limitations. Very new or unlisted businesses may return no reviews, and an ambiguous name can resolve to the wrong location - use a place URL in that case.
Found a bug or want a custom version? Open an issue on the Actor's Issues tab.
Resources
- Apify Actors
- LangGraph documentation
- Google Maps Reviews Scraper
- What are AI agents?
- Pay-per-event monetization
Getting started
Run the Actor locally with:
$apify run
Set your keys first:
- Run
apify loginsoAPIFY_TOKENis available for the reviews scraper. - Provide your OpenAI key through the
OPENAI_API_KEYenvironment variable. The easiest way is to store it as an Apify secret once -apify secrets add OPENAI_API_KEY <your-key>- which.actor/actor.jsonreferences as@OPENAI_API_KEY, so it resolves both locally withapify runand on the platform afterapify push. Alternatively, exportOPENAI_API_KEYin your shell.
Deploy to Apify
-
Log in to Apify:
$apify login -
Deploy and build the Actor on the Apify platform:
$apify pushThe
OPENAI_API_KEYsecret is uploaded on push and injected as an environment variable at runtime, so the deployed Actor has the key without any input field.


