# Google Maps Reviews Scraper 💰$0.30/1K – All Reviews, Replies (`rt-solutions/google-maps-reviews-scraper`) Actor

Scrape Google Maps reviews of any place: text, stars, date, reviewer, owner reply, photos. Paste Maps links, place IDs or names. Up to 4,490 reviews per place, sort by newest or rating. Same output fields as the most popular Google reviews scraper. Licensed data, $0.30 per 1,000 reviews.

- **URL**: https://apify.com/rt-solutions/google-maps-reviews-scraper.md
- **Developed by:** [RT SOLUTIONS](https://apify.com/rt-solutions) (community)
- **Categories:** Lead generation, E-commerce, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.25 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Google Maps Reviews Scraper – All Reviews, Owner Replies

Scrape **Google Maps reviews** of any business or place: review text (original + Google translation), stars, date, reviewer, **owner response**, photos and visit details (wait time, visited on…). Up to **4,490 reviews per place**, sorted by newest, most relevant, highest or lowest rating.

**$0.30 per 1,000 reviews — half the price of the most popular Google reviews scraper — with the same output field names**, so you can switch without changing your integration. No start fee, no blocked runs (licensed data provider), pay only for reviews delivered.

### Input — any of these

- **Google Maps links** of single places (desktop, mobile, `maps.app.goo.gl` share links, `?cid=` links)
- **Place IDs** (`ChIJ…`) or **CIDs**
- **Names** + a location (`"New York,New York,United States"` or a country). Only exact matches are kept — never reviews of another place.

### Output fields

`title`, `address`, `placeId`, `cid`, `url`, `totalScore`, `reviewsCount` (place) · `reviewId`, `reviewUrl`, `stars`, `text`, `textTranslated`, `originalLanguage`, `publishedAtDate`, `publishAt`, `responseFromOwnerText`, `responseFromOwnerDate`, `reviewImageUrls`, `reviewContext` (review) · `name`, `reviewerId`, `reviewerUrl`, `reviewerPhotoUrl`, `reviewerNumberOfReviews`, `isLocalGuide` (reviewer — turn off **Include reviewer details** for GDPR-friendly output).

```json
{
  "startUrls": [{ "url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/@40.7546795,-73.9870291,17z/data=!4m6!3m5!1s0x89c259ab3c1ef289:0x3b67a41175949f55" }],
  "maxReviews": 500,
  "reviewsSort": "newest",
  "reviewsStartDate": "3 months"
}
```

### Pricing

| Apify plan | Price per 1,000 reviews |
|---|---|
| Free | $0.30 |
| Bronze | $0.28 |
| Silver | $0.26 |
| Gold and above | $0.25 |

Places without reviews, invalid links and duplicates are never charged. Set a maximum cost per run and the Actor stops there.

**Apify free plan:** one free trial run (1 place, 50 reviews). Then use any paid Apify plan, or add your own DataForSEO login in the "Apify free plan" section.

### Speed and limits

- 2,000 reviews of one place in about 5 minutes; 100 places in parallel per batch.
- Up to 4,490 reviews per place (provider limit).
- The same place given twice (link + place ID) is collected once; each review is delivered and charged once.
- "Only reviews newer than" accepts a date (`2026-01-01`) or a period (`7 days`, `3 months`, `1 year`).

### Use cases

Reputation monitoring for local businesses and chains, competitor review analysis, sentiment datasets for AI, agency reports, lead qualification by rating.

### Related scrapers

- [Tripadvisor Reviews Scraper](https://apify.com/rt-solutions/tripadvisor-reviews-scraper)
- [Google Search Results Scraper](https://apify.com/rt-solutions/google-search-results-scraper)
- [Google Hotels Prices](https://apify.com/rt-solutions/google-hotels-prices)

### Use with AI agents (MCP)

You can call this Actor from Claude, ChatGPT, Cursor or any other MCP client through the Apify MCP server (https://mcp.apify.com), using the Actor ID `rt-solutions/google-maps-reviews-scraper`. An agent can then fetch reviews on demand, for example: *"Get the 200 newest Google Maps reviews of Joe's Pizza Broadway in New York and summarize the main complaints."* The Actor also runs through the Apify API and integrations such as Make, n8n and Zapier.

### FAQ

**How do I scrape Google Maps reviews without the Google API?** Paste Google Maps links, place IDs / CIDs, or business names with a location, set the maximum reviews per place, and start the run. No Google API key is needed — the data comes from a licensed data provider.

**How much does it cost to scrape 10,000 Google Maps reviews?** About $3.00 on the Apify free plan rate ($0.30 per 1,000), less on Bronze, Silver and Gold. Places without reviews, invalid links and duplicates are not charged.

**Can I get only new reviews and monitor a place over time?** Yes. Sort by newest and set "Only reviews newer than" to a period such as `7 days`, then schedule the Actor on Apify to run every week.

**Why are some fields empty?** `responseFromOwnerText` is empty when the owner did not reply, `reviewImageUrls` when the reviewer posted no photos, and the reviewer fields when **Include reviewer details** is turned off.

**Can I export Google reviews to CSV, Excel or Google Sheets?** Yes. Results are stored in an Apify dataset that you can download as CSV, Excel or JSON, or send to Google Sheets with an integration.

**Is it legal to scrape Google Maps reviews?** It collects publicly visible reviews through a licensed data provider. You are responsible for how you use personal data under GDPR and similar laws.

**Need another field?** Open an issue — we answer in writing within 24 h.

# Actor input Schema

## `startUrls` (type: `array`):

Links of single places from Google Maps (desktop, mobile or maps.app.goo.gl share links).

## `placeIds` (type: `array`):

Google place IDs (ChIJ…) or CIDs (digits).

## `searchQueries` (type: `array`):

Business names, used with the location below. Only exact matches are kept.

## `location` (type: `string`):

A country ("France") or a Google location like "New York,New York,United States".

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

Up to 4,490. You pay only for reviews delivered.

## `reviewsSort` (type: `string`):

Order in which reviews are collected.

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

Language code (en, fr, de, es, ar…). Reviews in other languages come with Google's translation in textTranslated.

## `reviewsStartDate` (type: `string`):

A date (YYYY-MM-DD) or a period like "7 days", "3 months", "1 year". Best with Newest sort.

## `personalData` (type: `boolean`):

Reviewer name, profile link and photo. Turn off for GDPR-friendly output.

## `dataForSeoLogin` (type: `string`):

Only needed on the Apify free plan after your free trial run. Paid Apify plans need no key.

## `dataForSeoPassword` (type: `string`):

From app.dataforseo.com → API Access.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/@40.7546795,-73.9870291,17z/data=!4m6!3m5!1s0x89c259ab3c1ef289:0x3b67a41175949f55!8m2!3d40.7546795!4d-73.9870291"
    }
  ],
  "maxReviews": 100,
  "reviewsSort": "newest",
  "language": "en",
  "personalData": true
}
```

# Actor output Schema

## `results` (type: `string`):

One row per review with place info.

## `overview` (type: `string`):

Main fields.

# 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 = {
    "startUrls": [
        {
            "url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/@40.7546795,-73.9870291,17z/data=!4m6!3m5!1s0x89c259ab3c1ef289:0x3b67a41175949f55!8m2!3d40.7546795!4d-73.9870291"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rt-solutions/google-maps-reviews-scraper").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 = { "startUrls": [{ "url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/@40.7546795,-73.9870291,17z/data=!4m6!3m5!1s0x89c259ab3c1ef289:0x3b67a41175949f55!8m2!3d40.7546795!4d-73.9870291" }] }

# Run the Actor and wait for it to finish
run = client.actor("rt-solutions/google-maps-reviews-scraper").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 '{
  "startUrls": [
    {
      "url": "https://www.google.com/maps/place/Joe'\''s+Pizza+Broadway/@40.7546795,-73.9870291,17z/data=!4m6!3m5!1s0x89c259ab3c1ef289:0x3b67a41175949f55!8m2!3d40.7546795!4d-73.9870291"
    }
  ]
}' |
apify call rt-solutions/google-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rt-solutions/google-maps-reviews-scraper"
        }
    }
}
```

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/gG464hMgdxxIeRimb/builds/dLThyG4N0BygxrBY2/openapi.json
