Google Maps Email & Phone Enrichment
Pricing
Pay per usage
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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:
- Fetches the homepage plus common contact paths (
/contact,/contact-us,/about,/about-usβ configurable). - 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.
- Emails β from
- 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 stack | maps-enrich | |
|---|---|---|
| Maps listings | Scraper $ | Bring your own / chain upstream |
| Email + phone enrichment | + ~$9 / 1,000 add-on | bundled |
| Runs | Two tools, two bills | One run |
| Price target | stacked | ~$0.004 / enriched result |
| Output | merge yourself | one row per business, ready to export |
π₯ Input
| Field | Type | Required | Description |
|---|---|---|---|
websites | array | β | URLs ("https://acme.com") and/or objects with a website field (e.g. Maps-scraper output). |
searchTerms | array | β | Maps discovery keywords. Recorded only β see Chaining maps discovery. |
location | string | β | Maps discovery location. Recorded only. |
maxResults | integer | β | Cap on businesses enriched. 0 = no cap. |
contactPaths | array | β | Extra relative paths probed per site. Default ["/contact","/contact-us","/about","/about-us"]. |
maxConcurrency | integer | β | Sites crawled in parallel. Default 10. |
requestTimeoutSecs | integer | β | Per-request timeout. Default 20. |
proxyConfiguration | object | β | 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):
- Run a maps-scrape actor (e.g.
compass/google-maps-scraper) with yoursearchTerms+location. - Feed its dataset into this actor's
websitesinput.
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 enrichmentapify 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 installnpm 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-cliapify login # paste your API tokencd projects/maps-enrichapify push # builds the Docker image & uploads the actor
Then in Apify Console β your actor:
- Builds β confirm the latest build is green.
- Publication β Display information β title, description, categories (Lead generation, Business, E-commerce).
- Publication β Monetization β choose Pay per result, set the price.
- Publish to the Apify Store.
π Listing SEO keywords
google maps email scraper Β· google maps lead scraper Β·
email and phone extractorb2b lead generation Β· contact scraper Β· business email finder
Β· outscraper alternative Β· website email scraper Β· lead enrichment Β·
sales prospecting tool Β· bulk email finder