Google Maps Business with Emails Extractor avatar

Google Maps Business with Emails Extractor

Pricing

from $5.99 / 1,000 results

Go to Apify Store
Google Maps Business with Emails Extractor

Google Maps Business with Emails Extractor

Google Maps email extractor for lead generation. Get business emails from Google Maps listings with ratings, opening hours, phones, websites and social links. A Google Maps contact scraper that returns Google Maps emails for outreach lists.

Pricing

from $5.99 / 1,000 results

Rating

2.0

(6)

Developer

Goldmine

Goldmine

Maintained by Community

Actor stats

22

Bookmarked

745

Total users

3

Monthly active users

9 days ago

Last modified

Features

Limited permissions

Share

This Google Maps email extractor searches Google Maps for a type of business in a location, then visits each business's own website to collect the email addresses and social media profiles it publishes. Every row combines the Google Maps listing (name, category, rating, review count, address, phone, website, opening hours, booking link) with the Google Maps emails and social links found on the website. Sales teams use it to build outreach lists, agencies to find local clients, and researchers to map who operates in a market.

Type a business type and a location, for example "dentists" in "Manhattan, NY", and get back one row per business as JSON, CSV or Excel. No Google account, cookies or API key are needed.


🚀 Key Features

  • 🔎 Search by business type and location — the same search you would type into Google Maps, in any country
  • 📧 Business emails from Google Maps listings — the homepage and up to three contact, about or team pages of each business website are checked for email addresses, including addresses hidden by email protection scripts
  • 🔗 Social media profiles — Facebook, Instagram, X/Twitter, LinkedIn, YouTube, TikTok and Pinterest links from the business's own pages
  • 🧾 Full listing data — name, category, rating, review count, address, phone, website, opening hours per weekday, booking link and the Google Maps URL
  • 📑 Clear limits — maxResults caps how many businesses one run returns; a search with no matches ends with a message, not an empty success
  • 🛡️ No setup — no login, cookies or proxy settings to manage
  • 📤 Multiple export formats — JSON, CSV, Excel, XML via the Apify dataset
  • 🔁 Schedulable runs — re-run a search monthly to pick up new businesses in an area

👥 Who Is This Actor For?

  • Sales and business development teams — build lead lists of local businesses with an email to write to
  • Marketing agencies — find prospects by trade and city, with their social profiles for research
  • Recruiters and partnership managers — reach practices, clinics, shops or restaurants in a region
  • Market researchers — count and profile the businesses of one type in an area
  • 🤖 AI builders — feed an outreach agent or a CRM enrichment pipeline with contact data per business

💡 Common Use Cases

  • Export business emails from Google Maps for every dentist in a city
  • Build a cold-outreach list of plumbers, lawyers or restaurants in a region
  • Find the Instagram and Facebook pages of local businesses in one niche
  • Enrich a list of target areas with phone numbers, websites and opening hours
  • Compare ratings and review counts of competitors in a neighbourhood

📥 Input

FieldTypeDescriptionDefault
businessTypeStringType of business to search for, e.g. restaurants, lawyers, dentists.Required
locationStringLocation to search within, e.g. New York, NY or London, UK.Required
maxResultsIntegerMaximum number of businesses to return for this search (1–1000). Google Maps stops listing after a limited number of businesses per search, so for more results split a large area into smaller locations.6

One run is one search. To cover several business types or cities, start one run per search (for example from a schedule or the API).

Example Input

{
"businessType": "Dentists",
"location": "Manhattan, NY",
"maxResults": 6
}

📤 Output

Each dataset item is one business:

FieldTypeDescription
nameStringBusiness name as shown on Google Maps
categoryStringMain Google Maps category, e.g. Dentist
ratingNumberStar rating, 1–5
totalReviewsNumberNumber of Google reviews
addressStringStreet address
phoneStringPhone number as shown on Google Maps
websiteStringWebsite link from the listing
businessStatusStringOpening status at the time of the run, e.g. Open · Closes 6 PM
hoursObjectOpening hours per weekday: { "open", "close" }, "Closed" or "Open 24 hours"; null when the listing shows none
bookingLinksStringBooking or appointment link from the listing, or null
googleMapsUrlStringLink to the place on Google Maps
emailsArrayEmail addresses found on the business website, addresses on the business's own domain first
socialLinksObjectProfile links found on the website: facebook, instagram, twitter, linkedin, youtube, tiktok, pinterest (only those found)

When the listing's website is itself a social profile (for example a Facebook page), that link is returned under socialLinks and emails is empty.

Example Output

One item from a run of the example input on 2026-11-04:

{
"name": "209 NYC Dental",
"category": "Dentist",
"rating": 4.9,
"totalReviews": 1929,
"address": "209 E 56th St 1st floor, New York, NY 10022",
"phone": "(212) 355-2290",
"website": "https://www.209nycdental.com/?utm_source=google&utm_medium=organic&utm_campaign=gmb",
"businessStatus": "Closed · Opens 7:30 AM Wed",
"hours": {
"tuesday": { "open": "7:30 AM", "close": "6:30 PM" },
"wednesday": { "open": "7:30 AM", "close": "6:30 PM" },
"thursday": { "open": "7:30 AM", "close": "6:30 PM" },
"friday": { "open": "7:30 AM", "close": "5 PM" },
"saturday": { "open": "7:30 AM", "close": "3 PM" },
"sunday": { "open": "9 AM", "close": "3 PM" },
"monday": { "open": "7:30 AM", "close": "6:30 PM" }
},
"bookingLinks": "https://nyc.identalcloud.com/209NYCDental/Patient/_practice/1/Appointment",
"googleMapsUrl": "https://www.google.com/maps/place/209+NYC+Dental/data=!4m7!3m6!1s0x89c258e446e4e16f:0x278f5e2c13ac9a17!8m2!3d40.7594146!4d-73.9671025!16s%2Fg%2F1thqbs3j!19sChIJb-HkRuRYwokRF5qsEyxejyc?authuser=0&hl=en&g_ep=EgoyMDI2MTEwMS4wIJJjKgBIAVAD&rclk=1",
"emails": [
"info@209nycdental.com",
"emergency@209nycdental.com"
],
"socialLinks": {
"facebook": "https://www.facebook.com/209nycDentist",
"instagram": "https://www.instagram.com/209nycdental",
"linkedin": "https://www.linkedin.com/company/209-nyc-dental-llp",
"youtube": "https://www.youtube.com/channel/UCb906oasqFebISHXaSZloVw"
}
}

You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML from the Apify Console or via the Apify API.


💰 Pricing

This Actor is pay per event (you pay per result): $0.00799 per business, so 1,000 businesses cost $7.99, with lower per-result prices on higher Apify plans (down to $0.00599 per business). Each run also has a start fee of $0.005 per GB of memory, which is $0.02 at the default 4 GB. Apify platform usage is included, not billed on top. You pay for each business saved, whether or not its website lists an email; listings that fail to load, and places with no business details, are skipped and not charged. A free Apify account is enough to try it.


❓ FAQ

What is the Google Maps Email Extractor?

It is a Google Maps contact scraper: it runs a Google Maps search and adds the emails and social profiles each business publishes on its own website to the listing data.

How many businesses come back with an email?

That depends on how many businesses publish an address on their website. In test runs on 2026-11-04, 5 of 5 dentists in Manhattan, 12 of 15 plumbers in Austin and 5 of 5 restaurants in Berlin had at least one email. Businesses without a website, or whose website shows only a contact form, are returned without one.

Do I need an account, cookies or an API key?

No. The Actor reads public Google Maps listings and public business websites. It needs no Google account, no cookies and no API key.

Do I need a proxy?

No. There is no proxy setting to fill in; the Actor uses Apify Proxy for Google Maps on its own, and proxy traffic is included in the price.

How many results can I get per run?

Up to maxResults businesses for one search. Google Maps itself stops listing after a limited number of businesses per search, so for a whole city run several searches with smaller locations (neighbourhoods or postcodes).

What happens if my search finds nothing?

The run ends successfully with a status message saying Google Maps found no businesses for that search, and nothing is charged beyond the run start. If Google Maps opens a single place instead of a list, that one business is returned.

Is there a Google Maps API I could use instead?

Google's Places API needs a Google Cloud project with billing and an API key. It returns phone numbers and websites but no email addresses or social media profiles, which this Actor collects from each business's website.

Can I schedule it or integrate it with my app?

Yes — every Apify Actor exposes a REST API, webhooks, and integrations with Zapier, Make, Google Sheets and Slack, and can be called from an AI agent via the Apify MCP server. A monthly schedule per search picks up businesses that opened since the last run.

This Actor accesses only publicly available pages. You are responsible for making sure your use, including any email outreach, complies with Google's terms of service and the laws in your jurisdiction, such as anti-spam and data-protection rules.

What if the site changes and the Actor breaks?

Open an issue on the Actor's Issues tab and we will look at it.


🧩 Part of the Contact Data Suite

Actors that turn public listings and websites into contact data for outreach. Also try:

See every Goldmine Actor at apify.com/logical_scrapers.


📬 Contact & Support

  • Issues & feature requests: use the Issues tab on this Actor's page — it reaches us directly.
  • Email: coredev.dan@gmail.com
  • If this Actor saved you time, please leave a ⭐ rating on the Apify Store. It helps us keep it maintained.