Google Maps Leads Scraper avatar

Google Maps Leads Scraper

Pricing

from $6.00 / 1,000 leads

Go to Apify Store
Google Maps Leads Scraper

Google Maps Leads Scraper

Scrape business leads from Google Maps in one run every published email, every phone number, named staff, address, category, rating, reviews, opening hours, coordinates and six social networks. One row per business, no add-ons.

Pricing

from $6.00 / 1,000 leads

Rating

0.0

(0)

Developer

wallace

wallace

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Google Maps Leads Scraper — Emails, Phones & Contacts

Extract complete business leads from Google Maps — email addresses, every phone number, staff names, address, category, rating, reviews, opening hours, coordinates and social profiles — without writing a single line of code. Works for any industry, in any city, worldwide.

Search the way you would in Maps yourself: dental clinic, Berlin · marketing agency, Austin · law firm, Manchester.

What does Google Maps Leads Scraper do?

Google Maps Leads Scraper searches Google Maps for businesses matching your industry and location, then visits each company's website to collect its contact details and staff.

It outputs one row per business, containing everything a Maps listing offers plus the email addresses and people published on the company's own site. No second run, no separate enrichment step.

Run it on Apify's infrastructure with automatic proxy rotation, scheduling, API access, and integrations to Google Sheets, Airtable, Make, Zapier, and hundreds of other tools.

Why use Google Maps Leads Scraper?

  • Cold email outreach — every address a business publishes, in one column
  • Sales prospecting — build territory lists by industry and city, with the staff to contact
  • Agency lead generation — find local businesses that have no website, or no booking system
  • Cold calling — every phone number a business lists, not just the one on Maps
  • Market research — categories, ratings, review counts and opening hours across a whole city
  • CRM enrichment — attach emails, phones, socials and coordinates to your company records
  • Territory mapping — GPS coordinates and Plus Codes for mapping or route planning

How to use Google Maps Leads Scraper

  1. Open this Actor and click Try for free
  2. Enter an industrydental clinic, marketing agency, plumber, law firm
  3. Add locations — one or more cities, regions or countries, e.g. Austin, Texas and Lyon, France
  4. Set how many businesses to pull per location — start with 20 to see the results before scaling up
  5. Optionally filter — keep only businesses with an email address, or only those with named staff
  6. Click Start and watch results appear in the Output tab
  7. Download as JSON, CSV, Excel or HTML — or pull them through the API

There is nothing else to configure. Everything the scraper needs to tune itself — how many pages to crawl, how much to run in parallel — it works out from the run.

Input

FieldTypeDefaultDescription
Industry / business typestringdental clinicWhat kind of business to find
Locationsstring listBerlin, GermanyCities, regions or countries. One search runs per entry
Max businesses per locationinteger40How many Google Maps results to pull per location
Only businesses with an email addressbooleanfalseDrops businesses that publish no email
Only businesses with named contactsbooleanfalseDrops businesses where no staff names were found
ProxyproxyApify ResidentialRequired. Google Maps blocks datacenter and unproxied traffic

Example input:

{
"industry": "marketing agency",
"locations": ["Austin, Texas"],
"maxBusinesses": 20,
"requireEmail": false,
"requireContacts": false
}

Output

One row per business. Results appear in the Output tab and download in JSON, CSV, Excel or HTML.

{
"companyName": "Winning Smiles - Buffalo",
"category": "Dentist",
"businessStatus": "operational",
"emails": "info@winningsmilespd.com; office@winningsmilespd.com",
"emailCount": 2,
"phones": "7163513293; +17163322444; 7169954456",
"contacts": "Cody Wiktorski; Kathleen Rusnak; Edwin Jauch",
"contactCount": 3,
"website": "https://winningsmilespd.com/buffalo",
"domain": "winningsmilespd.com",
"hasWebsite": true,
"bookingLink": "https://app.nexhealth.com/appt/winning-smiles",
"address": "205 Linwood Ave, Buffalo, NY 14209, United States",
"city": "Buffalo",
"region": "NY",
"country": "United States",
"latitude": 42.9079029,
"longitude": -78.8687661,
"plusCode": "W45J+5F Buffalo, New York, USA",
"rating": 4.7,
"reviewCount": 962,
"openingHours": [
"Monday, 8 AM to 5 PM",
"Tuesday, 8 AM to 5 PM",
"Saturday, Closed"
],
"socialMedia": {
"linkedin": "https://www.linkedin.com/company/winning-smiles",
"facebook": "https://www.facebook.com/winningsmiles",
"instagram": null,
"twitter": null,
"youtube": null,
"tiktok": null
},
"placeId": "0x89d313cf18c80b81:0x4b296e46ec7bcc6b",
"mapsUrl": "https://www.google.com/maps/place/..."
}

Data fields

FieldTypeDescription
companyNamestringBusiness name
categorystringGoogle Maps category, e.g. "Dentist"
businessStatusstringoperational, temporarily_closed or permanently_closed
emailsstringEmail addresses published on the website, ; separated
emailCountnumberHow many addresses were found
phonesstringEvery phone number found, ; separated
contactsstringNames of staff found on the website, ; separated
contactCountnumberHow many people were found
websitestringCompany website
domainstringWebsite domain
hasWebsitebooleanfalse when the listing has no website
bookingLinkstringAppointment or ordering link, e.g. NexHealth, Solutionreach, OpenTable
addressstringFull address
city / region / countrystringAddress components
latitude / longitudenumberGPS coordinates
plusCodestringGoogle Plus Code
ratingnumberStar rating, 1–5
reviewCountnumberNumber of Google reviews
openingHoursstring[]Opening hours, one entry per day
socialMediaobjectlinkedin, facebook, instagram, twitter, youtube, tiktok
placeIdstringGoogle's place identifier — use it to deduplicate across runs
mapsUrlstringLink to the Google Maps listing

How much does it cost to scrape Google Maps leads?

$6.00 per 1,000 leads. One price covering the Maps listing, the website crawl, emails, phones, staff and social profiles.

Every billed row includes at least one way to contact the business — an email address or a phone number. Listings with neither are not returned.

That price is the whole cost. This Actor is priced per event, so Apify compute and proxy usage are not billed to you on top of it. Apify's free tier includes $5 of platform credits per month, which covers roughly 830 leads.

Comparable Actors quote a lower headline by selling the parts separately — a Maps listing at one price, then contact enrichment, social profiles and lead extraction as extra charges per row. Here the emails, phone numbers, named staff and six social networks are in the $6.00.

To keep costs predictable, set Max businesses per location, search one city at a time, and use Only businesses with an email address when every row needs to be mailable.

Tips

  • Keep the residential proxy on — Google Maps blocks datacenter and unproxied traffic, and a run without it returns almost nothing
  • Coverage depends on the industry and country — independent practices and professional-services firms publish more contact detail than national franchises, and European sites more than North American ones
  • Filter on hasWebsite: false to find businesses with a Maps listing but no website — a strong lead for web design and SEO services
  • Filter on bookingLink to find businesses already using booking software, or its absence to find those who aren't
  • Search city by city for large runs — Google caps a single search at roughly 120 results, so several focused searches return far more than one broad one. For a large city, list its boroughs or neighbourhoods as separate locations rather than raising Max businesses per location
  • Give the run 8 GB to go roughly twice as fast — Apify allocates one CPU core per 4 GB, and the scraper sizes its own parallelism to the cores it has. Nothing to configure, but the memory setting is the lever
  • Deduplicate across runs on placeId — Google's own identifier for the listing, and a more reliable key than the name or website
  • Schedule weekly runs to keep a list current as businesses open, close and change details

FAQ, disclaimers, and support

Where do the email addresses come from? From each company's own website — contact, about and team pages. Google Maps does not publish email addresses, so no tool can take them from there.

Why do some businesses have no email? Some publish no address anywhere and use a contact form instead. Those rows still include phone numbers, staff names, socials and everything else. Use Only businesses with an email address if you need every row to be mailable.

Are the email addresses verified? Not currently — they are returned exactly as published. Email verification is planned as an optional add-on.

Does it work outside the United States? Yes. Company websites are read in over 20 languages, so team and contact pages are found on German, French, Spanish, Italian, Dutch, Polish and Turkish sites as well as English ones.

Some fields are empty — why? The business did not publish that detail. An empty field means the data was not available, not that the scraper failed.

The run returned very few results — what should I do? Check that Apify Proxy is enabled with the residential group. That is by far the most common cause.

Which industries and countries give the best results? Businesses that publish a team page give the most — agencies, law firms, clinics, consultancies and studios. Coverage also varies by country: European sites tend to publish more contact detail than North American ones, where a contact form is more common.

What happens if a run is interrupted? Click Resurrect and it continues from where it stopped, without repeating businesses it has already returned. Starting a new run instead begins from scratch.

Will I get the same business twice? No. Businesses are deduplicated by their Google place ID, so overlapping searches never return a listing twice. Separate branches of a chain are returned as separate rows, since they are separate locations.

Is scraping Google Maps legal? This Actor collects publicly available business information. Business contact details can still be personal data under the GDPR when they identify an individual, so you need a lawful basis for using them — legitimate interest is the usual basis for B2B outreach — and you must honour deletion requests. Please take your own legal advice for your jurisdiction and intended use.

Can you build a custom version? Yes — open a ticket on the Issues tab or get in touch for a version tailored to your industry, region or output format.