Content
# Google Maps MCP Server — Scrape Businesses, Emails & AI Lead Scoring
An MCP server that lets AI agents search Google Maps, extract business data with emails, and generate AI-powered lead scores with personalized outreach emails.
Powered by [buseta/google-maps-scraper](https://apify.com/buseta/google-maps-scraper) on Apify.
## What It Does
Your AI agent can:
- **Search Google Maps** — "Find all dentists in Chicago"
- **Extract business data** — name, phone, email, website, rating, address, hours
- **Find emails & social links** — crawls business websites automatically (free)
- **AI lead scoring** — scores each business 0-100 with a personalized cold email draft
- **Filter results** — only businesses without websites, by rating range, etc.
## Setup
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"apify": {
"type": "streamableHttp",
"url": "https://mcp.apify.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
```
### VS Code / Cursor
Add to your MCP settings:
```json
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
```
### Claude Code
```bash
claude mcp add apify --transport streamable-http https://mcp.apify.com/mcp -h "Authorization: Bearer YOUR_APIFY_TOKEN"
```
Get your Apify token at: https://console.apify.com/account/integrations
Then add the Google Maps actor: go to https://mcp.apify.com and click "Add or remove Actors" → search for `buseta/google-maps-scraper` → add it.
## How to Use
Once connected, just ask your AI agent naturally:
### Search for businesses
> "Find 50 restaurants in Manhattan with their phone numbers and emails"
### Find businesses without websites
> "Find gyms in Miami that don't have a website"
### Get AI lead scoring
> "Search for dentists in Chicago, score them as leads for my web design agency, and write outreach emails"
### Multi-city batch search
> "Find plumbers in Dallas, Houston, and Austin"
### Filter by rating
> "Find restaurants in LA with rating below 3.5 — I want to pitch reputation management"
## Actor Input Reference
When calling the actor directly, you can pass these inputs:
| Input | Type | Description |
|-------|------|-------------|
| `mode` | string | `"search"` or `"place_urls"` |
| `search_queries` | array | List of searches, e.g. `["dentists in Chicago", "dentists in Dallas"]` |
| `max_places` | integer | Max results per query (default 100, max 10000) |
| `get_reviews` | boolean | Scrape reviews for each place |
| `max_reviews_per_place` | integer | Max reviews per place (default 20) |
| `get_emails` | boolean | Extract emails & social links from websites (free) |
| `only_without_website` | boolean | Only return businesses without a website |
| `min_rating` | number | Minimum Google rating (1.0-5.0) |
| `max_rating` | number | Maximum Google rating (1.0-5.0) |
| `ai_lead_scoring` | boolean | Enable AI lead scoring + outreach drafts |
| `ai_goal` | string | `"web_design"`, `"seo_marketing"`, `"reputation_management"`, `"general_sales"`, or `"custom"` |
| `ai_custom_pitch` | string | Your business description for custom outreach (max 300 chars) |
| `ai_sender_name` | string | Your name for the outreach emails |
| `ai_market_report` | boolean | Generate AI market intelligence report |
| `bounding_box` | object | Custom search area: `{"sw_lat": 40.70, "sw_lng": -74.02, "ne_lat": 40.80, "ne_lng": -73.93}` |
## Output Fields
Each business result includes:
| Field | Description |
|-------|-------------|
| `name` | Business name |
| `address` | Full address |
| `phone` | Phone number |
| `website` | Website URL |
| `email` | Primary email (if email extraction enabled) |
| `category` | Business category |
| `rating` | Google rating (1.0-5.0) |
| `latitude` / `longitude` | Coordinates |
| `place_id` | Google Place ID |
| `social_facebook` | Facebook URL |
| `social_instagram` | Instagram URL |
| `social_twitter` | Twitter/X URL |
| `social_linkedin` | LinkedIn URL |
| `ai_lead_score` | Lead score 0-100 (if AI enabled) |
| `ai_outreach_subject` | Email subject line |
| `ai_outreach_email` | Personalized cold email draft |
## Pricing
| Event | Price |
|-------|-------|
| Place scraped | $4.00 / 1,000 |
| Review scraped | $0.50 / 1,000 |
| AI Lead Score + Outreach | $35.00 / 1,000 |
| AI Market Report | $0.10 / run |
| Email extraction | Free |
## Features
- **Auto-grid search** — Bypasses Google's 20-result limit by subdividing areas into grid cells
- **Free email extraction** — Crawls business websites for emails and social links
- **AI outreach drafts** — Choose your goal (web design, SEO, reputation management, etc.) and get ready-to-send emails
- **Multi-query batch** — Search multiple cities/categories in one run
- **No browser** — Pure HTTP, fast and cheap (256MB memory)
- **CSV-friendly output** — Flat fields ready for Excel, Sheets, or CRM import
## Links
- **Apify Store**: [buseta/google-maps-scraper](https://apify.com/buseta/google-maps-scraper)
- **Apify MCP Portal**: [mcp.apify.com](https://mcp.apify.com)
- **MCP Documentation**: [docs.apify.com/platform/integrations/mcp](https://docs.apify.com/platform/integrations/mcp)
## Keywords
Google Maps MCP, Google Maps API, Google Maps scraper, business data API, lead generation API, email extraction, AI lead scoring, cold outreach automation, Google Maps for AI agents, MCP server, Model Context Protocol
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
Agent-Reach
Give your AI agent eyes to see the entire internet. Read & search Twitter,...
Context 7
Context7 MCP provides up-to-date code documentation for any prompt.
context7-mcp
Context7 MCP Server provides natural language access to documentation for...
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.