# Google Maps Scraper: Places, Emails, Contacts & Reviews Pro (`lucacelli/google-maps-scraper-places-emails-contacts-reviews`) Actor

All-in-one Google Maps B2B Lead Extractor: scrapes unlimited businesses, star ratings, review counts, phones, websites, and automatically crawls business websites for verified emails, social profiles, tech stack signatures, DNS MX/DMARC, and B2B lead scores at $1.50 / 1,000 places.

- **URL**: https://apify.com/lucacelli/google-maps-scraper-places-emails-contacts-reviews.md
- **Developed by:** [Ömürsel Ocakcı](https://apify.com/lucacelli) (community)
- **Categories:** Lead generation, Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.50 / 1,000 scraped & enriched place (all-inclusive: website emails, mx verify, social & tech stack)s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Scraper: Places, Emails, Contacts & Reviews Pro

> 🎁 **RUN FOR FREE WITH YOUR $5.00 APIFY MONTHLY CREDIT:** Every Apify account automatically receives **$5.00 in free platform usage every month** — enough to extract **3,300 to 10,000 verified records every single month for $0.00 out of pocket!** Click the green **Start** button above to test immediately.

***

### ⚡ Why Choose `lucacelli/google-maps-scraper-places-emails-contacts-reviews` Over Outscraper / PhantomBuster ($49–$199/mo)?

- **Ultra-Low Pay-Per-Result Pricing:** Just **$1.50 per 1,000 places** (`$0.0015/place`) with **$0 monthly subscription** and **$0 hidden add-on charges**.
- **100% Automation & AI-Agent Ready:** Native synchronous REST API endpoint (`/run-sync-get-dataset-items`) for **n8n**, **Make.com**, **Clay.com**, **LangChain**, and **Claude Desktop / Cursor MCP**.
- **Structured JSON, CSV & Excel Output:** Clean, normalized fields ready for immediate CRM or database ingestion.

| Metric | **This Actor (`lucacelli/google-maps-scraper-places-emails-contacts-reviews`)** | **Outscraper / PhantomBuster ($49–$199/mo)** |
| :--- | :--- | :--- |
| **Effective Price per 1,000 places** | **$1.50 / 1,000 places** | $49–$299/month mandatory subscription |
| **Free Monthly Allowance** | **Up to 10,000 items/mo free (via $5 Apify credit)** | Trial / Credit Card Wall |
| **n8n / Make / Clay / Claude MCP** | **Native 1-Click Support** | Expensive Enterprise API add-on |

***

### 🔗 3x Power Combo: Chain With Our Other Cloud Actors for Full-Funnel Automation

Multiply your ROI by chaining **`lucacelli/google-maps-scraper-places-emails-contacts-reviews`** with our companion Cloud Actors in **n8n**, **Make.com**, or **Clay**:

1. **Step 1 — Discover Local Businesses & Websites:** **[Google Maps Scraper: Places, Emails, Contacts & Reviews Pro ($1.50/1k)](https://apify.com/lucacelli/google-maps-scraper-places-emails-contacts-reviews)**
2. **Step 2 — Enrich Domains, Verified Emails, DNS MX/DMARC & 38+ Tech Signatures:** **[B2B Domain Contact, Email, DNS & Tech Stack Enricher ($0.80/1k)](https://apify.com/lucacelli/b2b-domain-contact-tech-enricher)**
3. **Step 3 — Audit 45-Point Technical SEO, JSON-LD Schema & Broken Links:** **[Technical SEO, Broken Link, Schema.org & Security Auditor ($0.80/1k)](https://apify.com/lucacelli/seo-technical-audit-broken-link-schema-analyzer)**

👉 **[Download Ready-to-Import 3x Chained n8n Workflow JSON →](https://ocakciomursel-pixel.github.io/b2b-domain-contact-tech-enricher/workflows/chained-3x-pipeline-n8n.json)**

***

### 🤖 Use as a 5-in-1 AI Agent Tool in Claude Desktop, Cursor & Windsurf (MCP)

Paste this into your `claude_desktop_config.json` or Cursor MCP settings to give your AI assistant simultaneous access to **Google Maps Scraper: Places, Emails, Contacts & Reviews Pro** plus our top B2B intelligence Actors:

```json
{
  "mcpServers": {
    "lucacelli-b2b-cloud-suite": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--actors",
        "lucacelli/google-maps-scraper-places-emails-contacts-reviews,lucacelli/b2b-domain-contact-tech-enricher,lucacelli/shopify-store-product-contact-spy,lucacelli/ai-ready-website-to-markdown-rag-crawler,lucacelli/seo-technical-audit-broken-link-schema-analyzer"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN_HERE"
      }
    }
  }
}
```

***

### 🚀 Synchronous REST API, Python & Node.js Quickstart

#### 1. Synchronous HTTP POST (n8n / Make.com / Clay / cURL)

```bash
curl -X POST "https://api.apify.com/v2/acts/lucacelli~google-maps-scraper-places-emails-contacts-reviews/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "queries": [
    "dentist in Miami, FL",
    "medspa in Austin, TX"
  ],
  "maxPlacesPerQuery": 50,
  "enrichWebsiteContacts": true,
  "verifyEmailDns": true
}'
```

#### 2. Python (`apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("lucacelli/google-maps-scraper-places-emails-contacts-reviews").call(run_input={
    "queries": [
        "dentist in Miami, FL",
        "medspa in Austin, TX"
    ],
    "maxPlacesPerQuery": 50,
    "enrichWebsiteContacts": true,
    "verifyEmailDns": true
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

***

### 🌐 Complete Suite of 14 Live Cloud Actors by [@lucacelli](https://apify.com/lucacelli)

| Cloud Actor | Price | Legacy Tool Replaced | Open in Apify Store |
| :--- | :--- | :--- | :--- |
| **[Google Maps Scraper: Places, Emails, Contacts & Reviews Pro](https://apify.com/lucacelli/google-maps-scraper-places-emails-contacts-reviews)** | **$1.50 / 1k places** | *Outscraper / PhantomBuster ($49–$199/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/google-maps-scraper-places-emails-contacts-reviews) |
| **[B2B Domain Contact, Email, DNS & Tech Stack Enricher](https://apify.com/lucacelli/b2b-domain-contact-tech-enricher)** | **$0.80 / 1k domains** | *Apollo.io / BuiltWith / Hunter ($99–$295/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/b2b-domain-contact-tech-enricher) |
| **[Shopify Store Product, Pricing, Stock & Merchant Contact Spy](https://apify.com/lucacelli/shopify-store-product-contact-spy)** | **$0.50 / 1k products** | *Koala Inspector / Commerce Inspector ($49–$99/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/shopify-store-product-contact-spy) |
| **[Website to Clean Markdown, Vector RAG Chunks & llms.txt](https://apify.com/lucacelli/ai-ready-website-to-markdown-rag-crawler)** | **$0.50 / 1k pages** | *Firecrawl / Jina Reader API ($19–$99/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/ai-ready-website-to-markdown-rag-crawler) |
| **[Technical SEO, Broken Link, Schema.org & Security Auditor](https://apify.com/lucacelli/seo-technical-audit-broken-link-schema-analyzer)** | **$0.80 / 1k pages** | *Screaming Frog / Ahrefs Site Audit ($99–$249/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/seo-technical-audit-broken-link-schema-analyzer) |
| **[GitHub Developer, Stargazer & Contributor Lead Enricher](https://apify.com/lucacelli/github-developer-recruiter-lead-enricher)** | **$0.80 / 1k developers** | *SeekOut / Gem / Clay ($149–$499/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/github-developer-recruiter-lead-enricher) |
| **[Greenhouse & Lever Company Job Board & Hiring Signal Scraper](https://apify.com/lucacelli/ats-job-board-hiring-signal-scraper)** | **$0.50 / 1k jobs** | *Clay Hiring Signals / LoneScale ($149+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/ats-job-board-hiring-signal-scraper) |
| **[Reddit Subreddit, Buyer Intent & Pain-Point Lead Miner](https://apify.com/lucacelli/reddit-community-pain-point-trend-miner)** | **$0.50 / 1k posts** | *GummySearch / Syften ($29–$79/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/reddit-community-pain-point-trend-miner) |
| **[WordPress & WooCommerce Theme, Plugin & Agency Lead Spy](https://apify.com/lucacelli/wordpress-woocommerce-site-spy)** | **$0.80 / 1k sites** | *Wappalyzer / BuiltWith ($99+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/wordpress-woocommerce-site-spy) |
| **[Hacker News Launch, Show HN & Tech Founder Lead Monitor](https://apify.com/lucacelli/hackernews-tech-launch-lead-monitor)** | **$0.50 / 1k storys** | *Harmonic.ai / PitchBook Alerts ($200+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/hackernews-tech-launch-lead-monitor) |
| **[XML Sitemap URL Inventory, SEO Freshness & Content Auditor](https://apify.com/lucacelli/sitemap-url-inventory-content-freshness-auditor)** | **$0.50 / 1k URLs** | *Visualping / Screaming Frog ($49+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/sitemap-url-inventory-content-freshness-auditor) |
| **[SaaS Pricing Page, Plan Tiers & Competitor Feature Spy](https://apify.com/lucacelli/saas-pricing-page-tier-feature-extractor)** | **$0.80 / 1k pages** | *Klue / Crayon ($500+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/saas-pricing-page-tier-feature-extractor) |
| **[ClinicalTrials.gov & OpenFDA Biotech / Pharma Lead Enricher](https://apify.com/lucacelli/clinical-trials-fda-drug-safety-intel)** | **$0.80 / 1k trials** | *Citeline / GlobalData Pharma ($500+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/clinical-trials-fda-drug-safety-intel) |
| **[Scientific Paper, Author Email & Lab Research Lead Miner](https://apify.com/lucacelli/scientific-literature-citation-author-lead-miner)** | **$0.50 / 1k papers** | *Dimensions.ai / SciLeads ($300+/mo)* | [🚀 Run Actor →](https://apify.com/lucacelli/scientific-literature-citation-author-lead-miner) |

# Actor input Schema

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

Type what you would search for in Google Maps (e.g. \["dentist", "dental clinic", "orthodontist"] or \["restaurant", "coffee shop"]). Supports any language.

## `locationQuery` (type: `string`):

Define the target location using free text (e.g., "Austin, TX, USA", "London, UK", "Istanbul, Turkey", "Berlin, Germany").

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

Maximum number of places to extract per search term. Automatically subdivides large areas to bypass the standard 120-place map limit.

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

Preferred language for place names, categories, and address formatting (e.g. en, tr, de, es, fr, pt, it, nl, ar).

## `countryCode` (type: `string`):

Optional 2-letter ISO country code filter (e.g. us, gb, tr, de, ca, au, fr, es).

## `city` (type: `string`):

Optional city name override if you prefer structured location fields instead of free-text Location.

## `state` (type: `string`):

Optional state or province name (e.g. Texas, California, Ontario).

## `postalCode` (type: `string`):

Optional postal or ZIP code filter (e.g. 78701, 10001, SW1A).

## `categoryFilterWords` (type: `array`):

Optional category keywords to restrict results (e.g. \["clinic", "medical"]). Unlike other scrapers, applying filters costs $0 extra!

## `searchMatching` (type: `string`):

Choose whether to return all relevant places in the category or only places whose title contains your search term.

## `placeMinimumStars` (type: `string`):

Filter places by minimum rating. Zero add-on filter fees.

## `website` (type: `string`):

Scrape all places, only places with a website (best for email outreach), or only places without a website (best for web design agencies!).

## `skipClosedPlaces` (type: `boolean`):

Skip places marked as permanently or temporarily closed.

## `scrapeContacts` (type: `boolean`):

Automatically crawls the official business website and /contact, /about, /iletisim, /impressum pages to extract direct business emails, additional phone numbers, WhatsApp links, and Schema.org owner/staff names at $0 extra charge!

## `verifyLeadsEnrichmentEmails` (type: `boolean`):

Verifies every extracted business email domain via real-time DNS MX, SPF, and DMARC lookups and identifies the mail host (Google Workspace, Microsoft 365, Zoho, etc.) at $0 extra charge!

## `scrapeSocialMediaProfiles` (type: `boolean`):

Extracts LinkedIn, Instagram, Facebook, X/Twitter, YouTube, TikTok, Pinterest, and WhatsApp links from the business website at $0 extra charge!

## `scrapeTechStackAndPixels` (type: `boolean`):

Detects CMS (WordPress, Shopify, Wix, Squarespace, Webflow), Ad Pixels (Meta/Facebook Pixel, Google Analytics 4, GTM, TikTok Pixel), Booking Widgets (Calendly, OpenTable, Toast), and Live Chat (HubSpot, Intercom, Tawk.to) at $0 extra charge!

## `enableCompetitorAnalysis` (type: `boolean`):

Calculates a 0-100 B2B Lead Opportunity Score and lists missing digital signals (e.g. Missing Meta Pixel, No Website, Missing DMARC, No Online Booking Widget) with a ready-to-send outreach pitch!

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

Optional list of Google Maps search/place URLs or direct business website URLs to enrich.

## `placeIds` (type: `array`):

Optional list of specific Place IDs to look up.

## Actor input object example

```json
{
  "searchStringsArray": [
    "dental clinic",
    "coffee shop"
  ],
  "locationQuery": "Austin, TX, USA",
  "maxCrawledPlacesPerSearch": 15,
  "language": "en",
  "countryCode": "",
  "city": "",
  "state": "",
  "postalCode": "",
  "categoryFilterWords": [],
  "searchMatching": "all",
  "placeMinimumStars": "",
  "website": "allPlaces",
  "skipClosedPlaces": true,
  "scrapeContacts": true,
  "verifyLeadsEnrichmentEmails": true,
  "scrapeSocialMediaProfiles": true,
  "scrapeTechStackAndPixels": true,
  "enableCompetitorAnalysis": true,
  "startUrls": [],
  "placeIds": []
}
```

# 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": [
        "dental clinic",
        "coffee shop"
    ],
    "locationQuery": "Austin, TX, USA",
    "language": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lucacelli/google-maps-scraper-places-emails-contacts-reviews").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": [
        "dental clinic",
        "coffee shop",
    ],
    "locationQuery": "Austin, TX, USA",
    "language": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("lucacelli/google-maps-scraper-places-emails-contacts-reviews").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 '{
  "searchStringsArray": [
    "dental clinic",
    "coffee shop"
  ],
  "locationQuery": "Austin, TX, USA",
  "language": "en"
}' |
apify call lucacelli/google-maps-scraper-places-emails-contacts-reviews --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lucacelli/google-maps-scraper-places-emails-contacts-reviews"
        }
    }
}
```

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/16CnpAMgYEy1lL2hR/builds/D22xjXQArZTFwRVmt/openapi.json
