# Review Radar (`alijosecruz/review-radar`) Actor

Analyze Google Maps reviews with AI. Get ranked complaints with fixes, praises, trends and a reputation score — a full action plan in any language.

- **URL**: https://apify.com/alijosecruz/review-radar.md
- **Developed by:** [Ali Cruz](https://apify.com/alijosecruz) (community)
- **Categories:** AI, SEO tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 75.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $400.00 / 1,000 full reputation report — ai analysis + action plans

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/platform/actors/running/actors-in-store#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

## 🛰️ Review Radar — Google Maps Review Intelligence

**Stop drowning in raw reviews. Get the decisions instead.**

Every other Google Maps review tool dumps hundreds of rows of JSON on you and calls it a day. **Review Radar reads the reviews for you** and hands back what a $200/hour consultant would: the top complaints ranked by frequency, what customers love, what they wish you offered, an honest reputation score, and a clear action for every problem — in the language *you* choose.

> Paste a Google Maps URL → get an action plan. That's it.

***

### ⚡ Why Review Radar instead of a plain scraper

| Plain review scrapers | 🛰️ Review Radar |
|---|---|
| Give you **raw reviews** | Gives you **the analysis & the action plan** |
| 800 rows to read yourself | Top complaints **ranked**, each with a fix |
| Reviews in mixed languages | **Every quote translated** to your chosen language |
| A static snapshot | **Trend alerts**: what got worse in the last 30 days |
| Just a star rating | A **credible reputation score (0–100)** with the "why" |
| No context | **Side-by-side competitor comparison** |
| You write the report | A **consultant-grade executive summary**, ready to send |

You're not paying for data. You're paying for the hour of analysis you *don't* have to do.

***

### 🎯 What you get in every report

- **Reputation Health Score (0–100)** — anchored on the real Google rating across *all* the business's reviews, then adjusted for the issues we detect. Credible, explainable, not a black box.
- **Top complaints, ranked** — by how many reviews mention them, with severity, a representative quote, and **a concrete recommendation to fix each one**.
- **Top praises** — the strengths worth protecting and putting in your marketing.
- **Requested features** — products or services customers *wish existed* but you don't offer yet (genuine unmet demand, not recycled complaints).
- **Trend alert** — what's emerging or improving in the last 30 days, so you catch a problem before it sinks your rating.
- **Executive summary** — a sharp, quantified briefing written like an advisor, not a robot.
- **Competitor comparison** *(optional)* — how you stack up, dimension by dimension.
- **Any language** — Spanish, English, Portuguese, French, German, Italian. The whole report, including translated quotes.

***

### 💡 Who uses it

- **Marketing & reputation agencies** — resell it as a monthly reputation audit. Paste a client's URL, deliver a polished report in seconds.
- **Restaurant / retail / clinic chains** — monitor multiple locations and catch the one that's slipping.
- **Business owners** — one run before a strategy decision: know exactly what to fix first.
- **AI agents** — call Review Radar as a tool to turn any place into structured reputation intelligence.

***

### 🚀 How to use it

1. Identify the business **either way** — both work equally well:
   - **Place URL**: open the business on Google Maps (click its listing) and copy the full URL, or
   - **Place ID**: paste its Google Place ID (`ChIJ...`) — handy for agencies and automations.
2. Pick your **report language** and **business type**.
3. *(Optional)* add a **competitor URL** for a head-to-head, toggle **trend analysis**.
4. Add your **OpenAI API key** (the analysis runs on your own key).
5. **Start.** In a couple of minutes you get a complete intelligence report.

> 💬 Tip: for the richest analysis, leave **reviews to analyze** at 150 or higher — many reviews are star-only with no text, so more reviews means a deeper report.
> The whole report — including every review quote — is delivered in the language you choose, with quotes translated automatically.

***

### 📦 Sample output

```json
{
  "business": { "name": "McDonald's", "averageRating": 4, "reviewsAnalyzed": 150 },
  "reputationHealth": {
    "score": 74,
    "label": "Strong",
    "explanation": "74/100 (Strong). Anchor: 4★ on Google across 2123 reviews, adjusted for 4 complaint themes."
  },
  "topComplaints": [
    {
      "theme": "Customer service",
      "percentage": 26.2,
      "severity": "high",
      "exampleQuote": "Extremely poor service at this location.",
      "recommendation": "Add a peak-hours staffing plan and a 2-minute service script to standardize quality."
    }
  ],
  "requestedFeatures": [{ "feature": "Mobile order pickup lane", "demandSignals": 4 }],
  "executiveSummary": "26% of reviews flag service issues — your weakest, highest-severity area...",
  "trend": { "alert": "Service complaints up vs. the prior period — act now." }
}
```

***

### ❓ FAQ

**Do I need an OpenAI key?**
Yes — the AI analysis runs on your own key, so you stay in control of usage and cost. Get one at platform.openai.com/api-keys.

**Which languages are supported?**
The full report (including translated quotes) is available in Spanish, English, Portuguese, French, German and Italian.

**What if my Google Maps URL doesn't work?**
Use the *full* URL (the long one containing `/data=...!1s0x...`), or just paste the **Place ID**. Review Radar validates this up front and tells you exactly what to fix.

**Can AI agents use it?**
Yes. Review Radar returns clean structured JSON, ideal as a tool for AI agents and automation platforms (Make, n8n, Zapier).

***

*Built for people who'd rather act on reviews than read them.*

# Actor input Schema

## `placeUrl` (type: `string`):

Pega la URL COMPLETA del negocio. Ábrelo en Google Maps haciendo clic en su ficha y copia la URL larga (la que contiene '/data=...!1s0x...'). Si no tienes la URL, usa el campo Place ID más abajo.

## `placeId` (type: `string`):

Identificador único del local en Google (empieza con 'ChIJ...'). Úsalo si prefieres no pegar la URL. Solo necesitas uno de los dos: URL o Place ID.

## `maxReviews` (type: `integer`):

Cuántas reseñas analizar (las más recientes primero). Recomendado 150+ para un análisis robusto: muchas reseñas son solo estrellas sin texto, así que cuantas más, mejor calidad del reporte.

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

Idioma en el que se entregará TODO el reporte, incluidas las citas de las reseñas (se traducen automáticamente).

## `industry` (type: `string`):

Afina la categorización de quejas y elogios al rubro. 'Detectar automáticamente' funciona bien en la mayoría de casos.

## `competitorUrl` (type: `string`):

Activa el análisis comparativo lado a lado. Pega la URL completa de Google Maps de un competidor para ver cómo te comparas dimensión por dimensión.

## `trendAnalysis` (type: `boolean`):

Detecta qué mejoró o empeoró en los últimos 30 días frente a reseñas anteriores. Alerta temprana de problemas emergentes.

## `outputPdf` (type: `boolean`):

Genera un reporte descargable listo para presentar a un cliente final (próximamente).

## `openaiApiKey` (type: `string`):

Tu clave de OpenAI (empieza con 'sk-...'). Consíguela en platform.openai.com/api-keys. La cuenta debe tener saldo disponible.

## `apifyApiToken` (type: `string`):

Leave blank in most cases — Review Radar fetches reviews automatically. Only paste your Apify token (apify\_api\_...) if a run reports a permissions error. Get it at console.apify.com/settings/integrations.

## Actor input object example

```json
{
  "placeUrl": "https://www.google.com/maps/place/...",
  "maxReviews": 150,
  "language": "es",
  "industry": "auto",
  "trendAnalysis": true,
  "outputPdf": false
}
```

# 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 = {
    "placeUrl": "https://www.google.com/maps/place/..."
};

// Run the Actor and wait for it to finish
const run = await client.actor("alijosecruz/review-radar").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 = { "placeUrl": "https://www.google.com/maps/place/..." }

# Run the Actor and wait for it to finish
run = client.actor("alijosecruz/review-radar").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "placeUrl": "https://www.google.com/maps/place/..."
}' |
apify call alijosecruz/review-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alijosecruz/review-radar",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/fsJ7ZJcdOUj3a3ZJE/builds/jrVy5qeStcnru4SV9/openapi.json
