# Google Maps Scraper (`scrapier/google-maps-scraper`) Actor

Easily extract structured data from Google Maps for research or analysis. Pull info like ratings, reviews count, and business categories to support location-based studies or build market insights dashboards.

- **URL**: https://apify.com/scrapier/google-maps-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$24.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

If you’re looking for the best Google Maps Scraper to collect business data, leads, and local insights at scale, you’re in the right place. This guide is 100% SEO-optimized, visually structured, and written to rank for Google Maps Scraper, google maps scraper free, google maps scraper extension, google maps scraper API, Apify Google Maps Scraper, and more.

* * *

### 🤖 What does Google Maps Scraper do?

A Google Maps Scraper is a powerful automation tool designed to extract structured business data directly from Google Maps listings. 📍

Using a Google Maps Scraper tool, you can collect essential information such as business names, addresses, phone numbers, websites, ratings, reviews, categories, and opening hours — all in bulk.

#### 💡 Why is this valuable for SEO & growth?

*   Local SEO research – analyze competitors and rankings  
      
    
*   Lead generation – build targeted prospect lists  
      
    
*   Market research – understand density and trends  
      
    
*   Automation workflows – integrate with n8n, CRMs, or APIs  
      
    

Whether you use a google maps scraper free, a Chrome extension, or a Google Maps Scraper API, the goal is the same: turn map data into actionable insights 📊.

* * *

### 📦 What Google Maps Scraper can I extract?

A modern Google Maps Scraper Apify actor or Google Maps Scraper Python tool can extract a wide range of structured data.

#### 🧾 Extractable Data Types

| 📌 Data Type | 📝 Description |
| --- | --- |
| Business Name | Official listing name |
| Category | Primary & secondary categories |
| Address | Full business address |
| Phone Number | Contact number |
| Website URL | Business website |
| Ratings | Average Google rating |
| Review Count | Total number of reviews |
| Reviews | Review text (optional) |
| Opening Hours | Business working hours |
| Geo Coordinates | Latitude & longitude |
| Place ID | Unique Google identifier |

🔍 This makes Google Maps Scraper tools ideal for lead generation, sales prospecting, SEO audits, and competitive analysis.

* * *

#### ⚙️ Key Features of Google Maps Scraper

A professional best Google Maps Scraper offers advanced features while remaining easy to use 💼.

#### 🌟 Core Features

*   ✅ Bulk scraping from keywords, categories, or locations  
      
    
*   ✅ Works as Google Maps Scraper extension or API  
      
    
*   ✅ Export data in JSON, CSV, Excel formats  
      
    
*   ✅ Supports Google Maps Scraper n8n workflows  
      
    
*   ✅ High accuracy & structured output  
      
    
*   ✅ Scalable for thousands of results  
      
    
*   ✅ Compatible with Apify Google Maps Scraper ecosystem  
      
    
*   ✅ No-code & developer-friendly options  
      
    
*   ✅ Ideal alternative to Outscraper Google Maps Scraper  
      
    

💬 Frequently discussed on Google Maps Scraper Reddit as a reliable and scalable solution.

* * *

### 🛠️ How to use Google Maps Scraper

Getting started is simple and beginner-friendly 👇

#### 🧩 Step-by-Step Guide

1️⃣ Log in to Apify  
Create a free account or sign in.

2️⃣ Select the Actor  
Search for “Google Maps Scraper” in the Apify Store.

3️⃣ Enter Input Data  
Add search keywords, categories, or locations.

4️⃣ Choose Options  
Set result limits, review depth, or export format.

5️⃣ Run the Actor  
Click Start — the scraper runs automatically.

6️⃣ Download Results  
Export data as CSV, Excel, or JSON.

🎯 This workflow works seamlessly with Google Maps Scraper API, Python, or n8n automation.

* * *

### 🎯 Use Cases

A Google Maps Scraper tool is incredibly versatile across industries 🌍.

#### 🔥 Real-World Applications

*   📈 Lead generation for agencies & freelancers  
      
    
*   🏪 Local SEO audits & competitor analysis  
      
    
*   🧠 Market research & location intelligence  
      
    
*   🤝 Sales prospecting for B2B teams  
      
    
*   📊 Data enrichment for CRMs  
      
    
*   🧪 Academic & business research  
      
    
*   🤖 Automation using Google Maps Scraper n8n  
      
    
*   🔍 Alternative research vs Outscraper Google Maps Scraper  
      
    

Whether you’re a startup or enterprise, this is a best free Google Maps Scraper alternative with enterprise-grade scalability.

* * *

### 💎 Why choose us?

We don’t just offer another google maps scraper extension — we deliver reliability, scalability, and compliance ✅.

#### 🚀 Our Advantages

*   ⭐ Built on Apify’s trusted infrastructure  
      
    
*   🔄 Highly scalable & cloud-based  
      
    
*   🧩 API + no-code support  
      
    
*   🛡️ Secure, compliant data handling  
      
    
*   🧠 NLP-optimized structured outputs  
      
    
*   💬 Trusted by marketers, developers & analysts  
      
    
*   🆓 Works as google maps scraper free (starter tier)  
      
    

👉 Frequently recommended on Google Maps Scraper Reddit as one of the best Google Maps Scraper tools.

* * *

### 📊 How many results can you scrape with Google Maps Scraper?

Scalability is where a professional Google Maps Scraper Apify actor shines 🚀.

#### 📈 Performance & Scale

*   Scrape hundreds to thousands of listings per run  
      
    
*   Supports multi-location & keyword searches  
      
    
*   Ideal for city, state, or country-level scraping  
      
    
*   Easily replaces manual scraping or browser extensions  
      
    
*   Handles pagination & large datasets efficiently  
      
    

🔁 You can run multiple jobs, automate via Google Maps Scraper API, or integrate with n8n workflows for continuous data collection.

This makes it one of the best Google Maps Scraper tools for serious data operations.

* * *

### ⚖️ Is it legal to scrape Google Maps?

Scraping legality depends on how and why data is collected ⚠️.

#### 🧾 Key Considerations

*   Publicly available data is generally safer  
      
    
*   Respect terms of service  
      
    
*   Avoid personal or sensitive data misuse  
      
    
*   Follow local data protection laws (GDPR, etc.)  
      
    
*   Use scraped data ethically & responsibly  
      
    

💡 This Google Maps Scraper is designed for research, SEO, and business intelligence, not for violating policies.

* * *

### 🔧 Input Parameters

#### 📥 Example Input JSON
```json
{
  "locations": ["New York"],
  "keywords": ["coffee shops"],
  "urls": [],
  "sortOrder": "relevance",
  "maxComments": 0,
  "maxResults": 200,
  "gridSize": 15,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

### 📤 Output Format

#### 📄 Example Output JSON

```json
{
  "name": "Sample Coffee",
  "website": "https://samplecoffee.com",
  "avg_rating": 4.6,
  "total_reviews": 128,
  "street_address": "123 Main St",
  "city": "New York",
  "state": "NY",
  "zip": "10001",
  "country_code": "US",
  "full_address": "123 Main St New York NY 10001 US",
  "tags": ["Coffee shop"],
  "notes": null,
  "place_id": "abcd1234",
  "phone": "+1 212-555-0100",
  "lat": 40.75,
  "long": -73.99,
  "hours": [],
  "success": true
}
```

### ❓ FAQ – Google Maps Scraper

#### 1️⃣ Is there a google maps scraper free version?

✅ Yes, a free tier is available with usage limits.

#### 2️⃣ Is this a Google Maps Scraper Chrome extension?

🔌 It works better than extensions — cloud-based & scalable.

#### 3️⃣ Can I use it as a Google Maps Scraper API?

⚙️ Absolutely, API access is supported.

#### 4️⃣ Is it better than Outscraper Google Maps Scraper?

🏆 Many users consider it more flexible & scalable.

#### 5️⃣ Can developers use Google Maps Scraper Python?

🐍 Yes, API integration supports Python workflows.

#### 6️⃣ Does it support Google Maps Scraper n8n?

🔄 Yes, perfect for automation pipelines.

#### 7️⃣ Is it open-source or on GitHub?

📦 The tool is production-ready, not open-source, ensuring reliability.

***

### 🚀 Final Thoughts

If you’re searching for the best Google Maps Scraper, this tool offers the perfect balance of power, ease of use, scalability, and SEO value. Whether you’re a marketer, developer, or business owner — this is your all-in-one Google Maps Scraper tool 🌍✨.

# Actor input Schema

## `locations` (type: `array`):

List of location names (e.g., New York, Florida).

## `keywords` (type: `array`):

Search keywords or user-specified terms (supports bulk).

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

Direct Google Maps search URLs (optional, supports bulk).

## `maxResults` (type: `integer`):

Maximum number of places to return (cap across all searches).

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

Default is direct (no proxy). Actor auto-falls back to datacenter → residential if blocked.

## Actor input object example

```json
{
  "locations": [
    "New York"
  ],
  "keywords": [
    "coffee shops"
  ],
  "urls": [],
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": 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 = {
    "locations": [
        "New York"
    ],
    "keywords": [
        "coffee shops"
    ],
    "urls": [],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/google-maps-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 = {
    "locations": ["New York"],
    "keywords": ["coffee shops"],
    "urls": [],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/google-maps-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 '{
  "locations": [
    "New York"
  ],
  "keywords": [
    "coffee shops"
  ],
  "urls": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapier/google-maps-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Scraper",
        "description": "Easily extract structured data from Google Maps for research or analysis. Pull info like ratings, reviews count, and business categories to support location-based studies or build market insights dashboards.",
        "version": "0.1",
        "x-build-id": "7vjV1GZQSMJZOAnAV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~google-maps-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-google-maps-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapier~google-maps-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-google-maps-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapier~google-maps-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-google-maps-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "List of location names (e.g., New York, Florida).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Keywords / Usernames / Terms",
                        "type": "array",
                        "description": "Search keywords or user-specified terms (supports bulk).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "urls": {
                        "title": "Google Maps URLs",
                        "type": "array",
                        "description": "Direct Google Maps search URLs (optional, supports bulk).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of places to return (cap across all searches).",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Default is direct (no proxy). Actor auto-falls back to datacenter → residential if blocked."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
