# Google Maps Reviews Scraper (`compass/google-maps-reviews-scraper`) Actor

Extract all reviews of Google Maps places using place URLs. Get review text, published date, response from owner, review URL, and reviewer's details. Download scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

- **URL**: https://apify.com/compass/google-maps-reviews-scraper.md
- **Developed by:** [Compass](https://apify.com/compass) (Apify)
- **Categories:** Travel
- **Stats:** 49,886 total users, 5,604 monthly users, 99.9% runs succeeded, 728 bookmarks
- **User rating**: 4.84 out of 5 stars

## Pricing

from $0.30 / 1,000 scraped 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/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

## What is Google Maps Review Scraper?

Google Maps Review Scraper allows you to get detailed information from reviews on Google Maps, including the following:

- Read the **text of a review** and check its rating
- See **who wrote the review** and how many others they've written
- View the **response** of the place's owner, if any
- Find the **URL of the review** and the reviewer
- Check out any **images** attached to the review
- See the Google Maps Place data of a location (categories, category type, location, etc.)
- Export all scraped data to the format of your choosing: JSON, XML, CSV, Excel, HTML

### Which Google reviews data can I extract?

Below is an overview of the review data you can scrape with this Actor:

<table>
<tbody>
<tr>
<td>📝 Review text</td>
<td>📅 Published date</td>
</tr>
<tr>
<td>🌟 Stars</td>
<td>🆔 Review ID & URL</td>
</tr>
<tr>
<td>✅ Response from the owner - text</td>
<td>📷 List of review images</td>
</tr>
<tr>
<td>💬 Review context</td>
<td>📊 Detailed rating per service</td>
</tr>
<tr>
<td>🧛 Reviewer’s name</td>
<td>✍️ Reviewer’s number of reviews</td>
</tr>
<tr>
<td>🖼 Reviewer’s ID, URL & photo</td>
<td>👋 Local guide status</td>
</tr>
</tbody>
</table>

#### Need more Google Maps data?

If you need more detailed data from Google Maps, try our [Google Maps Scraper](https://apify.com/compass/crawler-google-places), which allows you to get almost any data from Google Maps.

### How to scrape Google Reviews

Google Maps Review Scraper is designed with users in mind, even those who have never extracted data from the web before. Using it takes just a few steps.

1. [Create](https://console.apify.com/actors/Xb8osYTtOjlsgI6k9/) a free Apify account using your email
2. Open [Google Maps Review Scraper](https://apify.com/compass/google-maps-reviews-scraper)
3. Add one or more place URLs or place IDs
4. Click the “Start” button and wait for the data to be extracted
5. Download your data in JSON, XML, CSV, Excel, or HTML

We have a full video tutorial if you’d like to know more about using this Actor:

https://www.youtube.com/watch?v=Qrt6Jm0uOsE

#### Getting fewer hotel reviews? Try the Reviews Origin option

The new **"Reviews Origin"** input option lets you specify which review sources to scrape. The default **All Reviews** setting collects reviews from both Google and third-party sites like TripAdvisor. However, recent Google updates have reduced the number of Google reviews available through this option, particularly for **hotel reviews**.

To maintain complete Google review coverage, set **Reviews origin** to **Google**. This setting targets only Google-native reviews, matching previous collection volumes and reliability.

### ⬇️ Input

Input is simple, all you need to do is enter the place URL or place ID of the location you want reviews of. You can add URLs/IDs one by one or paste a prepared list. Then set any run options you need, and the Actor will get to work.

<a href="https://console.apify.com/actors/Xb8osYTtOjlsgI6k9/">
<img src="https://github.com/apify-projects/actor-readme-images/blob/master/google-maps-review-scraper-input.png?raw=true" alt="Google Maps Review Scraper input" style="width:70%;">
</a>

**⚠️ Note about review sorting**

Currently, when sorting reviews by date using the filter in the input section, you can only select the “Newest” toggle. If you filter by date with any other option, it will stop scraping and not get you the desired number of reviews.

Note that you can use the other filters, too, you just can’t add a date as well.

<a href="https://console.apify.com/actors/Xb8osYTtOjlsgI6k9/">
<img src="https://github.com/apify-projects/actor-readme-images/blob/master/google-maps-review-scraper-filter.png?raw=true" alt="Google Maps Review Scraper filter">
</a>

### ⬆️ Output

The results will be wrapped into a dataset which you can find in the **Output** or **Storage** tab. Note that the output is organized in tables and tabs for viewing convenience. You can view results as a table, JSON, or as a map.

Once the run is finished, you can also download the dataset in various data formats (JSON, CSV, Excel, XML, HTML). Before exporting, you can pick or omit specific output fields; alternatively, you can also choose to download the whole view, which includes thematically connected data.

<a href="https://console.apify.com/actors/Xb8osYTtOjlsgI6k9/">
<img src="https://github.com/apify-projects/actor-readme-images/blob/master/google-maps-review-scraper-output.png?raw=true" alt="Google Maps Review Scraper output" style="width:70%;">
</a>

Here is that same output, but in JSON:

```json
[
    {
        "searchString": "Direct Detail URL: https://www.google.com/maps/place/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB",
        "reviewerId": "110758759962531004425",
        "reviewerUrl": "https://www.google.com/maps/contrib/110758759962531004425?hl=en",
        "name": "TALENTO HUMANO",
        "reviewerNumberOfReviews": 9,
        "isLocalGuide": true,
        "reviewerPhotoUrl": "https://lh3.googleusercontent.com/a-/ALV-UjVbmu2ztjD2GS6oJgYz7IeXqeEfrKSZVCsPchMH6KZNjbFhMCAC=s1920-c-rp-mo-ba2-br100",
        "text": "Genial",
        "textTranslated": "Brilliant",
        "publishAt": "51 minutes ago",
        "publishedAtDate": "2025-09-05T04:56:59.605Z",
        "likesCount": 0,
        "reviewId": "Ci9DQUlRQUNvZENodHljRjlvT210Tk1YbHRYME5sVm1Kb01rMXRkamR1WWpkMVJGRRAB",
        "reviewUrl": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT210Tk1YbHRYME5sVm1Kb01rMXRkamR1WWpkMVJGRRAB!2m1!1s0x0:0xaca8f930348fe1bb!3m1!1s2@1:CAIQACodChtycF9oOmtNMXltX0NlVmJoMk1tdjduYjd1RFE%7C0ciaqQZ51Z3%7C?hl=en",
        "reviewOrigin": "Google",
        "stars": 5,
        "rating": null,
        "responseFromOwnerDate": null,
        "responseFromOwnerText": null,
        "reviewImageUrls": [],
        "reviewContext": {},
        "reviewDetailedRating": {},
        "visitedIn": null,
        "originalLanguage": "es",
        "translatedLanguage": "en",
        "isAdvertisement": false,
        "placeId": "ChIJVVVVVVXlUVMRu-GPNDD5qKw",
        "location": {
            "lat": 44.5979182,
            "lng": -110.561249
        },
        "address": null,
        "neighborhood": null,
        "street": null,
        "city": null,
        "postalCode": null,
        "state": null,
        "countryCode": "US",
        "categoryName": "National park",
        "categories": ["National park", "Park", "Tourist attraction"],
        "title": "Yellowstone National Park",
        "totalScore": 4.8,
        "permanentlyClosed": false,
        "temporarilyClosed": false,
        "reviewsCount": 44015,
        "url": "https://www.google.com/maps/search/?api=1&query=Yellowstone%20National%20Park&query_place_id=ChIJVVVVVVXlUVMRu-GPNDD5qKw",
        "price": null,
        "cid": "12441467956046586299",
        "fid": "0x5351e55555555555:0xaca8f930348fe1bb",
        "imageUrl": "https://lh3.googleusercontent.com/gps-cs-s/AC9h4noYbxeSEZJ1izqDuib3YDFUF6QopkyqnAy129aj5qN-E_zsoyvfGGpNs8kI_1-cyTL4bh46CluyhlcTakDWRoZWMXgCsVhC5bLgVNz5F0PZBm-hTf60oNhBQ0IxmWefORmMABp-mA=w408-h306-k-no",
        "scrapedAt": "2025-09-05T05:48:36.726Z",
        "language": "en"
    },
    {
        "searchString": "Direct Detail URL: https://www.google.com/maps/place/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB",
        "reviewerId": "115065663021476206763",
        "reviewerUrl": "https://www.google.com/maps/contrib/115065663021476206763?hl=en",
        "name": "Catie Juday",
        "reviewerNumberOfReviews": 83,
        "isLocalGuide": true,
        "reviewerPhotoUrl": "https://lh3.googleusercontent.com/a-/ALV-UjUhKp4F_x843k5HwpgHrmP2ff5RNqcskpUoN87ZFWG-ioe4l2bc=s1920-c-rp-mo-ba5-br100",
        "text": "Magical place with tons of wild animals and wild places. A must see. Amazing experience for all families. I would highly recommend going atleast once in your life",
        "textTranslated": null,
        "publishAt": "2 hours ago",
        "publishedAtDate": "2025-09-05T03:27:47.401Z",
        "likesCount": 0,
        "reviewId": "Ci9DQUlRQUNvZENodHljRjlvT2t4T09YQm5aMWRpZUMxb1YwcE9XRk40YVZOSFJVRRAB",
        "reviewUrl": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2t4T09YQm5aMWRpZUMxb1YwcE9XRk40YVZOSFJVRRAB!2m1!1s0x0:0xaca8f930348fe1bb!3m1!1s2@1:CAIQACodChtycF9oOkxOOXBnZ1dieC1oV0pOWFN4aVNHRUE%7C0ci_XnMwW1q%7C?hl=en",
        "reviewOrigin": "Google",
        "stars": 5,
        "rating": null,
        "responseFromOwnerDate": null,
        "responseFromOwnerText": null,
        "reviewImageUrls": [
            "https://lh3.googleusercontent.com/geougc-cs/AB3l90DkvB5LfMjrTtuuhRkolmDnFxbwOubZtH5bMEG1Tq2EYCqHBAPBnp1XwO9Ts55QiY8rwJWFDuXy_owCM7lua-ui07NwrJbhzxgqbua8nqYlxtYIJeFGjRb-QYvRhneYhqDsOrUKij7BSH-D",
            "https://lh3.googleusercontent.com/geougc-cs/AB3l90BeZuHwtZX4QZ6mRZWdYRk6OZUWaJ9rPKh16StCbho5f9CkIaiUBYBMH-NJ4ahjmC49hE2EfCo0Up_G6YBd1Kf1a8TX6Y0Wuak6vXjXOcvSvd8c3NPeJKhvZTe9dPal0N9wl_sjoOXwX6rx",
            "https://lh3.googleusercontent.com/geougc-cs/AB3l90Cwo1xpEbvHe3Jw-doP-N135qWjIuPR62FIeFN9buuf4xTCSMUwo6FrlqxvxyJ7l7A-IPpue9GZCSQ82_26S8KQUcTpUDXgm-22i2crDxAVYGCnOi1qPacidCdpJqSJBuVYVrgKzgOR0oI",
            "https://lh3.googleusercontent.com/geougc-cs/AB3l90B6fFRRMymbQkkbrWhUXFizewG4mnDwc1aBm3ap0Kvf74QLI5z1JdscxoPwtwZ1BZ-1VMAQ9-poZcUZMsC_ZR7YnT9XES3sssq3oa2XICQMasbxnJtxtrVnheXum1-WCo6aosD0E48U8HqO",
            "https://lh3.googleusercontent.com/geougc-cs/AB3l90Bjcm--kwLsK66lOrD5rxEA2OKULCBhTzUX15aM_UCulvLvWK-ysCmLs0MDkipbmO2mhGz3mFwuwDnnwjJJ2f_-K6tE-CN-4WE1te0kIppjwr2LMK9qdfYtfFEb9CTgRlRy3k5MkYg9SPbx"
        ],
        "reviewContext": {},
        "reviewDetailedRating": {},
        "visitedIn": null,
        "originalLanguage": "en",
        "translatedLanguage": null,
        "isAdvertisement": false,
        "placeId": "ChIJVVVVVVXlUVMRu-GPNDD5qKw",
        "location": {
            "lat": 44.5979182,
            "lng": -110.561249
        },
        "address": null,
        "neighborhood": null,
        "street": null,
        "city": null,
        "postalCode": null,
        "state": null,
        "countryCode": "US",
        "categoryName": "National park",
        "categories": ["National park", "Park", "Tourist attraction"],
        "title": "Yellowstone National Park",
        "totalScore": 4.8,
        "permanentlyClosed": false,
        "temporarilyClosed": false,
        "reviewsCount": 44015,
        "url": "https://www.google.com/maps/search/?api=1&query=Yellowstone%20National%20Park&query_place_id=ChIJVVVVVVXlUVMRu-GPNDD5qKw",
        "price": null,
        "cid": "12441467956046586299",
        "fid": "0x5351e55555555555:0xaca8f930348fe1bb",
        "imageUrl": "https://lh3.googleusercontent.com/gps-cs-s/AC9h4noYbxeSEZJ1izqDuib3YDFUF6QopkyqnAy129aj5qN-E_zsoyvfGGpNs8kI_1-cyTL4bh46CluyhlcTakDWRoZWMXgCsVhC5bLgVNz5F0PZBm-hTf60oNhBQ0IxmWefORmMABp-mA=w408-h306-k-no",
        "scrapedAt": "2025-09-05T05:48:36.726Z",
        "language": "en"
    }
]
```

### How many results can you scrape with Google Maps Reviews scraper?

Google Maps Reviews Scraper can return thousands of results. However, you have to keep in mind that scraping maps.google.com has many variables to it and may cause the results to fluctuate case by case. There’s no one-size-fits-all-use-cases number. The maximum number of results may vary depending on the complexity of the input, location, and other factors. Some of the most frequent cases are:

- Website gives a different number of results depending on the type/value of the input
- Website has an internal limit that no scraper can cross
- Scraper has a limit that we are working on improving

Therefore, while we regularly run Actor tests to keep the benchmarks in check, the results may also fluctuate without our knowing. The best way to know for sure for your particular use case is to do a test run yourself.

### How much does scraping Google Maps Reviews cost?

Google Maps Reviews scraper uses a **pay-per-event pricing model**, where you're charged based on specific actions taken during scraping. This provides transparent, predictable pricing based on actual usage. For more information about the exact prices and events check the [pricing tab](https://apify.com/compass/google-maps-reviews-scraper/pricing).

With the [Apify Free plan](https://apify.com/pricing), you get $5 free usage credits every month.

If you need regular data extraction, we recommend the $29/month Starter plan, which lets you **scrape 58,000 Google reviews every month.**

### Frequently asked questions

#### Why scrape reviews from Google Maps?

So what can you do with the Google Maps data you collect by web scraping? Here are just some ideas:

- **Customer sentiment analysis**: Identify what people like or dislike about a business, brand, or location
- **Competitor analysis**: Compare competitors’ strengths and weaknesses
- **Market research**: Discover customer expectations, trends, and needs in specific industries or locations
- **Lead generation**: Find potential business opportunities
- **Reputation management**: Monitor and respond to reviews
- **Product improvement**: Use feedback to identify recurring issues or areas for improvement
- **Content generation**: Extract authentic customer quotes or testimonials for marketing materials
- **Brand monitoring**: Track mentions of a specific brand across different locations
- **Location performance tracking**: Compare performance across multiple branches or franchise locations

#### What are the limits of scraping reviews from Google Maps?

We recommend using the “number of reviews” field to limit the number of reviews to scrape. We recommend setting this to 1,000 (or fewer) reviews to limit resource consumption. Google tends to push reviews with text and pictures to the top so they are usually among the first ones to be scraped.

#### Need to do sentiment analysis using Google reviews?

You can combine the powers of this review scraping tool with [AI Text Analyzer for Google Reviews](https://apify.com/geneea-analytics/reviews-text-nlp-analyzer). This text analyzer tool allows to identify the most commonly used keywords in each review. See how we did it for [500 disappointing reviews on Google Maps](https://blog.apify.com/text-analyzer-tool-google-reviews/).

#### Can I integrate Google Maps Reviews Scraper with other apps?

Yes. Google Maps Reviews Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, [and more](https://docs.apify.com/integrations). Or you can use [webhooks](https://docs.apify.com/integrations/webhooks) to carry out an action whenever an event occurs, e.g. get a notification whenever Google Maps Reviews Scraper successfully finishes a run.

#### Can I use Google Maps Reviews Scraper with the API?

Yes, using Apify API which will give you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the `apify-client` [NPM package](https://apify.com/compass/google-maps-reviews-scraper/api/javascript). To access the API using Python, use the `apify-client` [PyPI package](https://apify.com/compass/google-maps-reviews-scraper/api/python).

Check out the [Apify API reference](https://docs.apify.com/api/v2) docs for full details or click on the [API tab](https://apify.com/compass/Google-Maps-Reviews-Scraper/api) for code examples.

#### Can I use Google Maps Review Scraper through an MCP Server?

With Apify API, you can use almost any Actor in conjunction with an MCP server. You can connect to the MCP server using clients like ClaudeDesktop and LibreChat, or even build your own. Read all about how you can [set up Apify Actors with MCP](https://blog.apify.com/how-to-use-mcp/).

For Google Maps Review Scraper, go to the [MCP tab](https://apify.com/compass/google-maps-reviews-scraper/api/mcp) and then go through the following steps:

1. Start a Server-Sent Events (SSE) session to receive a `sessionId`
2. Send API messages using that `sessionId` to trigger the scraper
3. The message starts the Google Maps Review Scraper with the provided input
4. The response should be: `Accepted`

#### Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for Google Maps Reviews Scraper or simply found a bug, please create an issue on the Actor’s [Issues tab](https://apify.com/compass/google-maps-reviews-scraper/issues/open) in Apify Console.

# Actor input Schema

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

List of URLs to be crawled. They can be search URLs, place URLs or review detail URLs. Valid Google Maps place URLs must contain one of the following subpaths: <code>/maps/search</code>, <code>/maps/place</code> or <code>/maps/reviews</code>. This feature also supports uncommon URL formats such as: <code>google.com/maps?cid=\*\*\*</code>.

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

List of place IDs. You can add place IDs one by one or upload a list using the <strong>Bulk edit</strong> option.

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

Max number of reviews per place to scrape. If you want to scrape all reviews, remove the prefilled value.

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

Define how reviews should be sorted.

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

Either absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). JSON input also supports adding time in both absolute (ISO standard, e.g. `2024-05-03T20:00:00`) and relative  (e.g. `3 hours`) formats. Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `minutes`, `hours`, `days`, `weeks`, `months`, `years`. <br><br> ⚠️ Heads up: If this parameter is specified, you must choose the 'Newest' sort by value. The reason for this is that with this parameter entered, the actor stops scraping reviews as soon as it finds the first review that's older than the specified date. If the sorting is not set to 'Newest', it might encounter a review older than the specified date before it reaches the desired review count and not scrape the desired amount of reviews.

## `reviewsFilterString` (type: `string`):

If you enter keywords, only reviews containing those keywords will be scraped. Leave it blank to scrape all reviews.

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

Results details will show in this language.

## `reviewsOrigin` (type: `string`):

Select whether you want all reviews (from Google, Tripadvisor, etc.) or only reviews from Google

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

This setting allows you to get personal data about the reviewer (their ID, name, URL, and photo URL) and about review (URL). Note: review ID (<code>reviewId</code>) is always included regardless of this setting. <br><br>⚠️ Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.google.com/maps/place/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB"
    }
  ],
  "placeIds": [
    "ChIJabcdEFGHijklMNOPqrstUVWX"
  ],
  "maxReviews": 100,
  "reviewsSort": "newest",
  "reviewsStartDate": "2024-01-01",
  "reviewsFilterString": "",
  "language": "en",
  "reviewsOrigin": "all",
  "personalData": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing all scraped reviews

# 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/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB"
        }
    ],
    "maxReviews": 100,
    "language": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("compass/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/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB" }],
    "maxReviews": 100,
    "language": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("compass/google-maps-reviews-scraper").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 '{
  "startUrls": [
    {
      "url": "https://www.google.com/maps/place/Yellowstone+National+Park/@44.5857951,-110.5140571,9z/data=!3m1!4b1!4m5!3m4!1s0x5351e55555555555:0xaca8f930348fe1bb!8m2!3d44.427963!4d-110.588455?hl=en-GB"
    }
  ],
  "maxReviews": 100,
  "language": "en"
}' |
apify call compass/google-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=compass/google-maps-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/Xb8osYTtOjlsgI6k9/builds/zrJRBztWUdb3xmKhO/openapi.json
