# Google Maps & Website Contact Enricher — Emails, Socials & Tech (`cea_digital/google-maps-contact-email-scraper`) Actor

Enrich Google Maps businesses & company domains with verified emails, phone numbers, social profiles (LinkedIn, Instagram, TikTok, X, YouTube), tech stack (Shopify, WordPress, HubSpot, GTM, Stripe) & Cloudflare DNS MX records. Pure HTTP, $0.003/lead on Bronze+, $0 on misses.

- **URL**: https://apify.com/cea_digital/google-maps-contact-email-scraper.md
- **Developed by:** [Joshua Cloud](https://apify.com/cea_digital) (community)
- **Categories:** Lead generation, Business, Marketing
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 business domain contact & social profile enricheds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

<p align="center"><img src="https://api.apify.com/v2/key-value-stores/UVY8wlfSFMU2SpAig/records/skip-trace-owner-phone-finder.png" width="140" alt="Icon" /></p>

## Google Maps & Website Contact Enricher — Emails, Socials & Tech (`ceadigital/google-maps-contact-email-scraper`)

> **🎁 $5 Free Apify Credit = 166 Free Trial Hits (or 1,666 Verified Bronze+ Hits — No Card Needed to Test `{}` Demo)**
> **Zero Charge on Misses (`charged: false`)** • **Pure HTTP (`<1s` Live Demo)** • **1-Click `compass/crawler-google-places` `datasetId` Chaining** • **Cloudflare DNS-over-HTTPS MX Verification**

Enrich Google Maps business listings and company websites with **verified emails (`email_1`, `email_2`), phone numbers (`phone_1`), social media profiles (`linkedin`, `instagram`, `tiktok`, `facebook`, `twitter`, `youtube`), installed tech stack (`Shopify`, `WordPress`, `HubSpot`, `GTM`, `Meta Pixel`, `Stripe`, `Cloudflare`), and live DNS MX mail provider (`Google Workspace`, `Microsoft 365`)** over pure async HTTP (`Accept-Encoding: gzip, deflate`, zero headless browser overhead).

### Competitor Superset Comparison Table (1-Call Output Fields)

| Output Field / Capability | `cea_digital/google-maps-contact-email-scraper` | `lukaskrivka/google-maps-with-contact-details` | `vdrmota/contact-info-scraper` |
| :--- | :--- | :--- | :--- |
| **Flat CRM-Ready Columns (`domain`, `business_name`, `email_1`, `email_2`, `phone_1`, `contact_page_url`)** | **Yes (Instant HubSpot / Close / Smartlead CSV)** | Nested arrays only | Nested arrays only |
| **6-Platform Social Graph (`linkedin`, `instagram`, `tiktok`, `facebook`, `twitter`, `youtube`)** | **Yes** | Partial | Partial |
| **Installed Tech Stack & Ad Pixel Fingerprinting (`Shopify`, `WordPress`, `HubSpot`, `GTM`, `Meta Pixel`, `Stripe`, `Cloudflare`)** | **Yes (`detected_tech_stack`)** | No | No |
| **Live Cloudflare DNS-over-HTTPS MX Lookup (`has_valid_mx`, `mx_provider`)** | **Yes (Verifies domain can receive email before you send)** | No | No |
| **1-Click `googleMapsDatasetId` Chaining (`compass/crawler-google-places`)** | **Yes** | Requires full re-scrape | Manual URL paste |

***

### Transparent Pay-Per-Event (PPE) Pricing

| Event Name | Apify Bronze+ Rate | Apify Free-Plan Trial Rate | When Charged |
| :--- | :--- | :--- | :--- |
| `contact-enriched` | **`$0.003` / domain** (`$3 / 1k`) | `$0.03` / domain | Charged **only** when `>=1` email, phone, or social profile is extracted (`$0.00` on misses). |
| `mx-deliverability-verified` | **`+$0.001` / domain** (`$1 / 1k`) | `$0.01` / domain | Live Cloudflare DNS-over-HTTPS MX lookup & mail provider classification. |
| `tech-stack-fingerprinted` | **`+$0.001` / domain** (`$1 / 1k`) | `$0.01` / domain | Storefront & B2B tech stack + marketing pixel detection. |

***

### Honest Price-Per-1,000 Comparison Matrix

| Provider | Price per 1,000 Enriched Domains | Live DNS MX Verification? | Tech Stack & Pixel Detection? | Charges on Unreachable Domains? |
| :--- | :--- | :--- | :--- | :--- |
| **`ceadigital/google-maps-contact-email-scraper` (Bronze+)** | **`$3.00 / 1k`** | **Yes (Cloudflare DoH MX)** | **Yes (7+ Core B2B Signals)** | **`$0.00` (`charged: false`)** |
| **CEA Direct Unified Key (`ceadigital.io/tools`)** | **`$4.15–$5.80 / 1k`** (`$29–$249/mo`) | **Yes** | **Yes** | **`$0.00`** |
| `lukaskrivka/google-maps-with-contact-details` | `$5.00 – $10.00 / 1k` + browser compute | No | No | Standard compute billed |
| Clay.com Website + Tech Enrichment | `$495/mo` gate + 3 credit steps | Separate vendor | BuiltWith add-on required | Bills action credits |

***

### Copy to Your AI Assistant (Claude Code / Cursor / MCP)

```bash
claude mcp add ceadigital-tools --transport http https://ceadigital.io/mcp
```

### CEA Digital High-Speed Pure-HTTP Actor Suite

- **[`ceadigital/google-maps-contact-email-scraper`](https://apify.com/ceadigital/google-maps-contact-email-scraper)** — Enrich Google Maps businesses & domains with emails, phones, socials, tech stack & DNS MX records (`$0.003/domain` Bronze+).
- **[`ceadigital/email-verifier-catch-all-validator`](https://apify.com/ceadigital/email-verifier-catch-all-validator)** — Bulk B2B email verifier with Cloudflare DNS MX, SPF/DMARC, disposable & catch-all scoring (`$0.001/email` Bronze+).
- **[`ceadigital/hiring-intent-jobs-scraper`](https://apify.com/ceadigital/hiring-intent-jobs-scraper)** — Scrape Greenhouse & Lever ATS job postings for B2B hiring intent, tech stack & buying signals (`$0.002/job` Bronze+).
- **[`ceadigital/shopify-store-leads-products-scraper`](https://apify.com/ceadigital/shopify-store-leads-products-scraper)** — Extract Shopify store leads, product catalogs, price bands, apps/pixels & contact emails (`$0.003/store` Bronze+).
- **[`ceadigital/skip-trace-owner-phone-finder`](https://apify.com/ceadigital/skip-trace-owner-phone-finder)** — Pierce anonymous LLCs via SOS/GLEIF & find owner wireless phones + emails (`$0.004/hit` Bronze+).
- **Unified Direct Key (`$2` Tripwire / `$29/mo` 5,000 Hits across all CEA tools)**: <https://ceadigital.io/tools>

# Actor input Schema

## `googleMapsDatasetId` (type: `string`):

Paste a Dataset ID from compass/crawler-google-places or lukaskrivka/google-maps-with-contact-details to automatically enrich every business website with emails, socials, tech stack, and DNS MX records.

## `websites` (type: `array`):

List of business domains or website URLs (e.g. \['stripe.com', 'shopify.com']). Leave empty to run the <1s instant live demo.

## `verifyMxRecords` (type: `boolean`):

Query Cloudflare DNS-over-HTTPS for live MX records and identify Google Workspace, Microsoft 365, or Cloudflare Email Routing.

## `detectTechStack` (type: `boolean`):

Fingerprint Shopify, WordPress, HubSpot, Google Tag Manager, Meta Pixel, Stripe, and Cloudflare from storefront HTML.

## `watchlistId` (type: `string`):

Optional Watchlist ID so recurring scheduled runs never double-charge already enriched domains.

## `onlyNew` (type: `boolean`):

When paired with watchlistId, skips any domain already processed in previous runs ($0.00 charged on duplicates).

## `feedback` (type: `string`):

Need a custom pixel detector or CRM export? Tell us here.

## Actor input object example

```json
{
  "websites": [],
  "verifyMxRecords": true,
  "detectTechStack": true,
  "onlyNew": true
}
```

# Actor output Schema

## `results` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("cea_digital/google-maps-contact-email-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("cea_digital/google-maps-contact-email-scraper").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 '{}' |
apify call cea_digital/google-maps-contact-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cea_digital/google-maps-contact-email-scraper"
        }
    }
}
```

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/uJth7WP4aBRuRYrQv/builds/Hn8a7AeAyjvDbomvg/openapi.json
