# Google Maps Business Leads Scraper (Email, Phone...) (`scrapeai/google-maps-business-leads-scraper`) Actor

Scrape business listings from Google Maps and enrich with emails, phones, and social profiles from each company website. Lead generation in one click.

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

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google Maps Business Leads Scraper (Email, Phone...)

Scrape business listings from **Google Maps** and automatically enrich each lead with **emails**, **phone numbers**, and **social media profiles** (LinkedIn, Facebook, Instagram, Twitter/X, YouTube, TikTok, GitHub) directly from company websites. Turn Google Maps into a 1-click B2B lead generation machine.

### What does Google Maps Business Leads Scraper do?

Google Maps is the world's largest database of local businesses, but business profiles on Google Maps often lack contact emails or social links.

This Actor solves that problem by:

1. Extracting complete business listings from Google Maps search results or place URLs.
2. Automatically crawling each business's official website to discover contact details, including **verified emails**, **direct phones**, and **social media channels**.

Whether you're looking for local SMB leads, sales prospects, market research, or agency client outreach, this Actor provides complete lead records ready for cold email or outreach campaigns.

### Features

- 🎯 **Multi-Keyword Search**: Scrape multiple search phrases in parallel (e.g., `"dentists in Miami, FL"`, `"plumbers in Austin, TX"`).
- ✉️ **Automatic Email Extraction**: Crawls company websites to find contact emails, filtering out dummy/junk emails.
- 📞 **Complete Phone Extraction**: Captures Google Maps listed phone numbers plus extra direct numbers from company contact pages.
- 🔗 **Social Media Discovery**: Automatically finds LinkedIn, Facebook, Instagram, Twitter/X, YouTube, TikTok, GitHub, and Pinterest handles.
- 🌍 **Global & Multi-Language Support**: Scrape Google Maps listings in any country or language (`en`, `es`, `fr`, `de`, etc.).
- 🚀 **High Speed & Efficiency**: Uses optimized browser sessions for Google Maps combined with ultra-fast HTTP website enrichment.

### Extracted Data Fields

| Field Name | Data Type | Description |
| :--- | :--- | :--- |
| `title` | String | Business name on Google Maps |
| `categoryName` | String | Primary business category |
| `address` | String | Full physical street address |
| `phone` | String | Phone number listed on Google Maps |
| `website` | String | Official business website URL |
| `emails` | Array | Enriched email addresses extracted from website |
| `phonesFromWebsite`| Array | Additional phone numbers found on company website |
| `linkedin` | String | Official LinkedIn company or profile URL |
| `facebook` | String | Official Facebook page URL |
| `instagram` | String | Official Instagram profile URL |
| `twitter` | String | Official Twitter / X profile URL |
| `youtube` | String | Official YouTube channel URL |
| `rating` | Number | Google Maps star rating (1.0 to 5.0) |
| `reviewsCount` | Number | Total count of Google Maps customer reviews |
| `location` | Object | Latitude and longitude coordinates `{ lat, lng }` |
| `placeId` | String | Unique Google Maps Place ID / CID |
| `url` | String | Direct Google Maps place URL |

### How to use Google Maps Business Leads Scraper

1. **Enter Search Keywords**: Enter search terms like `"restaurants in New York"` or `"gyms in Los Angeles, CA"`.
2. **Configure Max Items**: Choose how many listings to scrape per search term.
3. **Enable Website Enrichment**: Keep **Enrich with Website Contacts** checked to extract emails and social media links.
4. **Click Run**: Wait a few moments while the Actor collects and enriches your leads.
5. **Export Leads**: Download your ready-to-use dataset in **CSV**, **Excel**, **JSON**, or **HTML** table formats.

### Input Example

```json
{
    "searchStringsArray": [
        "restaurants in San Francisco, CA",
        "coffee shops in Seattle, WA"
    ],
    "maxCrawledPlacesPerSearch": 20,
    "maxItems": 50,
    "enrichWebsites": true,
    "enrichDepth": 2,
    "language": "en",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
}
```

### Output Example

```json
[
    {
        "searchString": "restaurants in San Francisco, CA",
        "title": "BREADBASKET Bakery & Cafe",
        "categoryName": "Bakery",
        "address": "123 Market St, San Francisco, CA 94105",
        "phone": "+1 415-555-0199",
        "website": "https://www.breadbasketexample.com",
        "rating": 4.7,
        "reviewsCount": 382,
        "location": {
            "lat": 37.791,
            "lng": -122.398
        },
        "placeId": "0x80858062f3a55555:0x123456789abcdef",
        "url": "https://www.google.com/maps/place/...",
        "emails": [
            "info@breadbasketexample.com",
            "contact@breadbasketexample.com"
        ],
        "phonesFromWebsite": [
            "+1 415-555-0199"
        ],
        "linkedin": "https://www.linkedin.com/company/breadbasket",
        "facebook": "https://www.facebook.com/breadbasket",
        "instagram": "https://www.instagram.com/breadbasket",
        "twitter": "https://twitter.com/breadbasket",
        "youtube": null,
        "tiktok": null,
        "github": null,
        "pinterest": null,
        "scrapedAt": "2026-08-03T17:26:00.000Z"
    }
]
```

### Pricing & Compute Efficiency

This Actor is engineered for high compute efficiency:

- Scraping 1,000 Google Maps listings with website email enrichment takes only a few minutes.
- Uses lightweight HTTP enrichment for company websites to minimize RAM and bandwidth consumption.

### FAQ & Legal Disclaimer

> **Legal & GDPR Notice:**
> Our Actors are designed for ethical scraping and only extract publicly available business information shared openly on Google Maps and company websites. Personal data is protected by regulations like GDPR. Ensure you have a legitimate purpose and comply with applicable laws when conducting sales outreach or data collection.

# Actor input Schema

## `searchStringsArray` (type: `array`):

Keywords or search phrases for Google Maps (e.g., 'plumbers in Miami FL', 'dentists in Chicago').

## `startUrls` (type: `array`):

Direct Google Maps search or place URLs.

## `maxCrawledPlacesPerSearch` (type: `integer`):

Maximum number of place listings to scrape for each search term.

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

Maximum total listings to scrape across all search terms and URLs (0 = unlimited).

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

Scrape the official company website of each business to extract emails, phones, and social profiles (LinkedIn, Facebook, Instagram, Twitter, etc.).

## `enrichDepth` (type: `integer`):

How deep to crawl each business website looking for contact info (1 = homepage only, 2 = homepage + /contact & /about pages).

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

Preferred language for Google Maps search results.

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

Proxy settings for scraping Google Maps and company websites without blocking.

## Actor input object example

```json
{
  "searchStringsArray": [
    "restaurants in San Francisco, CA",
    "coffee shops in Seattle, WA"
  ],
  "startUrls": [
    {
      "url": "https://www.google.com/maps/search/dentists+in+New+York"
    }
  ],
  "maxCrawledPlacesPerSearch": 20,
  "maxItems": 100,
  "enrichWebsites": true,
  "enrichDepth": 2,
  "language": "en",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchStringsArray": [
        "restaurants in San Francisco, CA",
        "coffee shops in Seattle, WA"
    ],
    "startUrls": [
        {
            "url": "https://www.google.com/maps/search/dentists+in+New+York"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapeai/google-maps-business-leads-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 = {
    "searchStringsArray": [
        "restaurants in San Francisco, CA",
        "coffee shops in Seattle, WA",
    ],
    "startUrls": [{ "url": "https://www.google.com/maps/search/dentists+in+New+York" }],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapeai/google-maps-business-leads-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 '{
  "searchStringsArray": [
    "restaurants in San Francisco, CA",
    "coffee shops in Seattle, WA"
  ],
  "startUrls": [
    {
      "url": "https://www.google.com/maps/search/dentists+in+New+York"
    }
  ]
}' |
apify call scrapeai/google-maps-business-leads-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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