# Google Maps List Scraper: 30+ Fields Per Place (`getascraper/google-maps-list-scraper`) Actor

Extract all places from any public Google Maps shared list. Get 30+ fields per place: name, address, GPS, phone, website, hours, rating, and photos. Filter by minimum rating, review count, category, and country, and exclude closed places. Works with Sheets, Make, n8n. No API key. $1.99/1k.

- **URL**: https://apify.com/getascraper/google-maps-list-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Automation, Travel, Lead generation
- **Features:** Limited permissions
- **Stats:** 48 total users, 4 monthly users, 99.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.59 / 1,000 place records

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 List Scraper: 30+ Fields Per Place

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin-bottom:0">
<tr>
<td colspan="3" style="padding:14px 18px;background:#F4F8FE;border:none;border-top:3px solid #4285F4;border-left:1px solid #C6D9FB;border-right:1px solid #C6D9FB;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:16px;font-weight:700;color:#1C1917">See any local market on Google three ways.</span> <span style="font-size:15px;color:#57534E">Export the places in a shared Maps list, see which businesses keep posting updates, and find the home-service firms paying for Local Services ads.</span>
</td>
</tr>
<tr>
<td colspan="3" style="padding:10px 14px;background:#4285F4;border:none;border-left:1px solid #C6D9FB;border-right:1px solid #C6D9FB;color:#FFFFFF">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">GOOGLE LOCAL BUSINESS DATA</span>
<span style="color:#FFFFFF;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Lists, posts and paid service ads for the local businesses you sell to.</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border:none;border-left:1px solid #C6D9FB;border-bottom:1px solid #C6D9FB;vertical-align:top;width:33.3%;background:#F4F8FE;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-Ls2qguz0d0xLlCyll-cgMOfy5UGZ-images_%286%29.jpeg" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/google-maps-list-scraper" style="color:#4285F4;text-decoration:none;font-weight:700;font-size:13px">Maps List</a></span><br>
<span style="color:#4285F4;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #C6D9FB;border-bottom:1px solid #C6D9FB;vertical-align:top;width:33.3%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-eppF0yXbgpmD0g060-AhWxegcRuz-google-maps-logo250x250.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/google-maps-business-posts-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Maps Posts</a></span><br>
<span style="color:#57534E;font-size:11px">Business posts plus a posting-activity leaderboard.</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #C6D9FB;border-right:1px solid #C6D9FB;border-bottom:1px solid #C6D9FB;vertical-align:top;width:33.3%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-wVoMUagGTvWM4IbOO-N8hIlybgqw-images_%2879%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/google-local-services-ads-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Local Services Ads</a></span><br>
<span style="color:#57534E;font-size:11px">Home-service advertisers by trade and city.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#F4F8FE;border:1px solid #C6D9FB;border-top:none;color:#1C1917">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Turn any shared Google Maps list into a lead sheet.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Paste a public list link and get every place back with address, GPS, phone, website, hours, rating and photos. No login or API key needed.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C6D9FB;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#1967D2">📍 Every place, 30+ fields</span><br>
<span style="font-size:12px;color:#57534E">Address, GPS, categories, hours, photos and Place ID for each stop on the list.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C6D9FB;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#1967D2">📞 Contacts ready to call</span><br>
<span style="font-size:12px;color:#57534E">Phone numbers and websites come back for every place with full details on.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C6D9FB;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#1967D2">⭐ Keep only good places</span><br>
<span style="font-size:12px;color:#57534E">Filter by rating, category or country, and drop places that have closed.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C6D9FB;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#1967D2">💳 Pay only for results</span><br>
<span style="font-size:12px;color:#57534E">Billed per place returned. Empty runs cost nothing.</span>
</td>
</tr>
</table>

### 🔍 What does Google Maps List Scraper do?

Get complete contact lists, physical coordinates, and business details from any public Google Maps shared list: place name, list notes, full physical address, phone numbers, website links, categories, opening hours, customer ratings, review counts, photo galleries, and Place IDs, ready for your CRM in under 10 seconds. This scraper connects directly to shared list directories unblocked, meaning no login or API keys are required. Built for real estate researchers, geographic sales prospectors, travel curation platforms, local businesses, and database managers.

### 💡 Why use Google Maps List Scraper?

- **I am a real estate researcher** extracting agent-shared neighborhood collections and property lists to populate local market maps.
- **I am a CRM lead generator** gathering curated local business directories (like "best coffee shops" or "top dentists") to build highly targeted outbound prospect lists.
- **I am a travel platform manager** converting public travel itineraries and blogger recommendations into structured database records for app content.
- **I am a sales team leader** compiling localized lead sheets of businesses with phone numbers, websites, and opening hours for direct pitches.
- **I am a local business owner** exporting neighborhood competitor coordinates and ratings to analyze market density in my region.

### 🚀 How to use Google Maps List Scraper

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#F4F8FE;border:1px solid #C6D9FB;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#4285F4;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Paste a list link</span><br>
<span style="font-size:12px;color:#57534E">Add one or more public Google Maps shared list links, short or full.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#F4F8FE;border:1px solid #C6D9FB;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#4285F4;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set filters and limits</span><br>
<span style="font-size:12px;color:#57534E">Optionally cap the places or filter by rating, reviews, website or phone.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#F4F8FE;border:1px solid #C6D9FB;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#4285F4;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export your leads</span><br>
<span style="font-size:12px;color:#57534E">Download CSV, Excel or JSON, or send it to Sheets, Make or n8n.</span>
</td>
</tr>
</table>

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `listUrls` | array of URLs | Yes | Direct public Google Maps shared list links (for example, `https://maps.app.goo.gl/abc123`). |
| `minRating` | number | No | Keep only places rated at or above this value (0 to 5). |
| `minReviewCount` | integer | No | Keep only places with at least this many reviews, when Google shows a review count. |
| `filterByCountry` | string | No | Keep only places in this country. |
| `filterByCategories` | array of strings | No | Keep only places whose category matches one of these words. |
| `onlyWithWebsite` | boolean | No | Keep only places that list a website. |
| `onlyWithPhone` | boolean | No | Keep only places that list a phone number. |
| `excludePermanentlyClosed` | boolean | No | Drop places marked permanently closed. On by default. |
| `maxItems` | integer | No | Maximum number of places to retrieve. 0 means unlimited. |
| `enrichPlaces` | boolean | No | Fetch each place's individual page for ratings, phones, websites, opening hours, and photos. Defaults to true. |
| `proxyConfiguration` | object | No | Proxy settings. Standard automatic configuration is highly optimized. |

### 📦 Output

A structured dataset of business leads with direct phone numbers, websites, category labels, GPS coordinates, operating hours, and customer ratings. Free users get up to 50 results per run, paid plans scale to 1,000,000.

```json
{
  "listName": "Best coffee in Lisbon",
  "listUrl": "https://maps.app.goo.gl/abc123",
  "listId": "abc123",
  "sourceIndex": 0,
  "name": "Cafe Nicola",
  "note": "Classic cafe, must try!",
  "address": "Praca Dom Pedro IV 24, 1100-201 Lisboa, Portugal",
  "city": "Lisboa",
  "country": "Portugal",
  "lat": 38.7139,
  "lng": -9.1394,
  "categories": ["Coffee shop", "Cafe"],
  "rating": 4.3,
  "reviewCount": 2841,
  "phone": "+351 21 346 0579",
  "website": "https://cafenicola.pt",
  "domain": "cafenicola.pt",
  "hours": ["Monday: 8:00 AM - 10:00 PM", "Tuesday: 8:00 AM - 10:00 PM"],
  "photos": ["https://lh3.googleusercontent.com/p/AF1QipN..."],
  "imageUrl": "https://lh3.googleusercontent.com/p/AF1QipN...",
  "placeId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrapedAt": "2026-06-21T10:00:00.000Z"
}
```

### 📊 Data table

| Field | Type | Description |
| --- | --- | --- |
| `listName` | string | Name of the public Google Maps list. |
| `listUrl` | string | Shared URL of the source list. |
| `listId` | string | Google's unique internal list identifier. |
| `sourceIndex` | integer | Position of this place inside the list (0-indexed). |
| `name` | string | Business or place name. |
| `note` | string | Personal note added by the list creator for this place. |
| `imageUrl` | string | Primary photo URL of the location. |
| `address` | string | Full formatted physical address. |
| `street` | string | Street name details. |
| `city` | string | Operating city name. |
| `state` | string | Operating state or region abbreviation. |
| `postalCode` | string | Address postal code or zip code. |
| `country` | string | Operating country name. |
| `lat` | number | Geographic latitude coordinate for mapping. |
| `lng` | number | Geographic longitude coordinate for mapping. |
| `plusCode` | string | Google Open Location Plus Code. |
| `categories` | array of strings | Categorization tags assigned to the place. |
| `rating` | number | Average customer rating out of 5 stars. |
| `reviewCount` | number | Total number of published customer reviews. |
| `phone` | string | Standardized phone number. |
| `website` | string | Official business website URL. |
| `domain` | string | Simplified website domain name. |
| `hours` | array of strings | List of today's operating hours. |
| `photos` | array of strings | Public photo gallery links for the place. |
| `placeId` | string | Google's unique global Place ID. |
| `cid` | string | Google Customer ID identifier. |
| `isClaimed` | boolean | Whether the business has claimed its Google listing. |
| `isPermanentlyClosed` | boolean | True if the place is permanently closed. |
| `priceLevel` | string | Relative price range (for example, Inexpensive, Moderate). |
| `editorialSummary` | string | Google's brief editorial summary description of the place. |
| `scrapedAt` | string | ISO 8601 timestamp of when this record was collected. |

### 💰 Pricing

You pay per place returned, with no subscription. Empty runs cost nothing. The Actor runs light and fast, so a large list stays cheap to export.

### ⭐ Enjoying Google Maps List Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#F4F8FE;border:1px solid #C6D9FB;border-left:5px solid #4285F4;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Turn any public Google Maps list into a ready-to-use contact sheet in under 10 seconds, no manual copying.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other real estate researchers and sales prospectors find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#4285F4;border:1px solid #4285F4;border-left:5px solid #4285F4;border-top:none;color:#FFFFFF;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/google-maps-list-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips or advanced options

- **Fast by design.** Most lists finish in seconds, so you can run it often without waiting.
- **Set caps to save budget.** Verify outputs by setting max items to 5 on your first run before processing massive travel lists.
- **Enable place details for enriched leads.** Keep details enabled to parse rich 30-field specifications like phone numbers, website URLs, claimed status, and open hours. Turn it off only if you want a super-fast list-only walk.
- **Combine multiple lists.** You can paste several public shared URLs into the input array to merge different regional directories into a single spreadsheet concurrently.

### ❓ FAQ, disclaimers, and support

##### Is the Google Maps List scraper legal?

Yes. The Google Maps List scraper accesses public list directory pages that are publicly visible to any logged-out human in a browser. It does not require login, bypass paywalls, or private user accounts. You are responsible for compliance with Google terms of service and local laws.

##### Does this scraper require proxies?

No. Google Maps list endpoints use standard unblocked infrastructure that is open to public search engines. No residential proxy is needed for normal runs. If a very high-volume run starts drawing rate limits, you can easily switch to residential in the proxy configuration.

##### Why are some website or phone fields empty?

These fields are fetched directly from individual place detail pages. Ensure place enrichment is enabled. Some places genuinely have no registered phone or website listed on Google Maps.

##### What is the Place ID?

The Place ID is Google's unique identifier for a physical location, in the format `ChIJ...`. It is highly stable and can be used directly with other maps integrations.

**Disclaimer:** This Actor accesses public web listing data only. It does not bypass authentication, paywalls, or anti-bot systems on the live site. Google Maps is the registered trademark of Google LLC. This Actor is affiliation-free, and not endorsed or sponsored by Google LLC.

### 🔗 Other actors

- [Google Shopping Scraper](https://apify.com/getascraper/google-shopping-ads-scraper) ↗ - tracks live product listings, prices, and merchants across Google Shopping.
- [Google Lens Search](https://apify.com/getascraper/google-lens-visual-search) ↗ - reverse image search and visual product matching through Google Lens.
- [Google Lens OCR API](https://apify.com/getascraper/google-lens-ocr) ↗ - extracts text from images in under a second using Google Lens OCR.
- [HomeStars Scraper](https://apify.com/getascraper/homestars-scraper) ↗ - pulls verified Canadian contractor leads by city and trade category.
- [BusinessesForSale Scraper](https://apify.com/getascraper/businessesforsale-scraper) ↗ - collects business-for-sale listings for acquisition and market research.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/google-maps-list-scraper/changelog.md

# Actor input Schema

## `listUrls` (type: `array`):

One or more Google Maps shared list URLs. Accepts short links (maps.app.goo.gl/...) and full URLs (google.com/maps/...).

## `minRating` (type: `number`):

Only include places with this star rating or higher. Set to 0 to include all places. Requires full place details to be on.

## `minReviewCount` (type: `integer`):

Only include places with at least this many reviews. Set to 0 to include all. Requires full place details to be on.

## `filterByCountry` (type: `string`):

Only include places located in this country. Use the full country name as it appears on Google Maps, e.g. France, Japan, United States. Leave blank to include all countries.

## `filterByCategories` (type: `array`):

Only include places that match at least one of these categories, e.g. Restaurant, Coffee shop, Hotel. Leave empty to include all categories.

## `onlyWithWebsite` (type: `boolean`):

Skip places that have no website listed on Google Maps. Requires full place details to be on.

## `onlyWithPhone` (type: `boolean`):

Skip places that have no phone number on Google Maps. Useful for lead gen runs. Requires full place details to be on.

## `excludePermanentlyClosed` (type: `boolean`):

Skip places marked as permanently closed on Google Maps. Recommended for lead gen and travel planning.

## `proxyConfiguration` (type: `object`):

Proxy settings. Shared datacenter proxies (the default) work reliably for all normal runs. Switch to Residential only if a very large run starts hitting rate limits.

## `enrichPlaces` (type: `boolean`):

Fetch each place's detail page for rating, phone, website, hours, and photos. Adds one request per place. Turn on if you need minRating, minReviewCount, onlyWithWebsite, or onlyWithPhone to filter accurately. Default: off.

## `includeReviews` (type: `boolean`):

Attempt to pull each place's user reviews (text, star rating, date, reviewer, and owner reply) into a reviews array. Note: Google currently restricts its review feed for anonymous requests, so this can return an empty array; each place's aggregate rating and total review count are always extracted regardless. Adds one request per place. Default: off.

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

Maximum number of reviews to pull for each place when 'Include reviews' is on. Higher values fetch extra pages and cost more time. Default: 10.

## `enrichWebsiteEmail` (type: `boolean`):

For places that list a website, also visit that website (homepage plus common contact pages) and extract any public contact emails into a websiteEmails array. Adds extra requests per place that has a website. Default: off.

## `maxItems` (type: `integer`):

Maximum total number of places to extract across all lists. 0 means no limit.

## Actor input object example

```json
{
  "listUrls": [
    {
      "url": "https://maps.app.goo.gl/example"
    }
  ],
  "minRating": 0,
  "minReviewCount": 0,
  "filterByCountry": "",
  "filterByCategories": [],
  "onlyWithWebsite": false,
  "onlyWithPhone": false,
  "excludePermanentlyClosed": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "enrichPlaces": false,
  "includeReviews": false,
  "maxReviews": 10,
  "enrichWebsiteEmail": false,
  "maxItems": 0
}
```

# Actor output Schema

## `results` (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 = {
    "listUrls": [
        {
            "url": "https://maps.app.goo.gl/example"
        }
    ],
    "minRating": 0,
    "minReviewCount": 0,
    "filterByCountry": "",
    "filterByCategories": [],
    "onlyWithWebsite": false,
    "onlyWithPhone": false,
    "excludePermanentlyClosed": true,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "enrichPlaces": false,
    "includeReviews": false,
    "maxReviews": 10,
    "enrichWebsiteEmail": false,
    "maxItems": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/google-maps-list-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 = {
    "listUrls": [{ "url": "https://maps.app.goo.gl/example" }],
    "minRating": 0,
    "minReviewCount": 0,
    "filterByCountry": "",
    "filterByCategories": [],
    "onlyWithWebsite": False,
    "onlyWithPhone": False,
    "excludePermanentlyClosed": True,
    "proxyConfiguration": { "useApifyProxy": True },
    "enrichPlaces": False,
    "includeReviews": False,
    "maxReviews": 10,
    "enrichWebsiteEmail": False,
    "maxItems": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/google-maps-list-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 '{
  "listUrls": [
    {
      "url": "https://maps.app.goo.gl/example"
    }
  ],
  "minRating": 0,
  "minReviewCount": 0,
  "filterByCountry": "",
  "filterByCategories": [],
  "onlyWithWebsite": false,
  "onlyWithPhone": false,
  "excludePermanentlyClosed": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "enrichPlaces": false,
  "includeReviews": false,
  "maxReviews": 10,
  "enrichWebsiteEmail": false,
  "maxItems": 0
}' |
apify call getascraper/google-maps-list-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/google-maps-list-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/Ls2qguz0d0xLlCyll/builds/oneMNyxvsDf3OWqO3/openapi.json
