# Google Maps Lead Intelligence & Contact Enrichment (`george.the.developer/google-maps-lead-intel`) Actor

Complete local lead generation. Search Google Maps, get businesses with enriched contacts, validated emails, and lead scores. One search, full outreach list. Built for lead gen agencies, local SEO, and sales teams.

- **URL**: https://apify.com/george.the.developer/google-maps-lead-intel.md
- **Developed by:** [George Kioko](https://apify.com/george.the.developer) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Google Maps Lead Intelligence & Contact Enrichment

Turn any Google Maps search into a complete, ready to use outreach list. One click gets you business contacts, validated emails, social profiles, and lead scores.

Built for lead gen agencies, local SEO companies, appointment setting services, and cold email teams who need qualified local business leads fast.

### What You Get

Enter a search like "dentists in Miami FL" and receive a fully enriched lead package:

- **Business data** from Google Maps (name, address, phone, rating, reviews, hours, category)
- **Contact enrichment** (emails, social profiles, technologies, company description)
- **Email validation** (every email checked for deliverability)
- **Lead scoring** (0 to 100 score based on data quality and business signals)
- **Ranked list** sorted by lead quality, ready for outreach

### Why This Exists

Your team currently spends 3 to 4 hours per search doing this manually:

1. Search Google Maps and copy business info into a spreadsheet
2. Visit each website to find email addresses
3. Check social profiles one by one
4. Validate emails through a separate tool
5. Decide which leads to contact first

This actor does all five steps in one run. The entire pipeline runs automatically while you focus on closing deals.

### Price Comparison

| Method | Cost per search | Time |
|--------|----------------|------|
| Manual research | $200 (4 hours at $50/hr) | 4 hours |
| Apollo.io | $99/month for 5K credits | Still manual work |
| Hiring a VA | $500/month minimum | Training required |
| **This actor** | **$39 per search** | **Fully automatic** |

### How It Works

````

Search query  -->  Google Maps scrape  -->  Website enrichment  -->  Email validation  -->  Scored lead list
(20+ businesses)        (emails, socials)       (deliverability)      (ranked 0 to 100)

````

1. Scrapes Google Maps for your search query using a real browser
2. Enriches each business website to find emails, social profiles, and tech stack
3. Validates every discovered email address
4. Scores and ranks each lead based on data completeness and business quality

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| searchQuery | string | required | What to search on Google Maps. Include location. Example: "plumbers in Dallas TX" |
| maxResults | integer | 20 | Maximum businesses to scrape (1 to 100) |
| enrichWebsites | boolean | true | Enrich each business with website contact data |
| validateEmails | boolean | true | Validate all discovered emails |
| minRating | number | 0 | Only include businesses with this rating or higher |

#### Example Input

```json
{
    "searchQuery": "dentists in Miami FL",
    "maxResults": 20,
    "enrichWebsites": true,
    "validateEmails": true,
    "minRating": 3.0
}
````

### Output

Each lead in the output contains:

```json
{
    "rank": 1,
    "leadScore": 92,
    "businessName": "Smile Design Dental",
    "category": "Dentist",
    "address": "123 Main St, Miami, FL 33101",
    "phone": "+1-305-555-0123",
    "website": "https://smiledesigndental.com",
    "rating": 4.8,
    "reviewCount": 234,
    "hours": "Mon to Fri 8AM to 5PM",
    "googleMapsUrl": "https://maps.google.com/...",
    "emails": [
        {
            "email": "info@smiledesigndental.com",
            "valid": true,
            "score": 0.9
        }
    ],
    "socialProfiles": {
        "facebook": "https://facebook.com/smiledesigndental",
        "instagram": "https://instagram.com/smiledesigndental"
    },
    "enrichment": {
        "industry": "Healthcare",
        "technologies": ["WordPress", "Mailchimp"],
        "description": "Full service dental practice in Miami"
    },
    "enrichedAt": "2026-04-12T10:30:00.000Z"
}
```

### Lead Scoring

Every lead gets a score from 0 to 100. Higher scores mean more complete data and stronger business signals:

| Signal | Points |
|--------|--------|
| Has phone number | +15 |
| Has website | +15 |
| Has email address | +20 |
| Email validated as deliverable | +10 |
| Rating 4.0 or higher | +15 |
| Rating 4.5 or higher | +5 bonus |
| More than 50 reviews | +10 |
| More than 100 reviews | +5 bonus |
| Has social profiles | +5 |

A score of 80+ means the lead has strong contact data and good business reputation. Start your outreach there.

### Use Cases

**Lead gen agencies**: Search for any local business type in any city. Get a complete outreach list in minutes instead of hours. Run multiple searches per day to fill your pipeline.

**Local SEO companies**: Find businesses in your target market that need SEO services. The tech stack data tells you what platform they use so you can tailor your pitch.

**Appointment setting services**: Get phone numbers and emails for local businesses. The lead score tells you which ones are worth calling first.

**Cold email teams**: Get validated email addresses ready for your email sequences. No more bounced emails killing your sender reputation.

**Sales teams**: Research a local market before entering it. Know every competitor, their ratings, and how to reach them.

### Tips for Best Results

1. **Be specific with location**: "plumbers in Dallas TX" works better than just "plumbers"
2. **Use minRating filter**: Set minRating to 3.5 or 4.0 to focus on established businesses
3. **Start with 20 results**: The default of 20 gives you a solid list. Increase to 50 or 100 for larger markets
4. **Export as CSV**: Download results from the Dataset tab for easy import into your CRM or email tool

### Integrations

Export your leads directly to:

- Google Sheets (via Apify integration)
- Zapier (trigger on new dataset)
- Make/Integromat
- Any CRM via webhook
- CSV/JSON/Excel download

### Support

Questions or custom requirements? Reach out through the Apify Store or open an issue on GitHub.

# Actor input Schema

## `searchQuery` (type: `string`):

What to search on Google Maps. Include location for best results.

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

Maximum number of businesses to scrape from Google Maps.

## `enrichWebsites` (type: `boolean`):

Enrich each business with website contact data, social profiles, and technologies.

## `validateEmails` (type: `boolean`):

Validate all discovered email addresses for deliverability.

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

Only include businesses with this rating or higher. Set to 0 to include all.

## Actor input object example

```json
{
  "searchQuery": "plumbers in Dallas TX",
  "maxResults": 20,
  "enrichWebsites": true,
  "validateEmails": true,
  "minRating": 0
}
```

# 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 = {
    "searchQuery": "plumbers in Dallas TX"
};

// Run the Actor and wait for it to finish
const run = await client.actor("george.the.developer/google-maps-lead-intel").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 = { "searchQuery": "plumbers in Dallas TX" }

# Run the Actor and wait for it to finish
run = client.actor("george.the.developer/google-maps-lead-intel").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 '{
  "searchQuery": "plumbers in Dallas TX"
}' |
apify call george.the.developer/google-maps-lead-intel --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Lead Intelligence & Contact Enrichment",
        "description": "Complete local lead generation. Search Google Maps, get businesses with enriched contacts, validated emails, and lead scores. One search, full outreach list. Built for lead gen agencies, local SEO, and sales teams.",
        "version": "1.0",
        "x-build-id": "XZs6dd8JfufbmH1Nq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/george.the.developer~google-maps-lead-intel/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-george.the.developer-google-maps-lead-intel",
                "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/george.the.developer~google-maps-lead-intel/runs": {
            "post": {
                "operationId": "runs-sync-george.the.developer-google-maps-lead-intel",
                "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/george.the.developer~google-maps-lead-intel/run-sync": {
            "post": {
                "operationId": "run-sync-george.the.developer-google-maps-lead-intel",
                "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": [
                    "searchQuery"
                ],
                "properties": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "What to search on Google Maps. Include location for best results."
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of businesses to scrape from Google Maps.",
                        "default": 20
                    },
                    "enrichWebsites": {
                        "title": "Enrich Websites",
                        "type": "boolean",
                        "description": "Enrich each business with website contact data, social profiles, and technologies.",
                        "default": true
                    },
                    "validateEmails": {
                        "title": "Validate Emails",
                        "type": "boolean",
                        "description": "Validate all discovered email addresses for deliverability.",
                        "default": true
                    },
                    "minRating": {
                        "title": "Minimum Rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Only include businesses with this rating or higher. Set to 0 to include all.",
                        "default": 0
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
