Google Maps Scraper: B2B Leads & Emails avatar

Google Maps Scraper: B2B Leads & Emails

Pricing

$14.99/month + usage

Go to Apify Store
Google Maps Scraper: B2B Leads & Emails

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

$14.99/month + usage

Rating

0.0

(0)

Developer

anuj upadhyay

anuj upadhyay

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

3

Monthly active users

6 days ago

Last modified

Share

πŸ—ΊοΈ Google Maps Scraper: B2B Leads & Emails

The last Google Maps scraper you'll ever need. Extract verified business leads β€” names, phones, websites, ratings, reviews, addresses β€” at scale with zero configuration.

TL;DR

This actor extracts complete business contact data from Google Maps. Just type what you'd search on Google Maps β€” the scraper fetches exactly what you'd see. Single queries can return 500+ verified leads with phone numbers, websites, and full addresses.

Quick start β€” paste this and hit Run:

{
"searchTerms": ["Plumbers in New York"],
"maxItems": 100
}

That's it. You'll get 100 plumber businesses with names, phone numbers, websites, ratings, review counts, addresses, and direct Google Maps links β€” all cleaned and ready for your CRM.


⚠️ IMPORTANT NOTE ABOUT PRICING

Please familiarize yourself with the pricing before using this actor.

Pricing: $51 per 1,000 leads ($0.051 per lead)

  • Each extracted business lead costs $0.051
  • The actor charges per result β€” you only pay for data you actually receive
  • Set a spending limit in the Apify Console to control your maximum cost per run
  • The actor gracefully stops when your limit is reached and delivers all data collected up to that point
  • Live cost tracking is displayed in the Console as the scraper runs

πŸš€ How It Works

This actor is built with Playwright and Crawlee for maximum reliability. It opens real browser sessions, scrolls through Google Maps results, and extracts everything visible on each business card β€” no API keys, no rate limits.

  1. You provide search terms β€” the same queries you'd type into Google Maps
  2. The actor scrolls and extracts β€” adaptive scrolling loads all results automatically
  3. Rich data from list view β€” phone, website, category, address, and ratings are extracted directly from the sidebar cards in a single pass
  4. Detail page fallback β€” if phone or website is missing from the card, the actor visits the detail page to fill in the gaps, ensuring 100% data completeness
  5. Clean, structured output β€” all data is normalized, validated, and ready for export

Pro tip: Set includeWebsite: false and includePhone: false if you only need basic info β€” the scraper will skip detail-page visits entirely, making runs 2–3x faster.


πŸ“‹ Examples

Scrape local businesses in any city

{
"searchTerms": ["Dentists in London"],
"maxItems": 200
}

Multiple search terms in one run

{
"searchTerms": ["Coffee shops in San Francisco", "Pizza restaurants in Boston", "Hair salons in Miami"],
"maxItems": 100
}

Fast mode β€” names, ratings, and addresses only

{
"searchTerms": ["Hotels in Dubai"],
"maxItems": 500,
"includeWebsite": false,
"includePhone": false
}

Full contact extraction with anti-blocking tuning

{
"searchTerms": ["Real estate agents in Los Angeles"],
"maxItems": 300,
"includeWebsite": true,
"includePhone": true,
"scrollDelay": 2000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

🍜 Output Example

Every lead comes back clean, validated, and ready for your CRM or spreadsheet:

{
"businessName": "Joe's Plumbing & Heating",
"address": "742 Evergreen Terrace, Springfield, IL 62704",
"website": "https://joesplumbing.com",
"phone": "+1 (217) 555-0142",
"rating": 4.8,
"reviewCount": 312,
"category": "Plumber",
"googleMapsUrl": "https://www.google.com/maps/place/Joe's+Plumbing...",
"searchTerm": "Plumbers in Springfield IL",
"scrapedAt": "2026-03-27T10:30:00.000Z"
}

Output Fields

FieldTypeDescription
businessNameStringFull business name as shown on Google Maps
addressStringComplete street address
websiteStringBusiness website URL (cleaned, Google redirects unwrapped)
phoneStringPhone number (validated β€” minimum 7 digits)
ratingFloatGoogle Maps star rating (0.0–5.0)
reviewCountIntegerTotal number of Google reviews
categoryStringBusiness category (e.g., "Plumber", "Restaurant")
googleMapsUrlStringDirect link to the Google Maps listing
searchTermStringThe search query that produced this result
scrapedAtStringISO 8601 timestamp of when the data was collected

Export Formats

Download your leads in any format: JSON Β· CSV Β· Excel (.xlsx) Β· HTML Β· RSS


🍚 Input Parameters

FieldTypeRequiredDefaultDescription
searchTermsArray<String>Yes-Search queries β€” same as what you'd type on Google Maps (e.g., "Plumbers in New York")
maxItemsIntegerYes10Maximum leads to extract per search term (1–500)
proxyConfigurationObjectYesResidentialApify Proxy settings β€” residential proxies required for reliable scraping
includeWebsiteBooleanNofalseExtract website URLs. Enables detail-page visits when not available in list view
includePhoneBooleanNofalseExtract phone numbers. Enables detail-page visits when not available in list view
scrollDelayIntegerNo1200Max ms between scrolls. Actor uses adaptive waiting β€” moves on instantly when new results appear. Increase to 2000–4000 if you hit blocks

πŸ’‘ Tip: Start with maxItems: 10 for a quick test, then scale up. The actor shows live progress in the Console so you always know what's happening.


πŸ’° Pricing Breakdown

LeadsCostUse Case
10~$0.51Quick test
100~$5.10Small local campaign
500~$25.50City-level prospecting
1,000~$51.00Multi-city lead gen
5,000~$255.00Regional sales pipeline

Spending limits: Set a maximum cost per run in the Apify Console. The actor gracefully stops when the limit is reached β€” you never get a surprise bill.

Live tracking: The Console shows "Scraping in progress β€” 45 leads extracted (~$2.30 charged)" in real time so you always know exactly where you stand.


πŸ›‘οΈ Anti-Blocking Features

This isn't a toy scraper. It's built for production:

  • Session pool β€” up to 50 concurrent browser sessions with cookie persistence
  • Residential proxy rotation β€” each session uses a different IP from Apify's residential network
  • Browser fingerprinting β€” unique fingerprints per session (Chrome on Windows/macOS/Linux)
  • Resource blocking β€” images, fonts, analytics, and tracking scripts are blocked, cutting bandwidth by ~60%
  • Adaptive scrolling β€” waits for actual DOM changes, not fixed timers
  • Stealth flags β€” AutomationControlled disabled, realistic headers, human-like behavior

πŸ‘Ή Competitors

Try it and you'll see the difference. All comparisons use identical inputs and residential proxies.

FeatureπŸ—ΊοΈ This ActorOutscraperBright DataPhantomBuster
Price per 1,000 leads$51$200+$500+/mo$159+/mo
Phone numbers includedβœ…βœ…βœ…βŒ
Website URLs includedβœ…βœ…βœ…βŒ
Ratings & reviewsβœ…βœ…βœ…βŒ
Full addressesβœ…βœ…βœ…βœ…
Google Maps direct linksβœ…βœ…βŒβŒ
Anti-blocking built-inβœ…βœ…βœ…βŒ
Spending limit controlβœ…βŒβŒβŒ
Live cost trackingβœ…βŒβŒβŒ
Data cleaning & validationβœ…Partial❌❌
Pay per resultβœ…βŒ (credits)❌ (subscription)❌ (subscription)
No API key requiredβœ…βŒβŒβŒ

🎎 Who Needs This?

  • Sales teams building targeted B2B contact lists β€” get phone numbers and websites for any local business category in any city
  • Marketing agencies running local SEO or Google Ads campaigns β€” analyze competitor ratings, reviews, and market density
  • Startup founders doing market research β€” understand local competitive landscapes before launching
  • Real estate professionals finding service providers, contractors, and businesses in new markets
  • Franchise operators scouting locations by analyzing existing businesses in target areas
  • Data analysts processing large-scale geospatial business intelligence

πŸ“Š Use Cases

Use CaseSearch Term ExampleWhat You Get
B2B Sales Prospecting"IT companies in Austin"Phone, website, email pages for outreach
Local SEO Analysis"Dentists in Chicago"Ratings, review counts, competitor density
Market Research"Coworking spaces in Berlin"Addresses, categories, Google Maps links
Directory Building"Restaurants in Manhattan"Complete business profiles for listing sites
Competitive Intelligence"Car dealerships in Dallas"Ratings, reviews, website comparison

βš™οΈ Advanced Configuration

Custom Proxy Setup

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Speed vs. Reliability

ScenarioscrollDelaymaxConcurrency*Notes
Fast extraction8005Default β€” great for most queries
Blocked frequently25003Slower but more reliable
High-volume batch12005Balanced for 1000+ leads

* maxConcurrency can be customized in src/main.js (default: 5)


πŸ”§ Troubleshooting

ProblemSolution
"Could not find results sidebar"Google Maps layout may have changed, or proxy is misconfigured. Check the debug screenshot in Key-Value Store.
Getting fewer results than expectedThe search term may be too specific, or Google doesn't have more listings. Try a broader query.
Requests timing outIncrease scrollDelay to 2500+. Residential proxies on slow containers sometimes need more headroom.
Missing phone/website on some leadsSome businesses simply don't list this info on Google Maps. The actor always delivers what's available.
Run stopped before maxItemsYou likely hit your spending limit. Increase the "Max total charge (USD)" in the Console and re-run.

πŸ“š Documentation

  • QUICKSTART.md β€” Get started in 5 minutes
  • TECHNICAL_DOCS.md β€” Deep dive into architecture
  • COST_GUIDE.md β€” Understand pricing and platform costs
  • PERFORMANCE_GUIDE.md β€” Optimize speed and reliability

πŸ“ Changelog

v3.0.0 (2026-03-27)

  • πŸ’° Pay Per Event pricing β€” $0.051 per lead ($51 per 1,000 leads)
  • πŸ“Š Live status messages in Apify Console showing leads extracted and cost
  • πŸ›‘ Graceful abort when user spending limit is reached
  • ⬆️ Upgraded Apify SDK to v3.7.0 for full PPE support
  • πŸ”’ Memory limits enforced (1–8 GB) for predictable platform costs

v2.0.0 (2026-02-01)

  • ⚑ Performance rewrite β€” adaptive scroll, rich list-view extraction
  • 🚫 Eliminated redundant networkidle waits (saved up to 30s per page)
  • πŸ“± Smart DETAIL fallback β€” only visits detail pages when data is genuinely missing

v1.0.0 (2026-01-20)

  • ✨ Initial release with multi-layer anti-blocking, auto-scroll pagination, and clean JSON output

Made with ❀️ by @anuj123upadhyay

Star ⭐ this repo if you find it useful!