Google Maps Email Scraper - Pay Only Per Email Delivered
Pricing
from $10.00 / 1,000 business email delivereds
Google Maps Email Scraper - Pay Only Per Email Delivered
Find business emails from Google Maps by category and location. Every row is a full listing: email, phone, address, opening hours, categories, rating and coordinates. The email matches the business own website domain and is mail-domain checked. Businesses that yield no email are never charged.
Pricing
from $10.00 / 1,000 business email delivereds
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Google Maps email scraper: business emails by category and location
Search Google Maps the way you already do, by business type and place, and get back the email addresses. Every address is checked against the business's own website domain before it reaches you.
$10.00 per 1,000 emails delivered. Businesses that yield no email are never charged.
Why this scraper?
- ๐ง You pay per email, not per business. Most Maps scrapers bill you for every place they crawl, whether or not it produces a contact. Here a business that yields nothing is free.
- ๐ฏ The address belongs to the business. An email only ships if its domain matches the company's own website. No corporate head-office address glued onto a local franchise.
- โ We check the mail domain. Each address carries a status showing whether its domain can receive mail at all.
- ๐ We show our work. Every row includes the exact page the address was read from, so you can check it yourself in one click.
- ๐ซ No duplicates. Each business and each address appears once, across every query in the run.
- ๐ The whole listing comes along. Phone, address, categories, opening hours, neighborhood, rating, coordinates and timezone, not just an email.
- ๐ Works in 26 countries, verified in 11 across six continents. Results, categories and opening hours come back in the local language.
What you get
One row per business that produced a usable email:
{"email": "info@austindentalworks.com","emailMxStatus": "mx","emailIsRoleAccount": true,"emailSourceUrl": "https://www.austindentalworks.com/","name": "Austin Dental Works","phone": "(512) 877-9822","phoneUnformatted": "+15128779822","website": "https://www.austindentalworks.com/","address": "4601 N Lamar Blvd #503, Austin, TX 78751","fullAddress": "Austin Dental Works, 4601 N Lamar Blvd #503, Austin, TX 78751","neighborhood": "Rosedale","countryCode": "US","timezone": "America/Chicago","categories": ["Dentist", "Cosmetic dentist", "Dental clinic"],"description": null,"openingHours": [{ "day": "Monday", "hours": "8 AMโ5 PM" },{ "day": "Saturday", "hours": "Closed" }],"rating": 4.9,"latitude": 30.3150192,"longitude": -97.7355807,"websiteDomain": "austindentalworks.com","additionalEmails": [],"placeId": "0x8644ca638c284765:0x76576315d12cc3cd","googlePlaceId": "ChIJZUcojGPKRIYRzcMs0RVjV3Y","searchString": "dentist in Austin TX","scrapedAt": "2026-08-04T14:38:22.096Z"}
You get the full business listing, not just the address. openingHours and categories come back in
the language you searched in, so a German search returns Dienstag and Zahnarzt. googlePlaceId is
the canonical ChIJ... identifier, which is the one other Google tools expect.
description is Google's own short blurb, for example "Gastropub with focus on pork". Google only
writes these for some kinds of business: hotels and restaurants usually have one, dentists and
plumbers almost never do, and Google sometimes leaves it out of a response entirely. Treat null as
"not provided this time" rather than "this business has none".
When a site exposes several addresses, the most personal-looking one becomes email and the rest ride along in additionalEmails, free:
{"email": "emma@tyacklaw.com","emailIsRoleAccount": false,"additionalEmails": [{ "email": "laura@tyacklaw.com", "mxStatus": "mx", "isRoleAccount": false, "sourceUrl": "https://tyacklaw.com/contact/" },{ "email": "info@tyacklaw.com", "mxStatus": "mx", "isRoleAccount": true, "sourceUrl": "https://tyacklaw.com/contact/" }]}
Understanding the email quality fields
| field | what it means |
|---|---|
emailMxStatus | mx means the domain publishes a mail record and is set up to receive email. a-only means it has no mail record but still resolves, so mail may still be accepted. |
emailIsRoleAccount | true for shared addresses like info@, contact@ and sales@. Roughly half of business emails on the web are these. Perfectly usable for business outreach, but now you know which is which. |
emailSourceUrl | The page the address was read from. |
websiteDomain | The email's domain, always matching the business website. |
On the word "verified": we do not use it. Checking a domain is not the same as proving a specific mailbox exists, and we will not claim otherwise. What you get is an address published on the company's own site, on the company's own domain, whose domain can receive mail. If you need mailbox-level proof, run the output through a dedicated validation service.
Getting started
- Enter one or more searches, like
dentist in Austin TXorplumber in Phoenix AZ. - Set how many emails you want.
- Run it and export to JSON, CSV, or Excel.
{"searchStrings": ["dentist in Austin TX", "plumber in Phoenix AZ"],"maxResults": 80,"deepCrawl": true,"requireMailDomain": true,"excludeRoleAccounts": false,"countryCode": "us","languageCode": "en"}
Input options
| option | what it does |
|---|---|
searchStrings | Your queries, one per line. Narrow beats broad: italian restaurant in Brooklyn returns better matched businesses than restaurant in New York. |
maxResults | How many emails you want. This counts delivered emails, not businesses visited. |
maxPlacesCrawled | Safety ceiling on businesses visited, so a low yield search cannot run on forever. Defaults to ten times your email target. |
deepCrawl | Also reads the contact and about pages a site links to, not just the homepage. Finds noticeably more emails. On by default. |
requireMailDomain | Only deliver addresses whose domain can receive mail. On by default. |
excludeRoleAccounts | Drop info@ style addresses. Off by default, because turning it on cuts your results roughly in half. |
countryCode, languageCode | Which country and language to search. |
Use cases
- Local agency prospecting. Pull every dentist, plumber, or law firm in a metro with a contactable address attached.
- Cold outreach lists. Feed straight into your sequencer, with the role-account flag letting you write differently to
info@than to a named person. - Territory research. Category plus rating plus coordinates tells you where the good operators cluster before you commit to a market.
- CRM enrichment.
phoneUnformattedis already in the format your CRM wants.
How many emails will I actually get?
Not every business has a website, and not every website publishes an address. In measured runs across US metros, roughly 3 to 4 businesses are visited per email delivered, and yield lands between 25 and 39 emails per 100 businesses.
Category matters more than anything else here. Law firms and dentists sit at the top of that range because professional services publish contact details openly. Restaurants, gyms and coffee shops sit lower, since many route everything through social media instead. Treat the low end as your planning number for a category you have not tried before.
You are only charged for what arrives, so a low yield category costs you less, not more.
How much does this cost?
$10.00 per 1,000 emails delivered, plus $0.005 per run start.
- Apify's $5 free plan credit gets you about 500 emails.
- The $29 Starter plan gets you about 2,900 emails.
There is no charge for businesses visited that produce nothing, no charge for pages read, and no separate fee for the mail-domain check.
Limitations
- Only businesses with a website can produce an email. About 80% of places have one. The rest are skipped, and never billed.
- Search depth is limited by Google. A single query returns a few hundred businesses, not thousands. To go deeper, split by neighbourhood, suburb, or a narrower category rather than raising the limit on one broad query.
- Role addresses are common. Around half of what you get will be
info@or similar. UseexcludeRoleAccountsif you only want named people, and expect a much smaller list. - We do not test individual mailboxes. See the note above on the word "verified".
- Yield is measured most thoroughly in the United States. Eleven countries were tested end to end across six continents and all returned local results, but the hit rate varies by market and by how openly businesses there publish contact details. Treat non-US volumes as less predictable than US ones.
FAQ
Is it legal to scrape Google Maps?
Scraping publicly available data is generally legal. Business contact details published openly on a company's own website are about as public as data gets. You are still responsible for how you use it: check the marketing and privacy rules that apply where you and your recipients are, including GDPR in Europe and CAN-SPAM in the US.
Can I use this as an API?
Yes. Run it through the Apify API from any language, or use the apify-client packages for Node.js and Python. Schedule it, chain it, or trigger it from a webhook.
Can I integrate it with my other tools?
Yes. It connects to Zapier, Make, Slack, Google Sheets, Airbyte, GitHub, and most other services through Apify integrations, plus webhooks for run events.
Why did I get fewer emails than I asked for?
Because a search ran out of businesses before it ran out of budget. The run's status message always says which happened, and how many businesses were visited. Try a broader area or extra queries.
Your feedback
Found a bug, or want a field that is not here? Open an issue at the Actor's Issues tab. Feature requests get read by a human.