Google Maps Scraper: B2B Leads & Emails
Pricing
from $5.00 / 1,000 lead extraction events
Google Maps Scraper: B2B Leads & Emails
The Ultimate G-Maps Lead Machine is designed for marketing agencies, sales teams, and wholesalers who need fresh, accurate business data without paying for expensive lists. Stop searching manually. Start mining leads automatically today.
Pricing
from $5.00 / 1,000 lead extraction events
Rating
0.0
(0)
Developer
anuj upadhyay
Maintained by CommunityActor stats
0
Bookmarked
42
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Features
Share
🗺️ Google Maps Scraper: B2B Leads & Emails
What is Google Maps Scraper: B2B Leads & Emails?
Google Maps Scraper: B2B Leads & Emails is an Apify Actor that turns a Google Maps search — like "plumbers in New York" — into a clean dataset of business leads: name, address, phone, website, email, rating, review count, category, opening hours, and more. No API key, no browser extension, no manual copy-pasting.
💡 No coding required. Type a search term, click Run, and download your leads.
Under the hood, this Actor talks directly to Google Maps' own data feed over plain HTTP — no browser, no page rendering, no scrolling. That's what makes it fast and cheap to run compared to browser-automation scrapers (see How it works below).
What data can this Google Maps scraper extract?
For every business found, you get:
| Data | Example |
|---|---|
| 🏢 Business name | Joe's Plumbing & Heating |
| 📍 Full address (+ city, postal code, country) | 742 Evergreen Terrace, Springfield, IL 62704 |
| 📞 Phone number | +1 (217) 555-0142 |
| 🌐 Website | https://joesplumbing.com |
| from Google Maps or scanned from the business website | |
| ⭐ Rating & review count | 4.8 stars, 312 reviews |
| 🏷️ Category (and the full category list) | Plumber |
| 🕑 Opening hours | Monday: 8 AM–6 PM; ... |
| 📱 Social links | Facebook, Instagram, LinkedIn, X, YouTube, TikTok |
| 🖼️ Photos, ♿ accessibility info, 🌍 timezone | — |
| 🔗 Direct Google Maps link | — |
Export as: CSV, Excel, JSON, or pull results into your CRM via the Apify API.
🚀 Quick start (3 steps)
Step 1: Enter your search
Type what you'd search on Google Maps — the location should be part of the phrase:
Dentists in ChicagoCoffee shops in San FranciscoReal estate agents in Miami
Step 2: Choose how many leads
- 10 leads → quick test (~$0.05)
- 100 leads → small campaign (~$0.50)
- 500 leads → city-wide prospecting (~$2.51)
Step 3: Click Run & download
Your leads appear in the Results tab as soon as they're found. Download as CSV, Excel, or JSON — ready for outreach.
How much does it cost to scrape Google Maps leads?
$0.005 per lead extracted (half a cent), via Apify's Pay-Per-Event model — plus Apify's standard $0.00001-per-dataset-item platform fee that applies to every Actor's output, so the true cost is $0.00501 per lead. There's also a tiny, automatic $0.00005 fee per run that covers the Actor's first 5 seconds of compute — not per lead, and the same on every Apify Actor that uses it.
| Leads | Cost | Good for |
|---|---|---|
| 10 | ~$0.05 | Testing it out |
| 100 | ~$0.50 | Local outreach |
| 500 | ~$2.51 | City campaign |
| 1,000 | ~$5.01 | Multi-city lead gen |
You're in control:
- ✅ Set a spending limit before you run
- ✅ See live cost updates in the Console as it works
- ✅ Only pay for leads actually delivered — nothing is charged for a result you never see
- ✅ Graceful stop when your limit is reached — no surprise bills
Who pays for what: you (as the Actor's user) pay Apify directly for your own runs — proxy, compute, and the per-lead charges above. There's no separate subscription and no API key to manage; everything is billed through your Apify account.
🎬 Example: input → output
Input:
{"searchTerms": ["Plumbers in New York"],"maxItems": 100}
Output (one of 100 results):
{"businessName": "Joe's Plumbing & Heating","address": "Joe's Plumbing & Heating, 742 Evergreen Terrace, Springfield, IL 62704, United States","city": "Springfield","postalCode": "62704","countryCode": "US","website": "https://joesplumbing.com","phone": "+1 217-555-0142","email": "contact@joesplumbing.com","rating": 4.8,"reviewCount": 312,"category": "Plumber","categories": ["Plumber", "Heating contractor"],"openingHours": "Monday: 8 AM–6 PM; Tuesday: 8 AM–6 PM; ...","socialLinks": { "facebook": "https://www.facebook.com/joesplumbing" },"timezone": "America/Chicago","latitude": 39.7817,"longitude": -89.6501,"placeId": "0x89c25a31b7f4e5a9:0x1234567890abcdef","googleMapsUrl": "https://www.google.com/maps?cid=1311768467294899695","searchTerm": "Plumbers in New York","scrapedAt": "2026-10-31T10:30:00.000Z"}
More input examples
Search multiple cities at once:
{"searchTerms": ["Coffee shops in San Francisco", "Pizza restaurants in Boston", "Hair salons in Miami"],"maxItems": 100}
Wide-area search beyond one city (a single search already returns up to ~200 results per
term — use locationQuery + gridSize only to go further, e.g. "every dentist in Texas"):
{"searchTerms": ["dentists"],"locationQuery": "Texas, USA","gridSize": 3,"maxItems": 2000}
Skip the slow part (email/social links require visiting each business's own website — turn them off for the fastest possible run):
{"searchTerms": ["Hotels in Dubai"],"maxItems": 500,"includeEmail": false,"includeSocialLinks": false}
💡 Tip:
includeWebsite/includePhonecome bundled in the same fast request as everything else — turning them off only removes them from your output, it won't speed up the run.includeEmail/includeSocialLinksare what actually cost time, since those visit the business's own website.
🎯 Who is this for?
| You are... | You can use this to... |
|---|---|
| Sales rep | Build targeted call lists for any industry/location |
| Marketing agency | Research competitors' ratings and reviews |
| Startup founder | Find suppliers, partners, or customers |
| Real estate agent | Locate contractors, inspectors, service providers |
| Franchise owner | Scout locations by analyzing nearby businesses |
| Recruiter | Find companies hiring in specific areas |
⚙️ All settings explained
| Setting | What it does | Default |
|---|---|---|
searchTerms | Your Google Maps queries (location included, e.g. "Dentists in LA") | ["Coffee shops in New York"] |
startUrls | Direct Google Maps place URLs instead of search terms (name must be in the URL path) | [] |
placeIds | Not supported in this version — see Known limitations | [] |
maxItems | Max results per search term (1–500) | 10 |
proxyConfiguration | Apify Proxy settings | Apify Proxy (auto) |
includeWebsite | Include website URL in output | off |
includePhone | Include phone number in output | off |
includeEmail | Extract email from Google Maps or the business website | on |
maxEmailPagesFromWebsite | How many pages of the business site to scan for an email (1–20) | 10 |
onlyBusinessesWithEmail | Drop results with no email found | off |
includeOpeningHours | Include weekly opening hours | on |
includeSocialLinks | Scan the business website for social profile links | on |
skipClosedPlaces | Drop businesses marked closed (fails open if status is unknown) | off |
categoryFilterWords | Only keep businesses whose category matches one of these words | [] |
locationQuery | A city/region to center the search on, for wide-area coverage | — |
gridSize | Splits locationQuery into an N×N grid for exhaustive coverage (1–7) | 1 |
🔧 Troubleshooting & FAQ
| Question | Answer |
|---|---|
| Is it legal to scrape Google Maps business listings? | This Actor extracts publicly visible business information (name, address, phone, hours) the same way a person browsing Google Maps would see it. You're responsible for how you use the data and for complying with Google's Terms of Service and any applicable laws (e.g. GDPR/CAN-SPAM for outreach) in your jurisdiction. |
| Getting fewer results than expected? | Try a broader search term, or add locationQuery + gridSize for wide-area coverage — some areas genuinely have fewer listings than your maxItems. |
| Run stopped early? | You hit your spending limit. Increase it and re-run. |
| Missing phone/website/email? | Some businesses don't list a phone/website on Google Maps at all, and email requires one to be published on the business's own site — not every business publishes one. |
| Missing opening hours or photos? | Coverage varies by category — e.g. hotel listings tend to carry much more category/review data per result, and Google's own response for those sometimes omits the day-by-day hours and most photos that a simpler listing (e.g. a dentist) includes. If it's not in Google's response, it's not in the output — there's nothing extra to extract. |
| How is this different from the Google Places API? | No API key, no Google Cloud billing account, and a per-lead price instead of per-API-call quota tiers. |
💡 Pro tips
- Start small — test with 10 leads first to check data quality for your niche
- Be specific — "Italian restaurants in Brooklyn" beats "restaurants in NY"
- Combine searches — run multiple cities/categories in one go
- Set spending limits — control your budget before hitting Run
📊 How we compare
| Feature | This tool | Others |
|---|---|---|
| Price per 1,000 leads | ~$5 | $200–$500+ |
| Pay per result | ✅ | ❌ (subscriptions) |
| Spending limits | ✅ | ❌ |
| Live cost tracking | ✅ | ❌ |
| No API key needed | ✅ | ❌ |
| Email extraction included | ✅ | Often a separate paid add-on |
| No browser overhead | ✅ HTTP-only engine | Often browser-based |
📝 Changelog
v4.0.0 (October 2026)
- 🚀 Rebuilt on an HTTP-only engine — no more browser, no scrolling, no detail-page visits
- 🆕 New output fields:
categories,city,postalCode,countryCode,timezone,photos,accessibility,reserveTableUrl,kgmid - ⚠️ Place IDs are no longer supported — use Start URLs or Search Terms instead
- ⚠️ Business status is now always
OPERATIONAL; price level is usually unavailable - ✅ Added automated unit tests for the response parser (
npm test)
v3.0.0 (March 2026)
- 💰 Pay-per-event pricing — $0.005/lead
- 📊 Live cost tracking in Console
- 🛑 Graceful stop at spending limit
v2.0.0 (February 2026)
- ⚡ 2-3x faster with adaptive scrolling
- 🎯 Smart detail-page fallback
v1.0.0 (January 2026)
- ✨ Initial release
Related tools on Apify Store
Looking for data beyond local business leads? Search Apify Store for scrapers covering social media, e-commerce, and search engine results — many integrate with this Actor's output through the same Apify API and dataset format.
🤝 Support
Questions, bug reports, or need a custom version of this Actor for your specific use case? Open an issue on the GitHub repository.