Google Maps Email & Leads Extractor - Fast & Cheap avatar

Google Maps Email & Leads Extractor - Fast & Cheap

Pricing

from $1.50 / 1,000 lead scrapeds

Go to Apify Store
Google Maps Email & Leads Extractor - Fast & Cheap

Google Maps Email & Leads Extractor - Fast & Cheap

Business leads from Google Maps in one step: for any search such as "dentists in Madrid" you get each business with phone, address, rating and website, plus the emails and social profiles found on its website. No browser, no API key. $0.0015 per lead with contacts included.

Pricing

from $1.50 / 1,000 lead scrapeds

Rating

0.0

(0)

Developer

Antonio del Olmo Tena

Antonio del Olmo Tena

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

6 days ago

Last modified

Share

Turn any Google Maps search into a list of business leads with emails, in one step. Type searches such as dentists in Madrid or plumbers in Austin, TX and the Actor returns one row per business with its Google Maps data (name, category, address, phone, website, rating, reviews, opening hours, coordinates) plus the emails, extra phones and social profiles (Instagram, Facebook, LinkedIn, X, YouTube, TikTok, WhatsApp) found on its own website. Ready to export to CSV or Excel and load into your CRM or outreach tool.

No browser, no proxies on your side, no API keys: the Actor reads Google Maps through the same endpoint the web app uses, then visits each business website (home, contact and about pages) to collect contacts. You pay $0.0015 per business returned, contacts included.

What you get

One Dataset row per business:

  • email (first one found) and emails (all), checked against the domain's mail servers when Validate email domains is on.
  • phone and phoneInternational from Google Maps, sitePhones found on the website.
  • facebook, instagram, linkedin, twitter, youtube, tiktok, whatsapp: profile links, one column each.
  • name, category, categories, website, domain, address, street, neighborhood, city, postalCode, countryCode, latitude, longitude, rating, reviewsCount, openingHours, timezone, placeId, url.
  • status: what the contact search found. found (emails, phones or socials), none (website read, nothing found), no-website, social-only (the website on Maps is a social profile, kept in its column), skipped (booking or link-in-bio pages) or error (the website could not be read; error says why).
  • isNew: true when the business was not in the previous run of that query.

How to use it

  1. Open the Input tab.
  2. In Search queries type one per line, exactly as in Google Maps: dentists in Madrid, marketing agency London, coworking near Lisbon.
  3. Optionally set Location (added to queries that do not mention one), Language and Country.
  4. Set Max businesses per query (default 20, up to about 120). Turn on Skip businesses without website if you only want businesses you can reach by email.
  5. Click Start. Read the rows in Output or export them as CSV, Excel or JSON.
  6. To catch new businesses in your market, schedule the Actor (weekly or monthly). New ones come with isNew: true.

Input

{
"queries": ["dentists in Madrid", "physiotherapists in Madrid"],
"country": "es",
"maxPlaces": 50,
"maxPagesPerSite": 3,
"validateEmails": true,
"skipWithoutWebsite": true
}
FieldDescription
queriesGoogle Maps searches, one per line. Up to 50 per run.
locationOptional. Appended to queries that do not mention it.
language, countryGoogle's edition, default en and us.
maxPlacesBusinesses per query, 1 to 120. Default 20.
maxPagesPerSiteWebsite pages read per business, 1 to 10. Default 3.
validateEmailsDrop emails whose domain cannot receive mail. Default on.
skipWithoutWebsiteReturn only businesses with a website. Default off.

Output example

{
"query": "dentists in Madrid",
"name": "Dental Clinic Navarro",
"email": "clinica@dentalnavarro.com",
"emails": ["clinica@dentalnavarro.com"],
"phone": "+34 915 00 00 00",
"phoneInternational": "+34915000000",
"sitePhones": ["+34915000000"],
"website": "https://dentalnavarro.com/",
"domain": "dentalnavarro.com",
"facebook": "https://www.facebook.com/dentalnavarro",
"instagram": "https://www.instagram.com/dentalnavarro",
"linkedin": null,
"twitter": "https://twitter.com/dentalnavarro",
"youtube": null,
"tiktok": null,
"whatsapp": "https://wa.me/34600000000",
"status": "found",
"pagesCrawled": 3,
"error": null,
"category": "Dentist",
"address": "C. de Alcalá, 100, Salamanca, 28009 Madrid, Spain",
"city": "Madrid",
"postalCode": "28009",
"countryCode": "ES",
"rating": 4.9,
"reviewsCount": 812,
"placeId": "ChIJ...",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJ...",
"isNew": false,
"timestamp": "2026-10-05T09:00:00.000Z"
}

Pricing

Pay per event, no subscription:

  • Lead scraped: $0.0015 per business row, with the website contact search included. 1,000 leads cost $1.50.
  • New lead: $0.003 per business flagged as new in a scheduled run.

Queries that cannot be read or return nothing are free. Compare with Google Maps scrapers that charge about $1.50 per 1,000 places plus extra for contact details, or $2.10 per 1,000 with contacts.

In our tests, 18 of 20 dentists in Madrid and 10 of 20 plumbers in Austin came with at least one email, and almost all with social profiles.

Use it as an API

curl -X POST "https://api.apify.com/v2/acts/aolmo~google-maps-leads/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": ["plumbers in Austin, TX"], "maxPlaces": 40, "skipWithoutWebsite": true}'

You can also call it from AI agents through the Apify MCP server. For Google Maps data without the website visit, use the cheaper aolmo/google-maps-places.

FAQ

Why do some businesses have no email? Many small businesses only publish a phone or a contact form, or protect their website against automated visits. Those rows keep all the Google Maps data and whatever social profiles were found.

Does it bypass website protections? No. Websites behind anti-bot walls are reported with status: error and their Google Maps data is still returned.

How long does a run take? About 30 to 80 seconds per 20 businesses, depending on how fast their websites respond.

Is this GDPR compliant? The Actor only collects contact details that businesses publish themselves. How you use them (for example, sending marketing emails) is your responsibility under the laws that apply to you.

Where is the data stored between runs? In a Key-Value Store of your account named micro-saas-state-google-maps-leads, one key per query. Delete it to start fresh.