Google Maps Lead Extractor & Email Finder avatar

Google Maps Lead Extractor & Email Finder

Pricing

from $4.00 / 1,000 email leads

Go to Apify Store
Google Maps Lead Extractor & Email Finder

Google Maps Lead Extractor & Email Finder

Extract local businesses from Google Maps and enrich websites with emails, phone numbers, social links, ratings, addresses, and clean B2B lead data for sales and agency prospecting.

Pricing

from $4.00 / 1,000 email leads

Rating

4.3

(3)

Developer

Bhojraj Pilaniya

Bhojraj Pilaniya

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

13 days ago

Last modified

Share

Find local businesses from Google Maps and enrich their websites with business emails, phone numbers, social links, ratings, addresses, categories, and clean B2B lead data.

This Actor is built for lead generation agencies, cold email teams, freelancers, SDR teams, local SEO companies, and sales teams that need ready-to-use local business leads.

What this Actor does

  1. Collects local business listings from Google Maps through a source Google Maps Actor.
  2. Extracts business name, phone, address, website, category, rating, reviews, Google Maps URL, and place ID.
  3. Opens each business website.
  4. Scans the homepage and common contact pages such as contact, about, and privacy pages.
  5. Finds business emails, social profile links, and the pages where contact data was discovered.
  6. Saves clean enriched lead records to the Apify dataset.

Best use cases

  • Google Maps lead generation
  • Local business email finder
  • Cold email prospecting lists
  • Local SEO prospecting
  • Agency lead scraping
  • Dentist, plumber, lawyer, restaurant, clinic, gym, salon, and real estate agent lead lists
  • CRM enrichment and outbound sales workflows
  • Finding websites without emails for manual research

Example searches

  • dentists in New York
  • plumbers in London
  • real estate agents in Dubai
  • restaurants in Jaipur
  • law firms in Los Angeles
  • gyms in Toronto
  • clinics in Delhi
  • marketing agencies in Singapore

Output fields

  • Business name
  • Primary email and all discovered emails
  • Phone number
  • Website URL
  • Address, city, state, country
  • Business category
  • Rating and review count
  • Google Maps URL
  • Place ID
  • Social links: Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok
  • Pages scanned
  • Email count
  • Enrichment error, if the website was missing or blocked

Example input

{
"sourceMode": "googleMapsActor",
"searchTerms": [
"dentists"
],
"locationQuery": "New York, USA",
"maxPlacesPerSearch": 25,
"maxPagesPerWebsite": 4,
"onlySaveLeadsWithEmail": false,
"mapsMaxTotalChargeUsd": 5
}

Example output

{
"businessName": "Example Dental Clinic",
"phone": "+1 555 0100",
"website": "https://exampledental.com",
"email": "info@exampledental.com",
"emails": [
"info@exampledental.com"
],
"address": "123 Main Street, New York, NY",
"category": "Dentist",
"rating": 4.8,
"reviewsCount": 230,
"googleMapsUrl": "https://www.google.com/maps/place/...",
"socials": {
"facebook": "https://facebook.com/exampledental"
},
"hasEmail": true,
"emailCount": 1
}

Pricing and cost control

This Actor charges for enriched leads it saves. Leads with emails cost more because they are more valuable for outreach. The Google Maps source Actor may also charge the user for collecting map listings.

Use these controls to keep costs predictable:

  • maxPlacesPerSearch: limit businesses collected per keyword
  • maxBusinesses: hard cap total businesses processed
  • maxPagesPerWebsite: limit pages scanned per website
  • mapsMaxTotalChargeUsd: cap the Google Maps source Actor run
  • onlySaveLeadsWithEmail: save only leads where an email is found

Tips for better email discovery

  • Set maxPagesPerWebsite to 4 or 5 for better email coverage.
  • Use specific categories such as dentist, roofing contractor, personal injury lawyer, restaurant, or real estate agent.
  • Use city-level locations instead of very broad country searches.
  • Some businesses do not have websites, and some websites do not publish emails. Those records may still include phone, address, rating, and Google Maps URL.

Source mode options

Google Maps Actor mode

Use sourceMode: googleMapsActor to collect businesses from Google Maps and then enrich their websites.

Websites-only mode

Use sourceMode: websitesOnly when you already have business website URLs and only want email/social enrichment.

Responsible use

Use collected contact data lawfully and follow applicable privacy, anti-spam, and platform rules. Do not use this Actor for abusive scraping, spam, credential harvesting, or unlawful outreach.

Quick start and total cost

First run with dryRun: true to preview the output without contacting Google Maps. For a real search, use a specific category and location with maxPlacesPerSearch: 10. The Google Maps source Actor charges separately for place collection; this Actor charges only for leads it saves. mapsMaxTotalChargeUsd is a source-run ceiling, not a prepaid fee. Apify currently requires a ceiling of at least $0.50; actual source usage can be lower.

To enrich domains you already have, select sourceMode: "websitesOnly" and provide websiteUrls. This skips Google Maps collection cost. Invalid inputs produce an actionable OUTPUT summary. Source outages fail visibly with a source_error summary and no saved-lead charge.

Workflow and operating limits

Local prospecting: collect one city and category, inspect email coverage, then export qualified businesses to your CRM. For an existing domain list, websitesOnly mode avoids Maps collection altogether.

Limits and result interpretation

Emails must be published on an accessible business website; an email is not guaranteed for every place. Website access errors stay on the corresponding lead. A failed Maps source is reported as source_error and fails visibly instead of masquerading as an empty successful extraction.

Result price versus total workflow cost

Base result prices are $6 per 1,000 business-only leads and $8 per 1,000 email leads. Plan discounts appear in the Pricing tab. Maps collection is a separate source charge; mapsMaxTotalChargeUsd caps that source, not the entire parent-plus-child workflow. Begin with maxPlacesPerSearch and maxBusinesses set to 5.

Actor-start charges may apply even if no paid result is saved. Verify current prices in the Pricing tab; discounts depend on your plan. Budget settings cap charges rather than guaranteeing a quantity of results.

API and n8n workflow

Use the Console API menu to generate the run request for this Actor. Keep your Apify token in a credential, not in a public URL or shared workflow. In n8n, start a run with HTTP Request or the Apify integration, poll until it ends, then download the default dataset as JSON or CSV. Check status fields and error rows before importing data; SUCCEEDED alone does not prove that live data was collected.

The Run status / preview output link points to the OUTPUT record. A preview is never evidence that the upstream source is working.

Troubleshooting and support

Start with one valid public input. Check Runs, the run status and Logs, then inspect the dataset. If a paid source is used, inspect its run separately. Account concurrency limits can temporarily prevent a child run from starting; submit batches sequentially on small plans. Report the run ID and a redacted input through this Actor's Issues tab. Never post tokens, LinkedIn cookies, or other session credentials. Share a customer run only through Apify's supported opt-in sharing controls.