Google Maps Lead Scraper: Emails, Phones & Socials avatar

Google Maps Lead Scraper: Emails, Phones & Socials

Pricing

from $2.00 / 1,000 place scrapeds

Go to Apify Store
Google Maps Lead Scraper: Emails, Phones & Socials

Google Maps Lead Scraper: Emails, Phones & Socials

Extract emails, phones, social profiles, reviews, and photos from any business on Google Maps. Fast engine with deep email discovery beyond the homepage. Per-result billing - you only pay when an email, social, or review is actually delivered.

Pricing

from $2.00 / 1,000 place scrapeds

Rating

0.0

(0)

Developer

Sage

Sage

Maintained by Community

Actor stats

2

Bookmarked

59

Total users

7

Monthly active users

13 days ago

Last modified

Share

Google Maps Lead Scraper is a Google Maps email extractor and lead generation tool. It pulls business emails, phone numbers and social profiles from Google Maps at scale, without a Google Maps API key. Give it a search term and a location — dentist in Miami, FL — and it returns a clean, export-ready list of local businesses with the contact details you need for outreach.

It runs on pure HTTP with no browser, so runs are fast and cheap, and you are billed per result delivered rather than per hour of compute.

What data can you extract from Google Maps?

FieldNotes
Business nameAs listed on Google Maps
Category & categoriesPrimary category plus every secondary category Google assigns
EmailsFound on the business website — homepage, contact, about and team pages
PhoneFrom the Google listing
Extra phonesAdditional numbers found on the business website
WebsiteCleaned of UTM tracking parameters
Social profilesFacebook, Instagram, LinkedIn, X (Twitter), YouTube, TikTok, Pinterest
AddressFull formatted address
CoordinatesLatitude and longitude
Star ratingThe rating shown on the listing
Review countTotal number of reviews
Opening hoursPer-day open and close times, where Google publishes them
Price level$ to $$$$, where Google shows one
ReviewsReview text, star rating, author, profile link and publish date (optional add-on)
PhotosPhoto URLs from the listing (optional add-on)
Status flagsPermanently closed, temporarily closed
Google Maps URL & Place IDDeep link plus Google's unique place identifier
Run metadataWhich search query and location produced each row, and when

How to extract emails from Google Maps

  1. Enter search queries. Business types such as dentist, plumber, coffee shop, real estate agent.
  2. Enter locations. Cities, regions or countries: Miami, FL, London, UK, Tokyo, Japan. Every query runs against every location, so three queries across two locations is six searches.
  3. (Optional) Paste Google Maps URLs instead of typing a query. Search URLs and place URLs both work, and any /@lat,lng,zoom coordinates in the URL are used as the search area.
  4. (Optional) Set filters. Only businesses with a website, only those that yielded an email, a minimum star rating, specific categories, or skip permanently closed places.
  5. (Optional) Turn on add-ons. Set Max Reviews Per Place to pull recent reviews (sorted by most relevant, newest, highest or lowest rating), and Max Photos Per Place for photo URLs. Both are off by default and billed per item delivered.
  6. Click Start. Results stream into the dataset as each business finishes, so you can watch leads land instead of waiting for the whole run.
  7. Export. CSV, Excel, JSON, or straight into Google Sheets.

Getting a higher email hit rate

Keep Deep Email Search on. Many businesses publish an email only on their contact or about page, never the homepage. Pair it with Website Availability → Only with website: a business with no website has no page to extract an email from, so filtering those out first spends your budget where it can actually pay off.

Be specific with locations. plumber in Brooklyn, NY returns a denser, more useful list than plumber in New York, and splitting a metro area into neighbourhoods or ZIP codes covers far more ground than one broad search.

How much does it cost to scrape Google Maps?

You pay per event delivered, not for run time. On the Free tier:

EventPriceWhen you are charged
Place scraped$0.0035Per business delivered to the dataset
Email found$0.0048Per business where at least one email was found
Social profile found$0.0009Per business where at least one social profile was found
Review scraped$0.00049Per review delivered, only when reviews are enabled
Photo scraped$0.00049Per photo URL, only when photos are enabled
Actor start$0.00005Per GB of memory, once per run

Prices drop on higher Apify plans.

A realistic 1,000-place run. At a typical 25% email hit rate and 30% social hit rate, with reviews and photos off:

  • 1,000 places × $0.0035 = $3.50
  • 250 emails × $0.0048 = $1.20
  • 300 socials × $0.0009 = $0.27

Total ≈ $4.97 for 1,000 businesses, around half a cent per lead. You are never charged for a business where no email was found, so a low-yield niche costs less rather than more.

The 25% figure is not pessimism — most Google Maps listings have no email on them at all, and the address has to be found on the linked website instead. Industry write-ups generally put the achievable rate at 15–25%; runs during testing landed between 22% and 28% depending on the niche. Dense professional categories such as dentists and law firms do considerably better than retail.

To cap spending on a run, set Maximum cost per run in the Apify UI. The scraper checks the remaining budget before delivering each batch and stops cleanly when it runs out, so it never overshoots the limit you set.

Input example

{
"searchQueries": ["dentist", "orthodontist"],
"locations": ["Los Angeles, CA", "San Francisco, CA"],
"country": "us",
"maxResultsPerSearch": 200,
"onlyWithEmails": true,
"onlyWithWebsite": "withWebsite",
"deepSearch": true,
"maxPagesPerSite": 3
}

This pulls dentists and orthodontists across two California cities, keeps only businesses that have a website and yielded at least one email, and scans up to three pages per site.

Output example

{
"name": "Pitt Street Dental Centre",
"category": "Dentist",
"categories": ["Dentist", "Cosmetic dentist", "Orthodontist"],
"rating": 4.9,
"reviewCount": 549,
"address": "Pitt Street, Sydney, NSW, AU, 2000",
"phone": "+61-2-92334399",
"emails": ["info@pittstdentalcentre.com.au"],
"emailCount": 1,
"website": "https://pittstdentalcentre.com.au/",
"facebook": "https://www.facebook.com/PittStDentalCentre",
"instagram": "https://www.instagram.com/pittstdentalcentre",
"latitude": -33.8661351,
"longitude": 151.208973,
"openingHours": [{ "day": "Monday", "hours": "08:00-17:00" }],
"googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:...",
"placeId": "/g/11c1b5_example",
"searchQuery": "dentist",
"searchLocation": "Sydney, Australia",
"scrapedAt": "2026-09-12T13:35:59.000Z"
}

Filtering and targeting options

  • Only with emails — drop every business that did not yield an email, so the export is outreach-ready.
  • Website availability — only businesses with a website, or only those without.
  • Minimum star rating — drop low-rated businesses. Unrated places are excluded once you set a threshold above 0.
  • Category filter — restrict to specific Google categories. restaurant matches Italian restaurant, Chinese restaurant, and so on.
  • Skip permanently closed — exclude closed and temporarily closed listings.
  • Geolocation fields — country, state/province, city and postal code, for when a place name alone is ambiguous.
  • Results language — affects category and description text, not contact details.

Why use this instead of the Google Maps API?

The official Places API requires a billing-enabled Google Cloud project, caps how many results a single search returns, and does not give you the business's email address at all — that lives on the company website, not in Google's data. This scraper needs no API key, no Google account, and returns the contact details the API never exposes.

It also runs without a browser. Most Google Maps scrapers drive a headless Chrome instance, which is slow and memory-hungry; this one talks to the same HTTP endpoints Google Maps itself calls, which is why a 120-business run with contact enrichment finishes in under three minutes on 2 GB of memory.

Integrations and automation

Because it runs on Apify, you get the platform around it for free: schedule runs, trigger them via API, monitor them, and push results straight into Make, Zapier, Google Sheets, Slack, Airtable, or your own webhook. Every run's dataset is available over a REST API in JSON, CSV, Excel and XML.

FAQ

The scraper collects publicly available business information — the same listing data any visitor can see without logging in. Business contact details are not personal data in most jurisdictions, but you are responsible for how you use the output. If you send marketing email, follow the rules that apply to you, such as GDPR in the EU and CAN-SPAM in the US.

Are the emails verified?

No. Every address is validated structurally — correct format, real TLD, and a filter that removes placeholder addresses, template defaults, image filenames and other false positives. There is no mailbox check, so an address here is genuinely published by the business rather than proven deliverable. Run the export through a dedicated verification service before a large campaign.

Why do some businesses have no email?

Many local businesses never publish one. They take enquiries through a contact form, a phone number, or social DMs. The scraper finds what is actually on the public web, and you are not charged for a business where nothing was found.

Can I extract Google Maps reviews too?

Yes. Set Max Reviews Per Place above 0 and each business comes back with its recent reviews — text, star rating, author name and profile link, publish date and the language the review was written in. Choose the order with Reviews Sort: most relevant, newest, highest rating or lowest rating. Reviews are billed per review delivered, so leave it at 0 when you only want contact data.

Can I scrape Google Maps outside the US?

Yes, anywhere Google Maps operates. Enter any city or country in Locations, or use the Country dropdown, which covers 60+ countries. Results in the southern hemisphere, Europe and Asia are all supported, with correct coordinates.

Up to 500 per query-and-location pair. Google itself typically surfaces 20–120 results for a given search depending on how dense the area is, so splitting a large city into neighbourhoods or postal codes returns far more total businesses than raising the limit on one broad search.

Will my IP be blocked?

No. Runs go through Apify's residential proxy network by default and your own IP is never used.

How do I export Google Maps leads to CSV or Excel?

Every run's results land in a dataset you can download as CSV, Excel, JSON or XML in one click, or pull over the Apify API. There is also a direct Google Sheets integration if you would rather the leads appear in a sheet automatically.

How do I get the data into my CRM?

Export as CSV or JSON and import into HubSpot, Salesforce, Pipedrive or similar, or wire the run to your CRM directly with an Apify integration or webhook.

Other Actors by this developer

ActorWhat it does
Airtable Workspace ProvisionerBuild out an Airtable base from a schema — a natural place to land the leads this scraper produces
iHerb ScraperSearch, products, reviews and price monitoring for iHerb
Textbook ArbitrageCompare textbook buy and sell prices across marketplaces

Support

Found a bug, or need a field that isn't here? Open an issue on the Actor's Issues tab in Apify Console. Custom variations of this scraper are possible on request.