Review insights agent avatar

Review insights agent

Pricing

Pay per usage

Go to Apify Store
Review insights agent

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

Apify Demo #3

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

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:

  1. It calls the Google Maps Reviews Scraper as a tool to fetch recent reviews for the business you name.
  2. It groups those reviews into recurring themes (for example "slow service", "great location", "buggy checkout").
  3. 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

  1. Enter a business name (for example Shake Shack Madison Square Park) or paste a Google Maps place URL into the input.
  2. Optionally set how many reviews to pull, the language, the sort order, and the model.
  3. Click Start and wait for the run to finish.
  4. 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.

FieldDescription
businessRequired. A business name or a Google Maps place URL.
maxReviewsMaximum number of recent reviews to analyze. Default 50.
languageLanguage code for the reviews. Default en.
reviewsSortOrder in which reviews are fetched: newest, most relevant, highest, or lowest ranking.
modelNameOpenAI 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

FieldDescription
themeShort label for the recurring topic.
sentimentOverall sentiment: positive, negative, mixed, or neutral.
sentimentScoreSentiment from -1 (very negative) to 1 (very positive).
exampleQuoteA short, representative verbatim quote from a review.
suggestedActionA concrete action the business could take.
reviewCountApproximate number of reviews that mention the theme.
businessThe 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 maxReviews and use gpt-4o-mini for cheaper, faster runs during testing.
  • Set reviewsSort to lowestRanking to 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

Getting started

Run the Actor locally with:

$apify run

Set your keys first:

  • Run apify login so APIFY_TOKEN is available for the reviews scraper.
  • Provide your OpenAI key through the OPENAI_API_KEY environment variable. The easiest way is to store it as an Apify secret once - apify secrets add OPENAI_API_KEY <your-key> - which .actor/actor.json references as @OPENAI_API_KEY, so it resolves both locally with apify run and on the platform after apify push. Alternatively, export OPENAI_API_KEY in your shell.

Deploy to Apify

  1. Log in to Apify:

    $apify login
  2. Deploy and build the Actor on the Apify platform:

    $apify push

    The OPENAI_API_KEY secret is uploaded on push and injected as an environment variable at runtime, so the deployed Actor has the key without any input field.

Documentation reference