# AI Text Analyzer for Google Reviews (`geneea-analytics/reviews-text-nlp-analyzer`) Actor

Quickly analyze customer reviews extracted by Google Maps Scraper. Find out what the most frequently used keywords are in each review. Learn how people view your staff and prices. Obtain structured information from unstructured text. Monitor changes in customers’ sentiment over time.

- **URL**: https://apify.com/geneea-analytics/reviews-text-nlp-analyzer.md
- **Developed by:** [Geneea Analytics](https://apify.com/geneea-analytics) (community)
- **Categories:** AI
- **Stats:** 628 total users, 5 monthly users, 97.5% runs succeeded, 20 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## AI Text Analyzer for Google Reviews

The analyzer performs a textual analysis of Google Reviews scraped from Google Maps.

This text analysis tool processes text reviews extracted by
[Google Maps Reviews Scraper](https://apify.com/compass/google-maps-reviews-scraper).
To use the text analyzer, instruct the Google Maps Reviews Scraper to

- **extract reviews** and
- **translate them to English**, either by setting the language
  to English and “Reviews translation” to ”Original & translated” or
  by setting the language to English and “Reviews translation” to ”Only translated”.

#### Results

The resulting dataset contains all the data from the input dataset plus a new field `nlp`,
which has the following information

- Attributes
- Sentiment
- Tags

The results are organized as **one review per line**, regardless of what you choose in Google Maps Reviews Scraper
(where you can set the option “One review per row” to be either true or false).

#### How to use the analyzer

To understand how to configure the analyzer, you can watch a short video tutorial here:

https://youtu.be/cMOGGTTHMBg

Or follow our step-by-step guide bellow.

First, you need to run the [Google Maps Reviews Scraper](https://apify.com/compass/google-maps-reviews-scraper) or [Google Maps Scraper](https://apify.com/compass/crawler-google-places), setting it up according to the type of reviews you want to use.

For [Google Maps Reviews Scraper](https://apify.com/compass/google-maps-reviews-scraper), you can start with your selected Google Place URL.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/1.png)

Then, for the “Reviews translation” field, you can choose Original, Original & translated, or Only translated, depending on whether you want to use automatic translations. Either way, you must set the “Language” option to English.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/2.png)

To set up [Google Maps Scraper](https://apify.com/compass/crawler-google-places), you can use search terms like you would type them in Google Maps Search. The only difference is adding the location to a separate “Location” field.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/3.png)

Or you can opt for the URL.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/4.png)

In both cases, you must set the “Language” to English.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/5.png)

Lastly, in the “Do you want to extract reviews” section, check the option “One review per row” and specify other details about the reviews.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/6.png)

If you're unsure about setting up the scraper, this [guide](https://blog.apify.com/step-by-step-guide-to-scraping-google-maps/) might help.

Once you have scraped the reviews, go to Storage and copy the dataset ID of the scraped results you want to analyze. Then, pass it to the field “Source dataset” ID in the analyzer’s input. Please note that the only acceptable input value is the dataset ID, not a URL of the reviews on Google.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/7.png)

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/8.png)

We recommend modifying the optional field “Industry” to give you better results using models specifically targeted to the industry businesses. You can choose between General, Banking, and Hospitality options.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/9.png)

There is also an option to skip reviews with no text, meaning they will not appear in the results. You can also limit the number of reviews to be analyzed.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/10.png)

#### How much does it cost

Our pricing model is on a pay-per-result basis, with a rate of $5 per 1000 results obtained. You can control the cost either by limiting the number of analyzed reviews or skipping reviews that do not contain text.

#### Example usages

Let's say we want to analyze restaurant reviews in a chosen area of the city. We configure the [Google Maps Reviews Scraper](https://apify.com/compass/google-maps-reviews-scraper), remembering to set the language to English.

Next, we take the extracted reviews and copy the dataset ID from Storage to the field “Source dataset ID” in the analyzer's input. Because we are analyzing restaurant reviews, we select the Hospitality Industry, and we can skip the reviews without text.

Or you want to keep up with the reviews your biggest competitors in finance are getting. Again, we set up the [Google Maps Reviews Scraper](https://apify.com/compass/google-maps-reviews-scraper) to extract the reviews. Once we have the data, we use the dataset ID to configure the analyzer's input. We recommend selecting the Banking option in the “Industry” field.

#### Visualizations

The resulting dataset can be used in any visualization tool to your preference. Here is an example of dashboards in our web app for comprehensive visualization of text analysis.

![](https://www.geneea.com/assets/images/google-reviews-nlp-actor/11.png)

If you need a more detailed overview of the results or would like to do some fine-tuning, please get in touch with us at  <info@geneea.com>.

# Actor input Schema

## `source_dataset_id` (type: `string`):

The dataset that contains Google reviews that should be analyzed.

## `domain` (type: `string`):

The industry of the businesses reviewed. Choosing an NLP model for a specific industry would give better results for Google reviews targeting that industry. If not sure, pick the general purpose 'General' NLP model.

## `language` (type: `string`):

Language of the reviews text. There is only English NLP model available now.

## `skip_empty_texts` (type: `boolean`):

Skip reviews with no text. Reviews that have no text will appear in the results.

## `max_reviews` (type: `integer`):

This is the maximum number of reviews that will be analyzed. If you specify '0' or leave this empty, all reviews will be analyzed.

## Actor input object example

```json
{
  "source_dataset_id": "",
  "domain": "voc",
  "language": "en",
  "skip_empty_texts": false,
  "max_reviews": 0
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("geneea-analytics/reviews-text-nlp-analyzer").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("geneea-analytics/reviews-text-nlp-analyzer").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call geneea-analytics/reviews-text-nlp-analyzer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,geneea-analytics/reviews-text-nlp-analyzer"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7aKwnENnMKAhez3Lu/builds/xGi4a1l9Nv8wqq2ua/openapi.json
