๐ Google Maps Leads Scraper
Pricing
from $7.00 / 1,000 results
๐ Google Maps Leads Scraper
Scrape Google Maps into ready-to-use business leads: name, address, phone, website, rating, reviews, hours, categories and socials. Search by term and location or paste Maps URLs. Rich filters, no API key, results streamed live.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
๐ Google Maps Leads Scraper โ B2B Lead Generation, Business Data & Contact Extraction
Google Maps Leads Scraper is a production-grade Apify Actor for Google Maps scraping, local business lead generation and B2B contact extraction. Give it a search term and a location โ plumber in Austin, Texas โ and it returns a clean, enriched lead list: business name, categories, full address, coordinates, rating, opening status, Google phone number, website, email addresses, extra phone numbers and every social media profile it can find โ written to your Apify Dataset in real time.
๐ก Need a custom version, private integration, or a tailored lead-gen pipeline? Email hello.dataminds@gmail.com.
Built for sales teams, agencies, cold-email and cold-call outreach, local SEO, market research and CRM enrichment โ anyone who needs verified local business data without copying it out of Google Maps by hand.
๐ Table of contents
- What is Google Maps Leads Scraper?
- Main features
- Who is this Actor for?
- Search inputs it accepts
- Filtering configuration
- Output format (Dataset)
- Example output (JSON)
- Quick start
- Input parameters reference
- Integrations & automation
- Frequently asked questions (FAQ)
- Troubleshooting
- Help, support & custom builds
- Is scraping Google Maps legal?
- SEO keywords targeted
๐ What is Google Maps Leads Scraper?
Google Maps is the largest public directory of local businesses on earth โ and the hardest to copy out by hand. Listings are paginated, the contact details you actually need (email, socials) live on the business website rather than the listing, and doing it manually costs hours per hundred prospects.
This Actor turns any Google Maps search into a ready-to-use lead list:
- Searches like a human would โ your term plus a location, one search at a time, page after page.
- Collects the full business profile โ name, categories, description, rating, address parts, coordinates, timezone, today's hours, photo, place ID, CID and the direct Maps link.
- Opens the business website and pulls out emails, phone numbers and LinkedIn / Instagram / Facebook / X / YouTube / TikTok / Pinterest / Discord profiles โ including contact and about pages.
- Verifies emails on request โ disposable, free-mail and role-inbox detection plus a mail-server deliverability probe. No third-party API key.
- Streams every finished lead to your Dataset โ export to JSON, CSV, Excel, XML, or pull them through the Apify API.
If you have ever needed "every dentist in Denver with an email address, as clean rows" โ this is the Actor.
โจ Main features
- ๐บ๏ธ Bulk search input โ one term or hundreds, each searched separately and deduplicated by place.
- ๐ Precise targeting โ free-text location, or city / state / county / postal code, plus a country and language selector.
- ๐ Google Maps URLs supported โ paste any place link to collect specific businesses: full
/maps/place/โฆlinks, id-only links (?cid=โฆ,?place_id=โฆ) and shortmaps.app.goo.gllinks all work, in bulk. - ๐ง Email extraction โ homepage plus contact/about pages, with junk-domain and image-file filtering.
- โ๏ธ Two phone sources โ the number Google publishes and every number found on the website (
tel:links kept separate from loose text matches). - ๐ Social profile discovery โ 8 networks, cleaned and deduplicated.
- โ Built-in email verification โ free / role / disposable flags, MX lookup and an SMTP deliverability probe, no external key needed.
- ๐ฏ Smart filters โ category keywords, name-match strictness, minimum rating, has/hasn't a website, skip closed places, skip big chains.
- โญ Rich business profile โ description, category list, accessibility and amenity attributes, today's hours and open/closed status.
- ๐งญ Coordinates & timezone for mapping and routing.
- ๐ฆ Blocking handled for you โ the run adapts on its own when a site pushes back, with no configuration required.
- ๐ฆ Live dataset writes and seven prebuilt table views โ Overview, Contacts, Socials, Location, Business Profile, Verification, Source & IDs.
- ๐ Run summary stored in the key-value store, with per-search totals.
๐ฅ Who is this Actor for?
- ๐งฒ Sales & SDR teams โ build territory lists with real emails and phone numbers.
- ๐ข Agencies โ find local businesses that have no website (perfect web-design prospects) or a weak one.
- ๐ Local SEO consultants โ audit competitors by category, rating and coverage.
- ๐ฌ Cold email & outreach platforms โ feed clean, verified addresses straight into a sequence.
- ๐ฌ Market researchers โ measure business density, ratings and category mix per area.
- ๐๏ธ CRM & data teams โ enrich existing records with phone, website, socials and coordinates.
- ๐งโ๐ป Developers โ a dependable Google Maps data API with no scraping stack to maintain.
๐ Search inputs it accepts
| What you provide | What happens |
|---|---|
restaurant + New York, USA | Every matching business in that area |
dentist, orthodontist, oral surgeon | Three separate searches, merged and deduplicated |
plumber + city Miami, state Florida | Same as above, using precise area fields |
marketing agency with minimum rating 4.5 | Only the highly-rated ones |
bakery with only places WITHOUT a website | Pure web-design prospect list |
https://www.google.com/maps/place/โฆ | That specific business |
https://www.google.com/maps?cid=โฆ or a maps.app.goo.gl short link | Same โ id-only and shared links are resolved for you |
๐ก Tip: start with maxCrawledPlacesPerSearch: 10 to sample the data, then raise it once the shape looks right.
๐ฏ Filtering configuration
All filters are optional โ leave them empty to take everything Google returns.
- Category โ
categoryFilterWordskeeps a business only when a word matches its Google categories or description. - Name matching โ
searchMatching: everything, name-contains-term, or exact name only. - Rating โ
placeMinimumStarsfrom 2.0 to 4.5; unrated places are dropped when a minimum is set. - Website โ
website: all places, only with a website, or only without one. - Open status โ
skipClosedPlacesremoves permanently and temporarily closed businesses. - Chains โ
skipBigChainsskips global chains whose sites never carry a usable inbox.
Filters combine with AND; values inside one filter are OR.
๐ค Output format (Dataset)
Every lead is one row with 44 fields, and the Output tab ships with seven prebuilt views so each part of the record has its own tidy section:
| View | What it shows |
|---|---|
| โจ Lead Overview | Business, category, address, phone, website, emails, rating, Maps link |
| ๐ง Contacts | Emails, website phones, other numbers, Google phone, dialable format |
| ๐ Social Profiles | LinkedIn, Instagram, Facebook, X, YouTube, TikTok, Pinterest, Discord |
| ๐ Location & Map | Street, city, state, postal code, country, neighborhood, coordinates, timezone |
| ๐ช Business Profile | Description, categories, rating, today's hours, open status, attributes, photo |
| โ Email Verification | Every address with its quality verdict |
| ๐งญ Source & IDs | Rank, search term, place ID, CID, knowledge ID, Maps link |
Field groups in every row
| Group | Fields |
|---|---|
| Identity | title, description, categoryName, categories, placeId, cid, googleKgId, url, imageUrl |
| Location | address, neighborhood, street, city, postalCode, state, countryCode, location (lat/lng), timeZone |
| Status & rating | totalScore, todayHours, openStatusText, permanentlyClosed, temporarilyClosed, additionalInfo, price, reviewsCount, claimThisBusiness |
| Contact | website, phone, phoneUnformatted, emails, phones, phonesUncertain |
| Social | linkedIns, twitters, instagrams, facebooks, youtubes, tiktoks, pinterests, discords |
| Verification & source | emailsVerification, rank, searchString |
Every row carries all 44 keys in the same order, so CSV and Excel exports line up perfectly. price, reviewsCount and claimThisBusiness are kept for schema stability but are not published on the results feed, so they arrive as null.
A run summary โ totals, per-search counts, email and phone coverage โ is stored in the key-value store as run-summary.
๐งช Example output (JSON)
{"rank": 1,"searchString": "restaurant","title": "Marea","description": "High-end Italian seafood & housemade pastas in a chic Central Park South setting.","price": null,"categoryName": "Restaurant","categories": ["Restaurant", "Fine dining restaurant", "Italian restaurant", "Seafood restaurant"],"address": "Marea, 240 Central Park S, New York, NY 10019","neighborhood": "Manhattan","street": "240 Central Park S","city": "New York","postalCode": "10019","state": "New York","countryCode": "US","website": "https://www.marearestaurant.com/new-york","phone": "(212) 582-5100","phoneUnformatted": "+12125825100","claimThisBusiness": null,"location": { "lat": 40.7674251, "lng": -73.9811137 },"totalScore": 4.5,"permanentlyClosed": false,"temporarilyClosed": false,"placeId": "ChIJvWSDS_ZYwokRiG9D395loxo","cid": "0x89c258f64b8364bd:0x1aa365dedf436f88","googleKgId": "/m/0g9tbbd","url": "https://www.google.com/maps?cid=1919489874092846984","imageUrl": "https://lh5.googleusercontent.com/โฆ/photo.jpg","timeZone": "America/New_York","todayHours": "12โ10 PM","openStatusText": "Open ยท Closes 10 PM","additionalInfo": {"Accessibility": [{ "Wheelchair accessible entrance": true }],"Attributes": [{ "LGBTQ+ friendly": true }]},"reviewsCount": null,"emails": ["info@marea-nyc.com", "kbolyai@altamareagroup.com"],"phones": ["+12125825100", "+13106208463"],"phonesUncertain": ["(212) 582-5100", "+1 (310) 620-8463"],"linkedIns": ["https://www.linkedin.com/showcase/marea-restaurant/"],"twitters": [],"instagrams": ["https://www.instagram.com/mareanyc/"],"facebooks": ["https://www.facebook.com/MareaNYC/"],"youtubes": [],"tiktoks": [],"pinterests": [],"discords": [],"emailsVerification": []}
๐ Quick start
Run in Apify Console
- Log in at console.apify.com โ Actors.
- Open Google Maps Leads Scraper.
- Type a search term (for example
coffee shop) and a location (Austin, Texas). - Set Places per search term to
10for a first test. - (Optional) open Quality filters or Contact enrichment.
- Click Start and watch each lead appear live in the log.
- Open the Output tab, switch between the seven views, and export to JSON / CSV / Excel.
Run via API
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchStringsArray": ["coffee shop"],"locationQuery": "Austin, Texas","maxCrawledPlacesPerSearch": 25,"scrapeWebsiteContacts": true}'
Fetch the results once the run finishes:
$curl "https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?token=YOUR_APIFY_TOKEN&format=csv"
Python client
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("YOUR_ACTOR_ID").call(run_input={"searchStringsArray": ["dentist", "orthodontist"],"locationQuery": "Denver, Colorado","maxCrawledPlacesPerSearch": 50,"placeMinimumStars": "four","website": "withWebsite","verifyEmails": True,})for lead in client.dataset(run["defaultDatasetId"]).iterate_items():print(lead["title"], lead.get("emails"), lead.get("phone"))
๐ ๏ธ Input parameters reference
๐ Start here โ what & where
| Parameter | Type | Default | Description |
|---|---|---|---|
searchStringsArray | array | โ | Required. Search terms, one per line |
locationQuery | string | โ | Free-text area, e.g. Austin, Texas |
maxCrawledPlacesPerSearch | integer | 20 | Businesses collected per search term |
startUrls | array | [] | Google Maps place URLs โ full, ?cid=โฆ, ?place_id=โฆ or short links (bulk supported) |
๐ฃ๏ธ Language & region
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | en | Results language (16 options) |
countryCode | string | us | Country view used for the search (18 options) |
๐ก Pinpoint the area
| Parameter | Type | Description |
|---|---|---|
city / state / county / postalCode | string | Precise area, combined into one search area |
๐ฏ Quality filters
| Parameter | Type | Default | Description |
|---|---|---|---|
categoryFilterWords | array | [] | Keep only businesses matching these category words |
searchMatching | string | all | all, only_includes, only_exact |
placeMinimumStars | string | โ | two โฆ fourAndHalf |
website | string | allPlaces | allPlaces, withWebsite, withoutWebsite |
skipClosedPlaces | boolean | false | Drop closed businesses |
๐ง Contact enrichment
| Parameter | Type | Default | Description |
|---|---|---|---|
scrapeWebsiteContacts | boolean | true | Visit the website for emails, phones and socials |
contactMaxSubpages | integer | 3 | Extra contact/about pages per website |
skipBigChains | boolean | true | Skip global chain websites |
verifyEmails | boolean | false | Quality-check every email found |
๐ Network ยท โก Speed
| Parameter | Type | Default | Description |
|---|---|---|---|
proxyConfiguration | object | direct | Optional proxy configuration for the run. |
browserFallback | boolean | true | Give stubborn requests one extra, more thorough attempt. |
maxConcurrency | integer | 5 | Business websites opened in parallel (1โ20) |
requestDelaySeconds | number | 0.8 | Pause between requests |
maxRetries | integer | 3 | Attempts per request before it is skipped. |
๐ Integrations & automation
- โฐ Schedules โ refresh a territory list daily or weekly.
- ๐ Webhooks โ trigger your own service when a run finishes.
- ๐ Make, Zapier & n8n โ push new leads into HubSpot, Pipedrive, Airtable, Sheets or Slack.
- ๐๏ธ Direct API access โ dataset items as JSON, JSONL, CSV, XLSX, XML or RSS.
- ๐ค AI pipelines โ feed business descriptions and categories into scoring or segmentation models.
โ Frequently asked questions (FAQ)
What is the best way to scrape Google Maps leads?
Give this Actor a search term and a location and press Start. It handles pagination, business details, website contact discovery and email verification for you, and writes clean rows to a dataset you can export or query through the API.
Can I get email addresses from Google Maps?
Google Maps itself does not publish emails โ they live on the business website. This Actor follows the website link on each listing, opens the contact and about pages, and extracts the addresses it finds there.
How many businesses can I collect in one run?
Set maxCrawledPlacesPerSearch per term and add as many terms as you like. Results are deduplicated by place ID across the whole run.
Can I search several cities at once?
Yes โ add one term per line and run separate area values, or include the city inside each term (plumber Miami, plumber Tampa).
How do I find businesses without a website?
Set website to withoutWebsite. Those listings still give you the name, address, Google phone number and rating โ ideal prospects for web-design and marketing services.
Does it verify the email addresses?
Turn on verifyEmails. Each address is checked for disposable and free-mail domains, role inboxes, a valid mail server, and deliverability. Networks that block outbound mail ports return unknown rather than a false verdict.
Do I need a proxy?
No. Leave the proxy input empty and the run handles blocking on its own. Set one only when you want a specific country or route.
Can I use this for cold email?
The data is public business contact information, but you are responsible for compliance with GDPR, CAN-SPAM, CASL and local marketing law. Keep an opt-out, target businesses rather than individuals, and honour suppression lists.
Can I feed the results straight into my CRM?
Yes โ use webhooks or the API, or connect Make / Zapier / n8n to push new rows into HubSpot, Pipedrive, Salesforce or a spreadsheet.
What if I need a field that isn't here?
Email hello.dataminds@gmail.com โ custom fields and private builds are available.
๐ ๏ธ Troubleshooting
| Symptom | Fix |
|---|---|
| No leads saved | Widen the search term or location, and clear placeMinimumStars / categoryFilterWords. Very narrow terms return nothing. |
| Few emails found | Many small businesses publish no email. Raise contactMaxSubpages, and set website: withWebsite so every lead has a site to crawl. |
| Fewer results than requested | The area may simply hold fewer matching businesses. Broaden the location or add related search terms. |
phone empty | Not every listing publishes a number. Check phones โ numbers found on the website โ as a fallback. |
| Emails look generic | info@ and contact@ are what most sites publish. Use the Email & Phone Number Scraper's skip generic inboxes option if you need named mailboxes. |
| Run feels slow | Lower contactMaxSubpages, raise maxConcurrency, or turn off verifyEmails. |
Verification says unknown | Outbound mail ports are commonly blocked in cloud environments; the address is still valid-looking, it simply could not be probed. |
๐ฌ Help, support & custom builds
- ๐ Found a bug or need a new field? Open an issue on the Actor's Issues tab.
- ๐ง Custom scrapers, private integrations, bulk pipelines: hello.dataminds@gmail.com
- โญ Enjoying it? Leave a review โ it genuinely helps.
โ๏ธ Is scraping Google Maps legal?
This Actor collects publicly available business listings โ the same information any visitor can see without logging in. Scraping public data is generally lawful in the EU and the US, but you remain responsible for how you use it:
- Do not collect data behind authentication or paywalls.
- Respect the target site's terms of service and reasonable request rates.
- Handle any personal data (an owner's name or direct email, for example) in line with GDPR, CCPA and local law.
- Follow CAN-SPAM, CASL and equivalent rules before sending marketing email.
See Apify's guide on the legality of web scraping for background. This is not legal advice.
๐ SEO keywords targeted
google maps scraper ยท google maps leads scraper ยท google maps business scraper ยท local business lead generation ยท b2b lead scraper ยท google maps email extractor ยท business contact scraper ยท google places scraper ยท local SEO data ยท lead list builder ยท cold email leads ยท google maps data export ยท business phone number scraper ยท social media profile finder ยท maps listing scraper ยท small business database ยท sales prospecting tool ยท CRM enrichment data ยท google business profile scraper ยท local lead generation API ยท restaurant leads ยท contractor leads ยท dentist leads ยท agency prospecting data ยท google maps API alternative