Google Maps Email Extractor | Business Email List | $1 / 1K avatar

Google Maps Email Extractor | Business Email List | $1 / 1K

Pricing

from $0.35 / 1,000 lead scrapeds

Go to Apify Store
Google Maps Email Extractor | Business Email List | $1 / 1K

Google Maps Email Extractor | Business Email List | $1 / 1K

Build a business email list from Google Maps: local business leads with name, category, address, phone, website, rating, plus emails (with source page), extra phones and LinkedIn/Facebook/Instagram/X/YouTube/TikTok. One flat CRM-ready row. $0.50/1K leads + $0.50/1K emails.

Pricing

from $0.35 / 1,000 lead scrapeds

Rating

0.0

(0)

Developer

Hriday Rungta

Hriday Rungta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Build a business email list from Google Maps in one run. Type a business type and a place ("dentist" + "Austin, TX"), and get local business leads ready for a CRM: name, category, address, phone, website, rating and review count from Google Maps, plus the emails, extra phone numbers and social profiles (LinkedIn, Facebook, Instagram, X, YouTube, TikTok) found on each business's own website. One flat row per business, CSV and Excel friendly.

$0.50 per 1,000 leads + $0.50 per 1,000 emails found (so at most $1 per 1,000 leads with an email), plus a $0.003 start fee per run. No login, no API key, no browser.

What you can use it for

  • Business email list for outreach: every roofer, dentist, agency or restaurant in a city with its email, phone and website, ready to import into HubSpot, Pipedrive, Salesforce, Instantly, Lemlist or a Google Sheet.
  • Local business leads by city, state or country: build a USA, UK, Canada or Australia business email list one category and location at a time, or cover a whole metro area with a radius.
  • Lead generation tool for agencies and freelancers: find businesses to pitch (web design, SEO, ads, bookkeeping) with ratings and review counts to qualify them, and "Only leads with an email" to skip the ones you cannot reach.
  • Small business email list with source pages: every email comes with the page it was found on, so you can check it before you send.
  • Social profiles for multichannel outreach: the company LinkedIn page, Facebook, Instagram, X, YouTube and TikTok links in their own columns.
  • Google Maps leads for cold calling: the Google Maps phone in local and E.164 format, plus extra numbers found on the website.
  • Market lists for sales territories: count and list businesses per category and city with real addresses and coordinates.
  • Automated lead pipelines: schedule it weekly and push new leads to a CRM through Make, n8n, Zapier or the Apify API.

Which of our Google Maps Actors should you use?

You have / you needUse
A business type and a location, and you want leads with emails in one flat listThis Actor
Only Google Maps data (no emails), or extra fields like opening hours and descriptions, at the lowest priceGoogle Maps Places Scraper ($0.30 per 1,000 places)
A list of websites or domains you already have, and you want their emails, phones and socialsContact Info Scraper

This Actor runs the same Google Maps engine as the Places Scraper and the same website crawler as the Contact Info Scraper, joined into one lead-generation run with lead-friendly defaults: website enrichment always on, one row per company, the best email picked for you, flat columns only.

What you get for every lead

ColumnWhat it is
name, category, categoriesBusiness name and Google Maps categories
emailBest email for outreach: the business's own domain first, role inboxes (info@, contact@, hello@) before personal ones, no-reply and privacy addresses last
emailTypebusiness-domain, free-provider (gmail, outlook...) or other-domain (a parent company or booking provider)
emailFoundOnThe web page where that email was found
allEmails, allEmailsFoundOnUp to 10 emails from the website and the page each one came from, separated by ;
phone, phoneE164Phone from Google Maps, local and international format
websitePhonesUp to 5 other numbers found on the website (E.164)
website, domainWebsite listed on Google Maps
linkedin, facebook, instagram, twitter, youtube, tiktokSocial profiles linked from the website (company LinkedIn page preferred)
address, street, city, postalCode, state, countryCodeAddress parts
rating, reviewsCountGoogle star rating and number of reviews
mapsUrl, placeId, latitude, longitudeGoogle Maps link, stable place ID and coordinates
enrichmentStatusemail-found, no-email-found, website-unreachable, no-website, website-is-social-profile, directory-link
pagesCrawled, searchTerm, searchLocation, scrapedAtHow the lead was found

No arrays and no nested objects, so a CSV or Excel export has exactly these columns. A RUN_SUMMARY record in the run's key-value store lists every search with its lead count, plus duplicates and skipped websites.

How to build a lead list from Google Maps

  1. Type one or more business types (dentist, roofing contractor, marketing agency).
  2. Add locations (Austin, TX, USA / Manchester, UK / Bavaria, Germany). Every business type is searched in every location.
  3. Set Max leads in total. For more than one Google Maps window (about 230 places) per search, set a radius in km.
  4. Optional: Only leads with an email, Only businesses with a website, minimum rating or reviews, category filter, and how many website pages to check.
  5. Click Start, then export as CSV, Excel or JSON, or read the dataset from the API.

Input

FieldDefaultWhat it does
searchTermsBusiness types or keywords, one per line
locationsCities, regions, states or countries
maxLeads200Cost cap for the run
maxLeadsPerSearch200Cap per business type + location pair
onlyWithEmailfalseWrite only leads whose website shows an email; leads without one are free
onlyWithWebsitefalseSkip businesses with no website
onlyWithPhonefalseSkip businesses with no phone
dedupeByDomaintrueOne row per website, so chains and franchises do not repeat the same email
maxPagesPerWebsite4Enrichment depth: homepage plus contact, about, team and imprint pages (1-6)
radiusKm0Cover a whole area around the location with many map windows
latitude, longitudeCustom centre instead of a text location
startUrlsGoogle Maps search URLs
minRating, minReviews, categoryFilterFree filters
language, countryCodeen, usGoogle Maps language and region

Example input

{
"searchTerms": ["roofing contractor"],
"locations": ["Denver, CO, USA"],
"maxLeads": 100,
"onlyWithEmail": true,
"minRating": 4
}

Example output (real row from a test run, 2026-10-21)

{
"name": "High 5 Plumbing, Heating, Cooling & Electric",
"category": "Plumber",
"categories": "Plumber, Air conditioning contractor, Air conditioning repair service, Drainage service, Electrician, Furnace repair service, Heating contractor, Hot water system supplier, HVAC contractor, Water softening equipment supplier",
"email": "office@high5plumbing.com",
"emailType": "business-domain",
"emailFoundOn": "https://high5plumbing.com/denver/",
"allEmails": "office@high5plumbing.com",
"allEmailsFoundOn": "https://high5plumbing.com/denver/",
"phone": "(720) 340-3843",
"phoneE164": "+17203403843",
"websitePhones": "+17207299224",
"website": "https://high5plumbing.com/denver/",
"domain": "high5plumbing.com",
"linkedin": "https://linkedin.com/company/high-5-plumbing",
"facebook": "https://facebook.com/high5plumbing",
"instagram": "https://instagram.com/high5homefix",
"twitter": "https://twitter.com/high5plumbing",
"youtube": "https://youtube.com/channel/UCFbsjp03uvVcec3-JPAMVSQ",
"tiktok": "https://tiktok.com/@high5plumbing",
"address": "800 E 73rd Ave Unit 2, Denver, CO 80229",
"street": "800 E 73rd Ave Unit 2",
"city": "Denver",
"postalCode": "80229",
"state": "Colorado",
"countryCode": "US",
"rating": 4.7,
"reviewsCount": 2908,
"mapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJyetJ-np3bIcR36oneVBL_nc",
"placeId": "ChIJyetJ-np3bIcR36oneVBL_nc",
"latitude": 39.828617799999996,
"longitude": -104.9774848,
"enrichmentStatus": "email-found",
"pagesCrawled": 3,
"searchTerm": "plumber",
"searchLocation": "Denver, CO, USA",
"scrapedAt": "2026-10-21T13:07:17.581Z"
}

How many leads have an email?

Measured on our test runs on 2026-10-21 (299 leads: dentists and coffee shops in Austin, plumbers, agencies and restaurants in Denver and Manchester, dentists in Munich, pizza in Leeds, yoga studios in Brooklyn): 68% of all leads and 74% of leads with a website had at least one email, and 77% had at least one social profile. It varies by niche (share of websites with an email): restaurants and some US trades publish fewer (Denver restaurants 53%, Colorado roofers 54%, Austin dentists 60%), agencies, UK trades and German businesses with their legal imprint pages more (Manchester agencies 93%, Manchester plumbers 92%, Munich dentists 95%). Businesses that only offer a contact form, or load their contact details with JavaScript, have no email in the output.

Pricing

Pay per event, no subscription:

EventPrice
Actor started (once per run)$0.003
Lead scraped (every row written)$0.0005 ($0.50 per 1,000)
Email found (rows with at least one email)$0.0005 ($0.50 per 1,000)

Worked examples:

RunCost
100 leads, 70 with an email$0.003 + 100 x $0.0005 + 70 x $0.0005 = $0.088
1,000 leads, 680 with an email$0.003 + $0.50 + $0.34 = $0.843
1,000 leads with "Only leads with an email" on$0.003 + $0.50 + $0.50 = $1.003
A search that finds nothing$0.003

Never charged: places removed by your filters, duplicates (same place or, by default, same website), and leads without an email when "Only leads with an email" is on. Set a maximum cost per run in the Apify run options and the Actor stops at your limit, never writing a row it cannot charge for.

Tips

  • More than ~230 businesses for one search? Set radiusKm (10 to 15 for a city). The Actor geocodes your location, tiles the area with map windows and de-duplicates.
  • A whole state or country: list several cities in locations rather than one big region: "roofer in Colorado" returns one window of about 230 businesses, ten cities return ten.
  • Only want reachable leads? Turn on "Only leads with an email". The run looks at about twice as many places and stops early with a clear message if a niche publishes almost no emails.
  • Chains: with "One lead per website" on (default), 20 locations of the same franchise become one row. Turn it off when every branch is a separate client for you.
  • Verify before you send: emails are taken from public websites and can be outdated. Run the list through an email validator before a cold campaign (see Related Actors).

Integrations and scheduling

  • CRM and spreadsheets: export CSV or Excel, or use the Apify integrations for Google Sheets, HubSpot and others.
  • Make, n8n and Zapier: start the Actor from a workflow and read the dataset when the run finishes. Typical flow: new leads, then verify emails, then add to an outreach sequence.
  • Webhooks and API: call the Actor over the Apify REST API or the JavaScript and Python clients, and get a webhook when the run succeeds.
  • Apify Schedules: run the same lead search weekly to catch new businesses. De-duplication works inside one run, so compare new and old datasets by placeId (or domain) to keep only new leads.
  • Tasks: save a search (business type, city, filters) as an Apify Task and re-run it with one click.

FAQ

Is this a bought email list?

No. Every lead is built live when you run it: the business comes from Google Maps and the emails from that business's own public website, with the page each email was found on. Nothing comes from a stale database.

Does Google Maps show emails?

No. Google Maps lists name, phone and website but not emails. That is why this Actor visits each business's website (homepage plus contact, about, team and imprint pages) and collects the emails published there.

Why does a lead have no email?

The website has no public email (contact form only), loads its contact details with JavaScript, was unreachable, or the business has no website at all. enrichmentStatus tells you which. Leads without email cost $0.0005 and never pay the email fee.

What does emailType "other-domain" mean?

The email is on a different domain than the website, typically a parent company, a hotel or restaurant group, or a booking provider. Usually still a valid contact; filter it out if you only want same-domain addresses.

How is this different from a person-lookup email finder?

It finds the emails a business publishes on its own website (info@, office@, sometimes named staff). It does not guess or look up personal addresses of employees.

How fast is it?

About 1 to 1.5 leads per second including the website check (90 leads in about 70 seconds, 150 leads in about 100 seconds in our tests). The Google Maps part alone takes a few seconds per search.

What are alternatives?

Google Maps Email Extractor by Lukas Krivka and Google Maps Scraper by Compass with contact enrichment are the most-used options on the Store, with more detail fields (reviews, images, opening hours, popular times). Pick them when you need those extras. Pick this Actor when you want a flat, CRM-ready lead list with emails at a lower price per lead.

It only reads public Google Maps listings and public business websites, without logging in or bypassing access controls. Business contact data can still be personal data (a sole trader's email, for example), and Google's terms restrict automated access. You are responsible for how you use the list: follow data protection law (GDPR, CCPA) and anti-spam rules (CAN-SPAM, PECR), give an opt-out, and only contact businesses where you have a legitimate reason. This is not legal advice.

Limits

  • Results follow Google Maps ranking and fuzzy matching: "dentist" can include dental labs, and a made-up location is matched to whatever Google thinks you meant. Use the category filter to narrow it.
  • Coverage is best effort. Google returns about 230 places per map window; area mode covers much more but cannot guarantee every business.
  • No browser: sites that render contact details with JavaScript or only have a contact form return no email.
  • No reviews, photos, opening hours or popular times (use the Places Scraper for hours, a reviews scraper for reviews).
  • Emails are not verified. They are what the website shows today.
ActorWhat it does
Google Maps Places ScraperGoogle Maps listings only (with opening hours) at $0.30 per 1,000, optional enrichment
Contact Info ScraperEmails, phones and socials from a list of websites you already have
Easy Bulk Email ValidatorCheck which emails are deliverable before a campaign
Google Maps Scraper (Compass)The most-used Google Maps scraper, with reviews, images and detail fields
Google Maps Reviews ScraperReview text and ratings for places