Google Maps Email Extractor 💰$1.80/1K – Leads with Emails avatar

Google Maps Email Extractor 💰$1.80/1K – Leads with Emails

Pricing

from $0.50 / 1,000 places

Go to Apify Store
Google Maps Email Extractor 💰$1.80/1K – Leads with Emails

Google Maps Email Extractor 💰$1.80/1K – Leads with Emails

Get local business leads with emails from Google Maps: name, category, address, phone, website, rating plus the emails and social profiles found on each business website. Only places with an email if you want. $0.80 per 1,000 places + $1 per 1,000 with contacts.

Pricing

from $0.50 / 1,000 places

Rating

0.0

(0)

Developer

RT SOLUTIONS

RT SOLUTIONS

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Google Maps Email Extractor – local business leads with emails · $1.80 per 1,000 leads

Type a business category and a city — "plumber" in "Manchester, United Kingdom" — and get local businesses from Google Maps with the emails found on their own website: name, category, address, phone, website, Google rating and review count, opening hours, GPS, plus emails and Instagram, Facebook, LinkedIn, X, YouTube, TikTok profiles.

By default you get only the businesses that have an email. The others are dropped and not charged.

Real run — 5 November 2026

"plumber" in Manchester, United Kingdom, 60 places checked:

Places checked on Google Maps60
Leads with at least one email (returned and charged)33 (55 %)
Leads that also have an Instagram profile11
Places without email (dropped, free)27
Run time2 min 10 s
Cost33 × ($0.0008 + $0.001) = $0.06

First rows of that run:

BusinessEmailPhoneRating
AD Plumbing Heating and Electricalcontact@plumbingmanchester.co.uk+4475000023794.9
Kang Heating & Plumbing Ltdcontact@kangheatingplumbing.com+4474245235914.8
JB7 Plumbing and Heating Limitedqueries@jbplumbing.co.uk+4479284861134.8

Another test the same day: 30 dentists in Denver, Colorado → 24 with contacts (email or social profile), 11 with an email.

Pricing

EventFree planStarterScaleBusiness+
Place (business returned)$0.0008$0.0007$0.0006$0.0005
Contact details (email or social profile found)$0.001$0.001$0.001$0.001

With Only places with an email on, every lead costs $1.80 per 1,000 on the free plan and $1.50 on Business. Places dropped for having no email cost nothing.

Compared on 4 November 2026 (Apify Store, free plan): lukaskrivka/google-maps-with-contact-details $5 per 1,000 places + $2.50 per 1,000 contact details; leadsbrary/google-maps-email-extractor $3 per 1,000 results; x_guru/google-maps-email-extractor $3 per 1,000 leads; s-r/google-maps-contact-details $3.50 per 1,000 places + $2.80 per 1,000 enriched; kestrel/google-maps-scraper $4 per 1,000 places + $3 per 1,000 contacts.

Apify free plan

One free trial run (1 search, 50 places checked). After that, add your own DataForSEO login in the "Apify free plan" section (DataForSEO gives $1 of free credit at sign-up): the Google Maps data is then paid to DataForSEO and places are not charged here — only contact details ($1 per 1,000 leads), because the website visits run on this Actor. Paid Apify plans need no key and have no limit.

Input examples

{
"searchStringsArray": ["plumber"],
"locationQuery": "Manchester, United Kingdom",
"maxCrawledPlacesPerSearch": 100
}

Several categories, a whole city (deep search splits the map into tiles), only well-rated businesses:

{
"searchStringsArray": ["dentist", "orthodontist"],
"locationQuery": "Denver, Colorado",
"maxCrawledPlacesPerSearch": 500,
"deepSearch": 3,
"placeMinimumStars": 4
}

Every business with a website, email or not (phones and social profiles too):

{
"searchStringsArray": ["hair salon"],
"locationQuery": "Paris, France",
"language": "fr",
"onlyWithEmails": false
}

Input reference

FieldWhat it doesDefault
searchStringsArrayWhat you would type in Google Maps: "plumber", "italian restaurant"…—
locationQueryCity, region or country—
maxCrawledPlacesPerSearchPlaces checked per search (expect 35–55 % with an email)100
onlyWithEmailsReturn only businesses with an emailtrue
deepSearchSplit the area into a grid to get more than the ~150–200 places Google shows per search (3 = 3×3)0
languageLanguage of results (en, fr, de, es…)en
placeMinimumStarsMinimum Google rating0
categoryFilterWordsKeep only places whose category contains one of these words—
skipClosedPlacesSkip closed placesfalse
dataForSeoLogin / dataForSeoPasswordApify free plan only, after the trial—

Output

One row per business: title, categoryName, address, city, postalCode, countryCode, phone, website, totalScore, reviewsCount, openingHours, location (lat/lng), url (Google Maps link), emails, phones (from the website), facebooks, instagrams, linkedIns, twitters, youtubes, tiktoks, pinterests. Field names match the most used Google Maps scraper on Apify, so existing sheets and workflows keep working. Export to CSV, Excel, JSON or Google Sheets.

How the emails are found

For each business with a website, the Actor reads the home page and, when no email is there, the contact or about page. It reads mailto: links, plain-text and [at]-obfuscated addresses, and removes image file names, form placeholders, example and masked addresses. Each website is read once per run, even when several branches share it.

Use cases

  • Cold email to local businesses: a list of plumbers, dentists or salons with an email, ready for your outreach tool.
  • Agencies: find businesses with a low rating, few reviews or no Instagram, and pitch your service.
  • B2B sales: suppliers, wholesalers and service companies by city.
  • Market research: how many businesses of a type are in a city, and how they present themselves online.

Who this is not for

Integrations

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("rt-solutions/google-maps-email-extractor").call(run_input={
"searchStringsArray": ["plumber"], "locationQuery": "Manchester, United Kingdom", "maxCrawledPlacesPerSearch": 100,
})
for lead in client.dataset(run.default_dataset_id).iterate_items():
if lead.get("emails"):
print(lead["title"], lead["emails"][0], lead.get("phone"))

Also works from JavaScript, curl (run-sync-get-dataset-items), Make, n8n and Zapier through the Apify apps — e.g. new leads straight to Google Sheets or your CRM every week with a schedule.

🤖 For AI agents & LLM apps

Through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other MCP clients can call rt-solutions/google-maps-email-extractor. Example: "Find 50 dentists in Denver with an email address and a rating above 4." Minimal input: {"searchStringsArray": ["<category>"], "locationQuery": "<city>"}.

FAQ

How do I get emails from Google Maps? Google Maps does not show emails. This Actor takes each business's website from Google Maps and reads the email from that website.

How many emails will I get? In our tests, 37–55 % of local businesses with a website published an email (11 of 30 dentists in Denver, 33 of 60 plumbers in Manchester).

How much does it cost to get 1,000 leads with emails? $1.80 on the free plan, $1.50 on Business and above. Places without email are not charged.

Are the emails verified? They are taken from the business's own website, not guessed. The Actor does not send emails or test mailboxes.

Can I get more than 200 places for a city? Yes — use Deep search (e.g. 3 or 5) and raise the maximum.

Is it legal? It collects business contact details that businesses publish themselves. You must respect privacy and anti-spam laws (GDPR, PECR, CAN-SPAM, CASL) when contacting them.

Limits

  • Websites that load their email with JavaScript or show it as an image are not read.
  • Sites behind an anti-bot page are skipped.
  • On the Apify free plan: one trial run, then your DataForSEO login or a paid plan.

Your feedback

Missing a field or found a wrong email? Open an issue in the Issues tab — we answer fast and ship fixes. If the Actor saved you time, a short review helps others find it.