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

Turn Google Maps feedback into actionable data. Instantly scrape unlimited reviews, star ratings, photos, and business responses from any location. Perfect for reputation monitoring, sentiment analysis, and competitor research. Supports 80+ languages and exports directly to JSON, CSV, or Excel.

- **URL**: https://apify.com/gordian/google-maps-reviews-scraper.md
- **Developed by:** [Gordian](https://apify.com/gordian) (community)
- **Categories:** Automation, Lead generation, SEO tools
- **Stats:** 55 total users, 6 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / 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.
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

Google Maps Reviews Scraper is an Apify Actor that extracts reviews from any Google Maps place. Get review text, star ratings, author information, images, and business responses in structured JSON format.

### 🎯 Why scrape Google Maps reviews?

Use cases:

- **Reputation monitoring** - Track what customers are saying about your business or competitors
- **Sentiment analysis** - Analyze customer feedback to identify trends and pain points
- **Market research** - Understand customer preferences and expectations in your industry
- **Competitive intelligence** - Compare your reviews with competitors to find opportunities
- **Lead generation** - Identify businesses with poor reviews that might need your services

### ✨ What can Google Maps Reviews Scraper do?

This Actor allows you to:

- **Extract all reviews** - Scrape unlimited reviews from any Google Maps place
- **Get full review details** - Author name, profile URL, star rating, review text, and timestamps
- **Download review images** - Extract all photos attached to reviews with metadata
- **Capture business responses** - Get owner replies to reviews
- **Sort reviews** - Choose between newest, most relevant, highest, or lowest rating
- **Multi-language support** - Scrape reviews in 80+ languages

### 🚀 How to scrape Google Maps reviews?

1. Make a free Apify account here: [https://console.apify.com/sign-up](https://console.apify.com/sign-up?fpr=7p4wu)
2. Click on "Try for free"
3. Enter one or more Google Maps place URLs
4. Choose your sorting preference and language
5. Click "Start" and wait for the Actor to complete
6. Download your data in JSON, CSV or Excel format

### 💡 What data will you receive?

Google Maps Reviews Scraper extracts detailed information about each review:

| Field | Description |
|-------|-------------|
| **placeUrl** | URL of the Google Maps place |
| **review\_id** | Unique identifier for the review |
| **published\_at** | Timestamp when the review was published |
| **last\_edited\_at** | Timestamp when the review was last edited |
| **author\_name** | Name of the reviewer |
| **author\_profile\_url** | URL to the author's profile picture |
| **author\_url** | URL to the author's Google Maps contributor page |
| **author\_id** | Unique Google ID of the author |
| **stars** | Star rating (1-5) |
| **text** | Full review text content |
| **language** | Language code of the review |
| **images** | Array of photos attached to the review (with URLs, dimensions, location) |
| **source** | Source of the review (Google) |
| **response\_text** | Business owner's response to the review |
| **response\_published\_at** | When the business response was published |
| **response\_last\_edited\_at** | When the business response was last edited |

#### Output example

```json
{
	"placeUrl": "https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE?entry=ttu&g_ep=EgoyMDI1MTEyMy4xIKXMDSoASAFQAw%3D%3D",
	"review_id": "Ci9DQUlRQUNvZENodHljRjlvT2pjMVFqWnVSbE5rT0U1a1FpMTZjR0p2ZEdrMlRWRRAB",
	"published_at": 1763894123584220,
	"last_edited_at": 1763894123584220,
	"author_name": "Charlie Jameson",
	"author_profile_url": "https://lh3.googleusercontent.com/a-/ALV-UjXTqzac6U6v3R4_qq3L1IllvkzwrwbFiSSm1eKepGH5MXWAVfKn=s120-c-rp-mo-ba5-br100",
	"author_url": "https://www.google.com/maps/contrib/105853270628639539254?hl=en",
	"author_id": "105853270628639539254",
	"stars": 5,
	"text": "One of the most iconic experiences you can have in Paris.\n\nVisited in November and absolutely loved it. Even though it was a busy day, the entire area around the Eiffel Tower felt surprisingly relaxed and easy to navigate. The atmosphere is magic — standing underneath the structure and looking straight up is something photos never really prepare you for. The scale is unbelievable.\n\nI arrived early, and the queues moved quickly. Security was efficient and friendly, and the staff were helpful throughout. Once I got inside, the views from the different levels were incredible, especially from the top platform — Paris literally stretches out in every direction, with all the landmarks visible on a clear day.\n\nAt ground level, the park and riverside areas around the tower are perfect for photos. Everything is really well-maintained, and there’s plenty of space to sit, take in the view, and enjoy the moment. If you time it right, watching the tower sparkle on the hour is worth it alone.\n\nOverall, an unforgettable visit and absolutely worth doing, no matter how many times you’ve seen it in pictures. A real must-see.",
	"language": "en",
	"images": [
		{
			"id": "CIABIhB-OTYELVGf0jjun5e32hR8",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38uV9IqEBgNuWOe-vYo7r8s_qBssR0CrF3BMnm3lESAV372Ms15RXsj6beux5P2r3X4TARhohjV6o4G3xF6nXjIF4CD_92ewaaOWwQUbX9Et7WNihsRlf5MzfSAJ75yBD7-PzDpd5GpcANgf",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhB3kRy7mHN4vp1WIhsjSPVX",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38sj8nJPF_QmMRNfy4osKSiQ-rah3U1y6bVsYpGrfvAefcGIaLmfvPj8qoB-ilRUQI8Zq5kYK_Q0iRFybx55fp4gbap0u8IsTxtIpWuh2N8DjqrAyPGlgQwqXiaPYzpDE5o0d4VE_NFVfjyU",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCkoXdlykPl1ntDAEYq0KcI",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38upbMTJpujqTvp_GYhaRKDMLn6RkmeSMXDJoJJkzCXonsffypw09Wg4Q0aVztM3UYgwpKxTyW_2DejgNZvBlNJ4D1i3Up9N7N0XedNitApHjacWsHpVTelfY6tw8B67F-yT9QzVM5uN3IQL",
			"size": {
				"width": 2320,
				"height": 3088
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhA7l5H8BRG7mSfBFzOQ_rYp",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38uZm9XYABFXI5oGhAaPaDDtFRWMJcsjAmmjFMkyNmWR6b88lNgkbDzBgUM8h6G3Km9IhgpzbYYhay2g3sO29Hk3bw7FF50SdNVVuJYN10dAwJdxrpUGZCitXovt6goucBv4QEfYsTT4GX8",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCk7lZMAhXImYpR2e7fX2Dv",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38v2OFbHYiKD58ivxZ2tuWtiwwwnp72sJOR5k_Q4dxiT9Da_cBUCT8Tsq1XyUDJqCJUfauqp7bMkgAhwe7b9oS2umpUHi6bSL5MjZf-FZSFv_4-cS714wq_qB628F1iEoKRS6ujWSxFw1VU",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhALu5fRupmwHhLLC_U0Vqw1",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38saQatgHhPAvKoZYzRUxMhje5Kuv00eqWaPeKlvjp-QEQTOEnMU4KcoK8DL-etvwJkX0E1vy8Iy0jTDnkzGvU1YqoA1O5fvN0XShiuIOleGye7b3H2g-_wEPBKv34GwVqThO6vUt_0VxptP",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCuGHFN2wIrExVzj8haMv7E",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38tAl9teXuUKpcbvITJh3KcFyTs5m0dfQHbFmQhgq-SNCqxBhyR3cHM1TXUb4ltciYS-23vnNf81XHske1_oKFjWGKhU3idaMZZqRgvHOe8K5Bs7_YTGzlriQhnfCBFzcLEsa4wFj7AQt8wl",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCLBE0cY_9m394bgbnuIFDx",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38udihO2qtD3r1yQHP_RbWxmXoAa4Px5kTY3q9Ks6UMrnnH2AqkXlCZjZJIFwteRFQlWB9n3wRYmmQeIxECZGAR5-q-mKXm9MwKe9IHqr_o-8nTaSHjwH7eXFnh3RXuj1rhBXu6ylMUrudbj",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhDhUCabuqoW6OHdcF8wYy3u",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38tWtYVbwKxoBnFLkAcBpxi-JHATt4e9cd0IyDuKc_u5AZYvMTlBwvLtn9uAYaqjgrWD7WYE6itYs7dGg8MukiYjBNj1FaoTxyO6aQYd9zLZjKZEqlULFniPgQ7KwEjOwtG71ggEeij8Uew",
			"size": {
				"width": 4032,
				"height": 3024
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCPEBhiwKD2T2Ea2NSLX_4F",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38s_7MxDRyClmAOUu9bIWHcyjAU5v_ch1XeoQObPYhhVPIV4i7IwDdneFI2V1JV27eDvq0WRpcvT10DjEeZcrXb6ZhtGPxxP_4VY3aAEOgSG8xdT2Zi1LYeaTct6du8y3bYsx9v5BNEcZGuz",
			"size": {
				"width": 4032,
				"height": 3024
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhAPYzRj0YrV-uZNiYoTWtHu",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38tJCnLmrzWIFEm9rKW7ZgmDz_3ZRJQvcz-a2XuzP6z2TeP31Drvea4MU6KV-86hJQaQUFyzbbcTAynTCeyveYnMAXqcxU-jkmcjn73GBx8_VhOLFC7s-JuIUPXpsNfw8WRmmv93Vb4TVSw",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhBGiUUD4zIhHcSAW2yb5YMK",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38tDdteoLr7QvEnAIR_hj_72cvYdd0FosI73IZjzBmmx4e0bvgRu1NzdBKyKHi0lxENjDA8OGYp2h31F4AOM_M2170zmUP4UhPzcKJqD6_X90Wv_bPep7nZxNhqPFOr_OI23Xy9rxT3JqJu7",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhDd1lb3HPKqiGoQvBQW4Oy-",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38t5Qo6PIehLDujOcCOtkQBQ1_iW73dFhrmrPj-QGjVufOTc1TEbSFT2m7qBPColkMKyQrnUH6mrFCumDNdS-cgTs4Xwe0Ix2uJrvGAcmv_0zngaTseJl_iDpfhRH6jr9eD5ExdFZ-kbvarj",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhBNhlAHFoKGT8RP9H8wR_Ml",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38v513iA282Pq001lWzetK7A3IcJIgHMqvLwg2vP6hSHt0UR72F-3PCIDirDU-VBKNJlCaEq2-zyEsdf6xSxwmCgoJE8zKLYsG3IkadnR9UzpOrPIhWSa0udZPU4DJW7XGyL1jA6SYAVOxI",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhCOkOnb_ck6F9MKnTSj_yeo",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38sXP0Y3vEZo9a5zj3m0AhfCKc1eIKUnl92zD_jtMFYgflTVEKDzFY_lFELS-IA8KABFvKdU8ObaIDrrwn5DG4PIkY1HA7rCI58he7k_0-L2oy4nrWsKyLfWbvEVU6CaLQAVnbWjmFfukUS1",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhB7xR1oiOybpILtHYjluAyR",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38vbRq8TLeDSAD2ilX-BMl7gsU2ZGcjdwlASQ_5QWAK8mHsXt94RRzSiKBAmk6DJFyRTKyT1EoZzb8ihYxemtuZqU022rN6HMatbo6eE7fS7HmIXBvdw-ZcNXRk2a8vhgY4KP_JmeLKzlH1u",
			"size": {
				"width": 3024,
				"height": 4032
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		},
		{
			"id": "CIABIhB-nkEP9HePhtY5U7lYn7er",
			"url": "https://lh3.googleusercontent.com/geougc-cs/AMBA38uc3wMVTVjp4paZZgjykZeEaJ6VERBl4q08tFnoI2_m9pvUh23O0vLSuNpsL9MHsmCMivsKhcQql1sL63bgFW7EA35aNUS3aikKfLyzQEan8qZ2XyiSKK_6GhlePP4QWm4zJ_f_axT4IqWR",
			"size": {
				"width": 2320,
				"height": 3088
			},
			"location": {
				"friendly": "Eiffel Tower",
				"lat": 48.8583700925299,
				"long": 2.29448130096829
			},
			"caption": null
		}
	],
	"source": "Google",
	"response_text": null,
	"response_published_at": null,
	"response_last_edited_at": null
}
```

### 📥 Input

The Actor accepts these input parameters:

- `urls` (array, required): List of Google Maps place URLs to scrape reviews from
- `sortType` (string, optional, default: "newest"): How to sort reviews - "relevant", "newest", "highest\_rating", or "lowest\_rating"
- `language` (string, optional, default: "en"): Language code for the reviews (80+ languages supported)
- `maxReviews` (integer, optional): Maximum number of reviews to scrape per place (0 or empty = unlimited)

#### Input example

```json
{
    "urls": [
        "https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE"
    ],
    "sortType": "newest",
    "language": "en",
    "maxReviews": 100
}
```

### 💰 How much does it cost to scrape Google Maps reviews?

This actor is extremely cost-effective. Check the "Pricing" tab for more details.

With Apify's **free tier**, you get $5 of platform credits monthly for free, which you can use to test this actor for free.

Do you need to scrape more? [Upgrade to a paid plan](https://apify.com/pricing?fpr=7p4wu) which includes more platform credits and discounted pricing.

**Tips**:

- Provide multiple URLs in your input, that way you only pay the actor start cost once.
- If you are doing a large run, consider increasing the RAM used per run to scrape faster. When doing a small run decrease the RAM used to reduce the actor start costs.
- Upgrade to a higher plan to get discounted pricing. Link: [https://apify.com/pricing](https://apify.com/pricing?fpr=7p4wu)

### 🔗 Integrate with your workflows

This Actor integrates seamlessly with:

- **Automation platforms** - Build no code workflows with [Make.com](https://www.make.com/en/register?pc=louisdeconinck), n8n, and Zapier
- **Webhooks** - Trigger actions when scraping completes through [webhooks](https://docs.apify.com/platform/integrations/webhooks?fpr=7p4wu)
- **Schedulers** - Run daily/weekly to monitor reviews with Apify's [Scheduler](https://docs.apify.com/schedules?fpr=7p4wu)
- **API** - Start runs and access data programmatically with the [Apify API](https://docs.apify.com/api/v2#/reference/actors/run-collection/run-actor?fpr=7p4wu)
- **Google Sheets** - Export directly to spreadsheets

### 👥 Who made this Actor?

Gordian is a specialised Apify web scraping agency founded by Louis Deconinck.

Louis is a top 1% Apify developer, Oxford University IT graduate, and creator of 70+ scrapers used by 1,000+ data professionals every month. He has scraped 10,000,000+ pages bypassing the most advanced anti-scraping protections.

- Apify AI Agent Hackathon Winner
- 300+ contributions in Apify Discord
- Former senior data engineer in EU banking

Looking for a custom data solution? Get in touch.

### ❓ FAQ

#### Is it legal to scrape Google Maps reviews?

Yes, web scraping publicly available data is legal. This scraper only extracts information that is publicly visible on Google Maps.

For more information on web scraping legality, read this blog post: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal?fpr=7p4wu)

#### Can I export data to CSV or Excel?

Yes, Apify supports exporting dataset results in multiple formats: JSON, CSV, Excel (XLSX), HTML, XML and RSS.

#### How do I find Google Maps place URLs?

1. Go to [Google Maps](https://www.google.com/maps)
2. Search for the business or place you want to scrape
3. Click on the place to open its details
4. Copy the URL from your browser's address bar

#### What happens if Google Maps changes their website?

We monitor Google Maps and update the Actor when changes occur. If you encounter issues, please report them in the Issues tab.

#### How many reviews can I scrape?

There is no hard limit. You can scrape all available reviews for any place. Use the `maxReviews` parameter to limit the number if needed.

#### How do I get started?

[Make a free Apify account](https://console.apify.com/sign-up?fpr=7p4wu) to claim your free $5 usage and start scraping today by clicking "Try for free".

# Actor input Schema

## `urls` (type: `array`):

List of Google Maps place URLs to scrape reviews from. Each URL should be a valid Google Maps place page URL.

## `sortType` (type: `string`):

How to sort the reviews when fetching them.

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

Language for the reviews. This affects which reviews are returned and how they are displayed.

## `maxReviewsPerUrl` (type: `integer`):

Maximum number of reviews to scrape per place. Leave empty or set to 0 for unlimited.

## `email` (type: `string`):

Your email address

## Actor input object example

```json
{
  "urls": [
    "https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE?entry=ttu&g_ep=EgoyMDI1MTEyMy4xIKXMDSoASAFQAw%3D%3D"
  ],
  "sortType": "newest",
  "language": "en"
}
```

# Actor output Schema

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

No description

# 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 = {
    "urls": [
        "https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE?entry=ttu&g_ep=EgoyMDI1MTEyMy4xIKXMDSoASAFQAw%3D%3D"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("gordian/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 = { "urls": ["https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE?entry=ttu&g_ep=EgoyMDI1MTEyMy4xIKXMDSoASAFQAw%3D%3D"] }

# Run the Actor and wait for it to finish
run = client.actor("gordian/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 '{
  "urls": [
    "https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,732m/data=!3m1!1e3!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8583701!4d2.2944813!16zL20vMDJqODE?entry=ttu&g_ep=EgoyMDI1MTEyMy4xIKXMDSoASAFQAw%3D%3D"
  ]
}' |
apify call gordian/google-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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