Google Maps Email Extractor — Company Emails & Socials
Pricing
from $2.50 / 1,000 place saveds
Google Maps Email Extractor — Company Emails & Socials
Find businesses on Google Maps and enrich each one with the company e-mails, phone numbers, WhatsApp and social profiles published on its own website. Role mailboxes only (info@, sales@...), personal addresses filtered out. No browser, no API key.
Pricing
from $2.50 / 1,000 place saveds
Rating
0.0
(0)
Developer
Fabrikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Google Maps Email Extractor — Company Emails, Phones & Social Profiles
Google Maps Email Extractor finds businesses on Google Maps and pulls their contact details from their own websites: company e-mail addresses (info@, contact@, sales@, hello@…), the phone numbers and WhatsApp the business publishes, its Facebook, Instagram, LinkedIn, X, YouTube and TikTok pages, whether the site has a contact form and which platform it runs on. Search any category in any city, region or country and get one clean lead per business, ready for a CRM or an outreach tool. No browser, no Google API key, pay per result.
It is built on our Google Maps Places Scraper, which returns the Google Maps listing only (name, address, phone, website, rating, hours). Use that one when you do not need e-mails; use this one when you want each listing enriched with what the business website says.
What you get
Every row has the full Google Maps listing plus these website fields:
| Field | Example | Notes |
|---|---|---|
emails, primaryEmail | ["info@denvercrowd.com"] | company mailboxes found on the site, most reliable first (mailto links before plain text) |
personalEmailsDropped | 1 | how many person-looking addresses were left out (see Privacy) |
websitePhones | ["(720) 723-1837"] | phones published on the site (tel: links first; fax and suite numbers removed), up to 5 |
whatsapp | +5699… | from wa.me / api.whatsapp.com links |
facebook, instagram, linkedin, twitter, youtube, tiktok | https://www.linkedin.com/company/denver-crowd/ | company pages only; LinkedIn /in/ people profiles are never kept |
hasContactForm | true | a message form or a known form embed (Contact Form 7, HubSpot, Typeform…) |
websiteTitle, websiteDescription, websiteLanguage, websitePlatform | Duda, WordPress, Wix… | handy for agencies selling web or marketing services |
websiteFinalUrl, websitePagesCrawled, contactPageUrl | https://www.denvercrowd.com/, 4 | what was actually read |
websiteCrawled, websiteCrawlStatus | true, ok | no-website, blocked, timeout, unreachable, not-html, social-profile, http-404… when nothing could be read |
Google Maps fields: placeId, cid, name, category, categories, address, street, neighborhood, city, postalCode, state, countryCode, lat, lng, plusCode, phone, phoneInternational, phoneUnformatted, website, domain, rating, reviewsCount, description, openingHours, permanentlyClosed, temporarilyClosed, timezone, imageUrl, googleMapsUrl, searchString, searchLocation, rank, scrapedAt.
Use cases
- B2B outreach lists — "dentists in Madrid", "roofing contractors in Texas", "hoteles en Cusco": one run gives the listing, the generic mailbox and the social pages of every business in the area.
- Agency prospecting — filter by
websitePlatform(Wix, GoDaddy, no website at all) orhasContactForm: falseto find businesses that need a better site. - CRM enrichment — feed the e-mails, phones and social URLs into HubSpot, Pipedrive, Airtable or Google Sheets through the Apify integrations.
- Market mapping — count businesses by category, rating and digital presence (website, Instagram, WhatsApp) per neighbourhood or city.
- AI agents — let an assistant call this Actor through MCP to "find 20 coffee roasters in Lisbon with an e-mail".
How to use
- Type one or more Search terms (
marketing agency,veterinarian) and a Location (Denver, Colorado,Providencia, Santiago, Chile,Portugal). - Set Max places per search term. Start with 10–50; the whole area is scanned tile by tile when you ask for more.
- Leave Read each business website for contacts on. Optionally raise Pages per website (default 5: home + 4 contact-looking pages) or turn on Save only places with an e-mail.
- Run it and export JSON, CSV or Excel, or read the dataset through the API.
Input example: e-mail leads only, Spanish-speaking market
{"searchStrings": ["clínica dental", "centro de estética"],"location": "Las Condes, Santiago, Chile","language": "es","maxItemsPerSearch": 100,"onlyWithEmail": true,"maxPagesPerWebsite": 5}
Input example: Google Maps data plus home page only
{"searchStrings": ["plumber"],"location": "Manchester, UK","maxItemsPerSearch": 200,"maxPagesPerWebsite": 1,"minRating": 4}
Input example: listing only, no website crawl
{"searchStrings": ["hotel"],"location": "Cusco, Peru","maxItemsPerSearch": 300,"enrichWithWebsite": false}
Other options: a circle (latitude, longitude, radiusKm) or Google Maps search URLs instead of a location, categoryFilter, onlyWithPhone, onlyWithWebsite, skipClosedPlaces, countryCode, splitArea (deep area scan) and proxyConfiguration.
Output example
A real record from a local test run on 19 October 2026 (image URL shortened):
{"placeId": "ChIJAQCpKSd5bIcRO3lEMa7ttDc","name": "Crowd Digital Marketing","category": "Marketing agency","address": "2412 Stout St, Denver, CO 80205","city": "Denver","postalCode": "80205","state": "Colorado","countryCode": "US","lat": 39.7534302,"lng": -104.9828704,"phone": "(720) 723-1837","phoneUnformatted": "+17207231837","website": "http://www.denvercrowd.com/","domain": "denvercrowd.com","rating": 4.9,"reviewsCount": 30,"openingHours": [{ "day": "Monday", "hours": "8 AM–6 PM" }, { "day": "Saturday", "hours": "Closed" }],"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=Crowd%20Digital%20Marketing&query_place_id=ChIJAQCpKSd5bIcRO3lEMa7ttDc","emails": ["info@denvercrowd.com"],"primaryEmail": "info@denvercrowd.com","personalEmailsDropped": 1,"websitePhones": ["(720) 723-1837"],"whatsapp": null,"facebook": "https://www.facebook.com/DenverCrowd","instagram": "https://www.instagram.com/denvercrowd/","linkedin": "https://www.linkedin.com/company/denver-crowd/","twitter": null,"youtube": null,"tiktok": null,"hasContactForm": true,"websiteTitle": "Crowd Digital Marketing","websiteDescription": "Our Crowd elevates website design & development for businesses, brands and non-profits…","websiteLanguage": "en","websitePlatform": "Duda","websiteFinalUrl": "https://www.denvercrowd.com/","websitePagesCrawled": 4,"websiteCrawled": true,"websiteCrawlStatus": "ok","searchString": "marketing agency","searchLocation": "Denver, Colorado","rank": 2,"scrapedAt": "2026-10-19T19:36:42.386Z"}
In that test (10 marketing agencies in Denver, 4 pages per site) 9 of 10 websites answered, 7 of 10 businesses came back with a company e-mail, all 9 had at least one social page, and the run took about 30 seconds. A SUMMARY record in the key-value store lists places, websites read, e-mails found, personal addresses dropped, proxy used and errors.
Pricing
Pay per event, proxy included:
| Event | When it is charged |
|---|---|
place-result | every place saved to the dataset |
website-contacts | only places whose website answered at least one page and was read for contacts |
Duplicates, places outside the area, filtered places and websites that were down or blocked are not charged. With onlyWithEmail on, places without an e-mail are not saved and not charged at all. Set a maximum cost per run and the Actor stops cleanly when it is reached. See the Pricing tab for current prices; paid Apify plans get lower rates.
How it compares
- Google Maps scrapers "with contact details" in the Store: this Actor returns role mailboxes only, with personal addresses filtered out by default.
- Google Maps Places Scraper (ours): same listing data, no website crawl. Pick it when you only need the Maps data.
- Google Places API: no e-mails or social links, needs a billing account and a key.
- Limits: only what the business publishes on its own website is returned. Single-page JavaScript sites that render nothing without a browser, sites behind an anti-bot wall and sites whose "website" is a Facebook page come back with
websiteCrawlStatusexplaining why (blocked,social-profile…) and without the add-on charge. In the Denver test 1 site of 19 was blocked.
Privacy
The Actor is built for business data. E-mail addresses that look like a private person (first.last@, jsmith@, maria@) are detected and dropped by default (personalEmailsDropped tells you how many); only role and company mailboxes are kept. LinkedIn people profiles and Facebook personal profiles are never saved; reviews, reviewer names and owner accounts are not extracted. A listing named after a person (a doctor's practice, a lawyer) is still a business on Google Maps, but its personal mailboxes are filtered like any other. If you have a lawful basis to keep every address, set excludePersonalEmails: false. Comply with GDPR, CCPA, Chile's Ley 21.719 and anti-spam rules (CAN-SPAM, PECR) in how you contact the businesses.
Integrations
Run it from the Apify API, the JavaScript or Python client, or on a schedule in Apify Console. Send results to n8n, Make, Zapier, Google Sheets, Airtable, HubSpot or any webhook. AI agents (Claude, ChatGPT, Cursor and other MCP clients) can discover and run it through the Apify MCP server.
FAQ
Is it legal to extract e-mails from Google Maps and websites? The Actor reads public listings and public web pages, keeps company contact data and filters out personal addresses by default. Whether you may e-mail a business depends on your country's marketing laws; this is not legal advice.
Do I need a proxy? No setup needed. Apify datacenter proxy is used by default for Google and for the websites; Google requests switch to residential automatically if Google blocks the datacenter IPs. Websites always use the datacenter proxy: a blocked site is reported, not retried on expensive bandwidth.
Why is emails empty for a business with a website? The site publishes no address (contact form only — check hasContactForm), hides it behind JavaScript, or every address looked personal (personalEmailsDropped > 0). Raising maxPagesPerWebsite helps on big sites.
How many pages does it read per site? The home page plus up to maxPagesPerWebsite - 1 pages whose link looks like contact, about, imprint/legal, location or support, in 15+ languages. 3–5 pages find most e-mails.
Can it return reviews or owner names? No. See Privacy.
How many places can one run return? The same as the places scraper: the area is split into tiles until Google shows nothing new, so a big city gives thousands of places per category. Each one adds a website crawl, so plan the run time accordingly (about 6 websites are read in parallel).
Changelog
- 2026-10-19 — First version: Google Maps search with deep area scan, website crawl (home + contact-looking pages), company e-mails with personal-address filter, phones, WhatsApp, six social networks, contact form and platform detection,
onlyWithEmailmode, two pay-per-event prices.
En español
Google Maps Email Extractor busca negocios en Google Maps y completa cada ficha con los datos de contacto que la empresa publica en su propio sitio web: correos genéricos de la empresa (info@, contacto@, ventas@…), teléfonos y WhatsApp, páginas de Facebook, Instagram, LinkedIn, X, YouTube y TikTok, si tiene formulario de contacto y con qué plataforma está hecho el sitio. Sirve para armar listas B2B por rubro y ciudad ("clínica dental en Las Condes", "ferretería en Montevideo"), enriquecer un CRM o detectar negocios con sitio débil. Por defecto descarta los correos que parecen de una persona natural (nombre.apellido@, jperez@) y nunca guarda perfiles personales de LinkedIn ni reseñas, en línea con la Ley 21.719 y el RGPD. Se cobra por cada lugar guardado y por cada sitio web leído con éxito. Consulta la pestaña Pricing para ver los precios actuales; los planes de pago de Apify tienen tarifas más bajas. Si solo necesitas los datos de Google Maps sin correos, usa nuestro Google Maps Places Scraper.