Google Maps Leads Scraper: Phones, Emails & Reviews
Pricing
from $0.85 / 1,000 result scrapeds
Google Maps Leads Scraper: Phones, Emails & Reviews
Build contact-ready Google Maps business lists with a transparent 0-100 lead score. Detailed mode adds phones, websites, public emails, social links, reviews, hours, photos, and coordinates.
Pricing
from $0.85 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Md Jakaria Mirza
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
Build targeted local-business lead lists from public Google Maps data. Search by keyword and location, preserve filters from an existing Maps search URL, or scrape direct place URLs. Every result is ranked, deduplicated, and ready to export.
Use Fast mode at $1 per 1,000 results for affordable business discovery. Choose Detailed mode at $5 per 1,000 leads to add phone numbers, websites, structured opening hours, price and closure status, photos, optional review samples, and optional public emails and social links from the listed business website.
Why use this Actor?
- Three input methods: keyword + location, Google Maps search URLs, and direct place URLs.
- Ranked results: every row includes its feed position and source search URL.
- Transparent lead score: every row includes a 0-100 contact-readiness score and the exact reasons behind it, calculated without extra requests.
- Two extraction modes: keep broad discovery fast or collect richer business records.
- Optional reviews: collect up to 20 visible public review samples per business.
- Optional contact enrichment: make one bounded direct HTML request to the listed website to find visible public emails, social profiles, and a contact-page link without sending that website traffic through the Google Maps proxy.
- Run-wide deduplication: the same Maps place is saved and charged only once, even when multiple searches overlap.
- Worldwide targeting: free-form cities, postal codes, addresses, coordinates, country bias, and two global city presets.
- Export ready: use Apify datasets in JSON, CSV, Excel, XML, or RSS.
What it extracts
Every saved business can include:
- Name, search rank, primary category, and categories
- Lead score (0-100) and human-readable scoring reasons
- Address, phone, unformatted phone, website, and Plus Code
- Rating, total review count, and optional review samples
- Legacy text hours plus structured day/hour objects
- Price indicator and temporary/permanent closure flags
- Hero image, visible image URLs, and image count when shown
- Latitude, longitude, Google Maps ID, and direct Maps URL
- Optional public emails, social links, and contact-page URL
- Original keyword, location, query, source search URL, mode, and timestamp
Fields that Google Maps or the business website does not expose are returned as null or empty arrays. Optional enrichment never removes an otherwise valid core result.
Fast vs. Detailed
| Capability | Fast | Detailed |
|---|---|---|
| Name, rank, category, rating, review count | Yes | Yes |
| Transparent lead score and reasons | Yes | Yes |
| Feed address, coordinates, Maps ID and URL | Yes | Yes |
| Phone, website, fuller address, Plus Code | No | Yes |
| Structured opening hours, price and status | Limited | Yes |
| Image URLs | No | Yes |
Review samples (maxReviews) | No | Optional |
Website emails/social links (enrichContacts) | No | Optional |
Direct place URLs always use Detailed extraction because there is no search feed to parse.
Input
Use either keywords with locations/locationPreset, startUrls, or both.
| Field | Default | Description |
|---|---|---|
keywords | none | Business types or search phrases. Each is combined with each location. |
locations | none | Cities, regions, postal codes, addresses, or lat,lon pairs. |
startUrls | [] | Google Maps search URLs, direct place URLs, or short maps.app.goo.gl place links. |
locationPreset | none | high_demand_markets (169 cities), world_major_cities (171 cities), or none. |
maxResults | 5 | Maximum saved rows per search request, 1-1,000. |
maxCrawledPlacesPerQuery | 5 | Hard cap on inspected feed places per search. |
extractionMode | fast | fast or detailed. |
maxReviews | 0 | Up to 20 visible review samples per business in Detailed mode. |
maxImages | 1 | Up to 20 visible image URLs per business in Detailed mode. |
enrichContacts | false | Fetch one listed public website page directly for visible emails, social links, and a contact-page URL. |
skipClosedBusinesses | true | Skip permanently closed listings. Temporary closures remain flagged. |
scrapeDetails | false | Detailed-mode retry when phone or address is missing. |
language | en | Google Maps result language. |
countryCode | none | Optional two-letter search and proxy-country bias. |
proxyConfig | Apify Proxy | Datacenter first, then one Residential fallback after a blocked zero-result attempt. |
Keyword/location requests, pasted search URLs, and direct place URLs share a run limit of 1,000 planned core place inspections. Split larger jobs into multiple runs.
Example inputs
Fast low-cost search
{"keywords": ["dentist"],"locations": ["London, UK"],"maxResults": 5,"maxCrawledPlacesPerQuery": 5,"extractionMode": "fast","countryCode": "gb"}
Detailed leads with reviews and public contacts
{"keywords": ["commercial cleaning company"],"locations": ["Manchester, UK"],"maxResults": 10,"maxCrawledPlacesPerQuery": 15,"extractionMode": "detailed","maxReviews": 3,"maxImages": 3,"enrichContacts": true,"countryCode": "gb"}
Preserve filters from an existing Maps search
{"startUrls": [{ "url": "https://www.google.com/maps/search/coworking+space+in+Berlin/" }],"maxResults": 20,"extractionMode": "detailed","maxReviews": 0}
Direct place URL
{"startUrls": [{ "url": "https://www.google.com/maps/place/Example+Business/" }],"maxReviews": 5,"maxImages": 5,"enrichContacts": true}
Pricing and cost control
The Actor uses Apify Pay Per Event pricing:
| Event | Price |
|---|---|
Saved Fast result (result-scraped) | $0.001, with Store-tier discounts down to $0.00085 |
Saved Detailed lead (detailed-result-scraped) | $0.005, with Store-tier discounts down to $0.00425 |
Google Maps run setup (maps-run-started, one-time) | $0.004 |
Detailed-mode setup (detailed-run-started, one-time) | $0.003 |
Actor start (apify-actor-start, one-time) | $0.00005 per allocated GB event |
Platform compute, storage, transfer, and proxy usage are included in these event prices after the new pricing activates. The one-time run charge protects small searches against browser and Residential-fallback costs and is amortized across larger runs. Detailed mode adds a second small setup charge because it opens a place page for every result. Optional website contact enrichment uses one bounded direct HTML request and does not reuse the Maps proxy.
For a first test, use one search, maxResults: 1, maxCrawledPlacesPerQuery: 1, Fast mode, maxReviews: 0, and enrichContacts: false. Failed requests, retries, and duplicate places do not create result events. During Apify's standard pricing-notice window, the Actor safely uses the already-active result event and skips undefined new events.
API example
curl -X POST "https://api.apify.com/v2/acts/fascinating_lentil~google-maps-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["coffee shop"],"locations": ["London, UK"],"maxResults": 5,"extractionMode": "fast"}'
Reliability and limits
- Google Maps changes its interface regularly, and some fields vary by country, language, category, and listing.
- Fast mode deliberately avoids place-page navigation, so phone, website, full hours, images, and reviews are not available there.
- Review extraction saves visible samples, not an unlimited review archive. Order follows the Maps interface.
- Contact enrichment fetches only the listed website page once, caps the HTML response, validates redirects, and blocks private network destinations. It does not crawl an entire domain or guarantee an email.
- The Actor blocks heavy media and tracking requests, detects common challenge pages, retires blocked sessions, and retries transient failures.
- Default concurrency is 2 for Fast-only runs and 1 whenever Detailed or direct-place work is present.
Responsible use
Use this Actor only for lawful collection of public business information. You are responsible for complying with Google Maps terms, website terms, privacy and data-protection laws, and outreach regulations such as GDPR, the India DPDP Act, CAN-SPAM, and local equivalents.
This Actor is independent and is not affiliated with or endorsed by Google.