Google Maps Lead Finder
Pricing
Pay per event
Google Maps Lead Finder
Google Maps Lead Finder scrapes Google Maps business listings by keyword and location, then returns structured lead data with emails, phone numbers, ratings, reviews, and lead scores. It enriches each business by visiting their website to extract contact emails and social media links —...
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Google Maps Lead Finder do?
Google Maps Lead Finder scrapes Google Maps business listings by keyword and location, then returns structured lead data with emails, phone numbers, ratings, reviews, and lead scores. It enriches each business by visiting their website to extract contact emails and social media links — giving you ready-to-use B2B lead lists from any market worldwide.
Why use Google Maps Lead Finder?
- Complete contact data — extracts phone, website, email, and social links in one run
- Built-in lead scoring — transparent 0–100 score ranks leads by outreach potential
- Website enrichment — automatically visits business homepages to find emails and social profiles
- Multi-location expansion — combine keywords × locations for city-by-city market scans
- Smart deduplication — eliminates duplicate businesses across overlapping searches
- Works worldwide — supports 14 languages and 19 country targets for global prospecting
What data can you extract?
| Field | Example |
|---|---|
name | Rescue Plumbing |
category | Plumber |
address | 3523 N Spaulding Ave, Chicago, IL 60618 |
city | Chicago |
phone | +1 773-799-8848 |
website | https://www.rescueplumbing.com |
email | info@rescueplumbing.com |
rating | 4.9 |
reviewsCount | 1284 |
leadScore | 45 |
enrichment.socialLinks | { "facebook": "...", "instagram": "..." } |
googleMapsUrl | Full Google Maps link |
scrapedAt | 2026-02-28T12:00:00.000Z |
Plus: placeId, fid, cid, categories, postalCode, countryCode, location (lat/lng), plusCode, businessStatus, priceLevel, mainPhotoUrl, searchQuery, searchLocation, dedupeKey, leadScoreBreakdown, and full enrichment object.
How much does it cost?
Google Maps Lead Finder uses pay-per-event pricing — you only pay for what you get.
| Event | What triggers it | FREE tier | GOLD+ tier |
|---|---|---|---|
start | Each actor run | $0.050 | $0.035 |
lead | Each unique lead returned | $0.004 | $0.0028 |
Real-world cost examples
| Scenario | Leads | Cost (FREE) | Cost (GOLD+) |
|---|---|---|---|
| Quick test | 5 | $0.07 | $0.05 |
| Small campaign | 50 | $0.25 | $0.18 |
| City-wide scan | 200 | $0.85 | $0.60 |
| Multi-city project | 1,000 | $4.05 | $2.84 |
Platform compute costs (memory + time) are billed separately by Apify at standard rates.
How to scrape Google Maps leads
- Click "Start" on the actor page or use the API.
- Enter search queries — business keywords like
plumber,dentist pediatric, oryoga studio. - Add locations (optional) — cities or regions like
Chicago, ILorBerlin, Germany. Each query is combined with each location. - Set max leads — limit results to control cost and run time.
- Run and export — download results as JSON, CSV, or Excel, or connect via API.
Example input
{"searchQueries": ["plumber"],"locations": ["Chicago, IL"],"maxLeads": 5,"language": "en","countryCode": "US","includeWebsiteEnrichment": true}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | required | Business keywords to search on Google Maps (e.g., "plumber", "dentist Berlin"). Each query becomes a separate Maps search. |
locations | string[] | [] | Optional city or region names. When set, each query is combined with each location for comprehensive coverage. |
maxLeads | integer | 100 | Maximum number of unique leads to return. Lower values reduce cost and run time. |
language | string | en | Language for Google Maps results. Controls the language of returned business names and addresses. |
countryCode | string | US | Country targeting for Google search. Helps return results relevant to the selected country. |
includeWebsiteEnrichment | boolean | true | Visit each business website to extract emails and social media links. Disable to speed up runs when you only need basic listing data. |
enrichmentTimeoutSecs | integer | 15 | Timeout in seconds when fetching business websites. Increase for slow-loading sites, decrease for faster runs. |
dedupeStrategy | string | placeIdAndAddress | How to identify duplicate businesses. placeId uses Google's ID only; placeIdAndAddress also compares addresses for stricter matching. |
proxyConfiguration | object | platform default | Apify proxy settings. Uses residential proxies by default for best results. |
debugMode | boolean | false | Enable verbose logging for troubleshooting. Shows detailed parser diagnostics in the run log. |
Output example
{"placeId": "ChIJ0a3bMi0tDogRYzgJSKhi8pQ","fid": "0x880e2d2d32db1ad1:0x94f262a4094933063","cid": "10743905823605944419","name": "Rescue Plumbing","category": "Plumber","categories": ["Plumber"],"address": "3523 N Spaulding Ave, Chicago, IL 60618","city": "Chicago","postalCode": "60618","countryCode": "US","location": { "lat": 41.9463, "lng": -87.7113 },"phone": "+1 773-799-8848","website": "https://www.rescueplumbing.com","rating": 4.9,"reviewsCount": 1284,"businessStatus": null,"googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJ0a3bMi0tDogRYzgJSKhi8pQ","searchQuery": "plumber","searchLocation": "Chicago, IL","dedupeKey": "ChIJ0a3bMi0tDogRYzgJSKhi8pQ|3523 n spaulding ave, chicago, il 60618","leadScore": 45,"leadScoreBreakdown": {"ratingPotential": 5,"lowReviewOpportunity": 0,"hasWebsite": 0,"hasEmail": 20,"hasPhone": 10},"enrichment": {"homepageFetched": true,"emails": ["info@rescueplumbing.com"],"socialLinks": {"facebook": "https://www.facebook.com/rescueplumbing","instagram": "https://www.instagram.com/rescueplumbing"},"contactPageHint": "https://www.rescueplumbing.com/contact"},"scrapedAt": "2026-02-28T12:00:00.000Z"}
Tips for best results
- Use specific queries — "dentist pediatric" works better than just "dentist" for targeted leads.
- Add locations for city-level targeting — combine queries with city names for cleaner geographic results.
- Start small — test with 5–10 leads before scaling to hundreds. It's cheaper and faster to iterate.
- Keep enrichment enabled — website enrichment finds emails and social links that Google Maps doesn't show.
- Increase enrichment timeout for slow regions — some international sites load slowly; try 25–30 seconds.
- Use
placeIdAndAddressdedup (default) — catches duplicate listings that share a Place ID but have different addresses. - Check lead scores — higher scores mean more outreach potential (missing website = opportunity, has email = actionable).
- Export to CSV for CRM import or use the API for automated pipelines.
Integrations
Connect Google Maps Lead Finder with virtually any cloud service or web app via Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Or use webhooks to let your app know when a run finishes.
Using the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/google-maps-lead-finder').call({searchQueries: ['plumber'],locations: ['Chicago, IL'],maxLeads: 50,includeWebsiteEnrichment: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/google-maps-lead-finder').call(run_input={'searchQueries': ['plumber'],'locations': ['Chicago, IL'],'maxLeads': 50,'includeWebsiteEnrichment': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
FAQ
How many leads can I extract per run?
There's no hard limit. Set maxLeads to control how many unique businesses you get. Typical runs extract 5–500 leads depending on market density.
Does it extract email addresses?
Yes. When includeWebsiteEnrichment is enabled (default), the actor visits each business website and extracts email addresses found on the homepage.
What is the lead score? A 0–100 score based on the business profile. Businesses with lower ratings, fewer reviews, a website but no email, and a phone number score higher — they're better outreach targets.
Can I search multiple cities in one run?
Yes. Add multiple entries to the locations field. Each search query is combined with each location automatically.
Does it work outside the US?
Yes. The actor supports 14 languages and 19 country targets. Set the language and countryCode fields to match your target market.
How fast is it? A typical run extracting 20 leads with enrichment takes 2–4 minutes. Speed depends on the number of leads, whether enrichment is enabled, and website response times.
Can I use it with my CRM? Yes. Export data as CSV for direct import, or use the Apify API to send leads to any CRM, Google Sheets, or automation platform.
What's the difference between the two dedupe strategies?
placeId deduplicates by Google's unique Place ID only. placeIdAndAddress (default) also compares normalized addresses, catching edge cases where the same business has different Place IDs.
Other Google Maps scrapers
If you need different Google Maps data, check out these Apify actors:
- Google Maps Scraper — full-featured scraper for detailed place data, reviews, and photos
- Google Maps Reviews Scraper — extract reviews and ratings from Google Maps listings
- Google Maps Email Extractor — extract emails from Google Maps results