Google Maps Email & Phone Enrichment avatar

Google Maps Email & Phone Enrichment

Pricing

Pay per usage

Go to Apify Store
Google Maps Email & Phone Enrichment

Google Maps Email & Phone Enrichment

Enrich Google Maps businesses with verified emails & phone numbers in one run β€” bulk B2B lead generation, cheaper than stacked multi-tool scrapers. Export CSV/JSON.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ziv shay

ziv shay

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Google Maps Email & Phone Enrichment πŸ“πŸ“§πŸ“ž

Google Maps leads WITH email + phone in one run β€” half the price.

Most Maps lead workflows cost you twice: one charge to scrape the listings, then a second stacked add-on (~$9 / 1,000) to find the emails and phones. This actor bundles enrichment into a single pay-per-result run so you get a finished, ready-to-outreach B2B lead list at a fraction of the cost.

Feed it business website URLs (or pipe the output of any Google Maps scraper) and it returns one structured lead per business with verified emails, phones and social profiles.


πŸ’‘ What it does

For every business website you provide, the actor:

  1. Fetches the homepage plus common contact paths (/contact, /contact-us, /about, /about-us β€” configurable).
  2. Extracts:
    • Emails β€” from mailto: links and page text, deduped, lowercased, with image/asset false-positives (logo@2x.png) and placeholders stripped. Each email is flagged role-based (info@, sales@) vs personal so you can segment outreach.
    • Phones β€” from tel: links and page text, normalized to E.164-ish format (+14155552671).
    • Socials β€” LinkedIn, Facebook, Twitter/X, Instagram profile URLs.
  3. Pushes one clean result per business to the dataset β€” pay-per-result ready.

One bad/slow/dead site never kills the run β€” every site is isolated with its own timeout and try/catch, and even unreachable sites produce a result row with a status so your billing and your CRM stay consistent.


πŸ†š Why it beats stacking Outscraper-style add-ons

Typical stackmaps-enrich
Maps listingsScraper $Bring your own / chain upstream
Email + phone enrichment+ ~$9 / 1,000 add-onbundled
RunsTwo tools, two billsOne run
Price targetstacked~$0.004 / enriched result
Outputmerge yourselfone row per business, ready to export

πŸ“₯ Input

FieldTypeRequiredDescription
websitesarrayβœ…URLs ("https://acme.com") and/or objects with a website field (e.g. Maps-scraper output).
searchTermsarrayβ€”Maps discovery keywords. Recorded only β€” see Chaining maps discovery.
locationstringβ€”Maps discovery location. Recorded only.
maxResultsintegerβ€”Cap on businesses enriched. 0 = no cap.
contactPathsarrayβ€”Extra relative paths probed per site. Default ["/contact","/contact-us","/about","/about-us"].
maxConcurrencyintegerβ€”Sites crawled in parallel. Default 10.
requestTimeoutSecsintegerβ€”Per-request timeout. Default 20.
proxyConfigurationobjectβ€”Apify Proxy config. Residential recommended at scale.

Example input

{
"websites": [
"https://www.apify.com",
{ "name": "Example Co", "website": "https://example.com" }
],
"maxConcurrency": 10,
"requestTimeoutSecs": 20,
"proxyConfiguration": { "useApifyProxy": true }
}

You can also paste raw Google Maps scraper output directly β€” any object with a website (or url/domain) key is accepted, and the name/title is carried through.


πŸ“€ Output

One dataset item per business:

{
"name": "Example Co",
"website": "https://example.com/",
"domain": "example.com",
"emails": ["info@example.com", "jane.doe@example.com"],
"emailDetails": [
{ "email": "info@example.com", "type": "role" },
{ "email": "jane.doe@example.com", "type": "personal" }
],
"phones": ["+14155552671"],
"linkedin": "https://www.linkedin.com/company/example",
"facebook": "https://facebook.com/example",
"twitter": null,
"instagram": null,
"hasEmail": true,
"hasPhone": true,
"emailCount": 2,
"phoneCount": 1,
"pagesScanned": 3,
"status": "enriched",
"error": null,
"scrapedAt": "2026-06-19T12:00:00.000Z"
}

status is one of: enriched, no_contacts_found, unreachable, error.

Export to CSV / Excel / JSON from the run's Dataset tab or via the API.


πŸ”— Chaining maps discovery (upstream dependency)

Full Google Maps scraping is anti-bot heavy and fragile, so this actor does not reimplement it. Instead, chain a dedicated, battle-tested Maps scraper and feed its output here. The clean integration point: any object with a website field is enriched automatically.

Recommended chain (Apify Console β†’ Integrations, or via API):

  1. Run a maps-scrape actor (e.g. compass/google-maps-scraper) with your searchTerms + location.
  2. Feed its dataset into this actor's websites input.

API example:

# 1) Maps discovery (upstream)
apify call compass/google-maps-scraper \
--input='{"searchStringsArray":["dentist"],"locationQuery":"Austin, TX","maxCrawledPlacesPerSearch":50}'
# 2) Pipe that dataset's items (each has a `website`) into enrichment
apify call YOUR_USERNAME/maps-enrich \
--input='{"websites": <items-from-step-1>}'

The searchTerms/location fields on this actor exist to record discovery intent and emit a clear log notice; they do not perform scraping themselves.


πŸ’° Pricing model

Built for pay-per-result (Apify's per-event pricing). Bill per enriched lead pushed to the dataset (target ~$0.004 / result). Rental pricing is not used (Apify retired rental pricing in October 2026).

To set it up: Console β†’ your actor β†’ Publication β†’ Monetization β†’ Pay per result (or Pay per event), then set the per-result price.


πŸš€ Run locally

npm install
npm test # unit tests for the extraction logic (no network)
apify run # runs against storage/key_value_stores/default/INPUT.json

Requires Node 20+ and the Apify CLI (npm i -g apify-cli).


πŸ“¦ Publish to Apify

npm i -g apify-cli
apify login # paste your API token
cd projects/maps-enrich
apify push # builds the Docker image & uploads the actor

Then in Apify Console β†’ your actor:

  1. Builds β€” confirm the latest build is green.
  2. Publication β†’ Display information β€” title, description, categories (Lead generation, Business, E-commerce).
  3. Publication β†’ Monetization β€” choose Pay per result, set the price.
  4. Publish to the Apify Store.

πŸ” Listing SEO keywords

google maps email scraper Β· google maps lead scraper Β·

email and phone extractor
Β· b2b lead generation Β· contact scraper Β· business email finder Β· outscraper alternative Β· website email scraper Β· lead enrichment Β· sales prospecting tool Β· bulk email finder