Google Maps Leads Scraper Pro avatar

Google Maps Leads Scraper Pro

Pricing

$4.00 / 1,000 results

Go to Apify Store
Google Maps Leads Scraper Pro

Google Maps Leads Scraper Pro

Extract business leads from Google Maps with phone numbers, websites, verified emails and social profiles. Filter by rating and review count, enrich from business websites with MX-checked emails, dedupe across searches, and get a per-search summary. Built for local lead generation and outreach lists

Pricing

$4.00 / 1,000 results

Rating

0.0

(0)

Developer

Goldenbios

Goldenbios

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract business leads from Google Maps — name, category, address, phone, website, rating, and review count for any search — with contact enrichment included: email addresses pulled from each business's own website (homepage and contact page), an MX deliverability check on every email domain, and social profile links. Duplicates are removed across the whole run by Place ID, and every search ends with a summary item that accounts honestly for what was found, emitted, skipped, and filtered.

Built for lead generation, local SEO prospecting, agency outreach lists, and market research: type searches like plumber in Austin, Texas, get a clean, deduplicated lead list with working contact channels.

Why this actor?

Google Maps Leads Scraper ProTypical contact-details scrapers
PriceFlat per lead (see the Pricing tab)$5–10 per 1,000 places, tiered by your plan
Email extractionIncluded — homepage + contact pageBilled as a separate per-lead add-on
Email verificationMX check included, verdict per emailBilled per verified email
Social profilesIncluded — 7 networksBilled per profile
Extra event feesNone — no start fee, no per-email or per-social chargesActor start fee + per-event charges stack up
DeduplicationRun-wide, by Place ID — overlapping searches never emit the same business twiceOften per-search only
Run summaryPer-search summary: found / emitted / duplicates / filtered + email, phone, website, social coverageUsually absent

What it extracts

From Google Maps (no extra cost)

FieldDescription
titleBusiness name
categoryPrimary category (Plumber, Dentist, Restaurant, …)
addressFull address as listed on Maps
phonePhone number, E.164 form when Google provides it
websiteWebsite exactly as listed on the Maps profile
rating / reviewsCountGoogle rating and number of reviews
latitude / longitudeCoordinates
placeId / fidGoogle Place ID (ChIJ…) and feature ID — your dedup and join keys
googleMapsUrlCanonical Maps link for the place
searchedFromThe query or place URL that found this lead

From the business website (enrichment, included)

FieldDescription
emails[]Addresses found on the homepage and contact page — plain, mailto: links, and obfuscated forms (name [at] domain [dot] com). Each entry carries its source page and its mxValid verdict
emailSourceWhere the first email was found: website or contact-page
socials{}First profile URL per network: Facebook, Instagram, LinkedIn, Twitter/X, YouTube, TikTok, WhatsApp (share buttons are skipped, only real profiles)

Inputs

InputTypeDefaultDescription
searchQueriesstring list—Searches in "term + location" form, e.g. plumber in Austin, Texas. One Maps search returns about 20 places
placeUrlsrequest list—Individual Google Maps place URLs to resolve into single leads
maxPlacesPerSearchinteger20Cap on leads taken from one search
languagestringenLanguage code for results (en, fr, de, es, ar, …)
regionstring—Optional 2-letter country code; country-targets Apify Proxy traffic
minRatingnumber—Only places at or above this rating (places with no rating are excluded when set)
minReviewsCountinteger—Only places with at least this many reviews
onlyWithWebsitebooleanfalseSkip places with no website
onlyWithPhonebooleanfalseSkip places with no phone number
scrapeWebsiteForEmailsbooleantrueVisit each lead's website and extract emails
verifyEmailMxbooleantrueMX-check every extracted email's domain
extractSocialLinksbooleantrueExtract social profile links during the website visit
maxWebsitePagesPerLeadinteger21 = homepage only, 2 = homepage + contact page
includeSummarybooleantrueEmit one summary item per search
proxyConfigurationproxyApify Proxy RESIDENTIALGoogle blocks datacenter IPs; residential is the prepared default

Outputs

Three item types share one dataset, told apart by the type field:

  • lead — one per business, fields as in the tables above.
  • summary — one per search: foundCount, emittedCount, duplicatesSkipped, filteredOutCount, and coverage counters withEmailCount, withPhoneCount, withWebsiteCount, withSocialsCount, plus stoppedReason (resultsExhausted, maxPlacesReached, searchFailed).
  • error — one per failed search, with the reason; if every search fails, the run itself is marked failed rather than returning an empty success.

mxValid — read it correctly

  • true — the domain publishes MX records and accepts mail.
  • false — the domain has no MX records; mail to it will bounce.
  • null — verification was off, or the DNS lookup failed; no verdict is claimed. An MX check proves the domain accepts mail — it cannot prove an individual mailbox exists.

Recipes

Local trades list with emails. Queries: plumber in Austin, Texas, electrician in Austin, Texas, hvac in Austin, Texas. Defaults on. Expect roughly 20 leads per query, deduplicated across all three.

High-quality prospects only. Add minRating: 4, minReviewsCount: 50, onlyWithWebsite: true. The summary's filteredOutCount tells you exactly how much the filters cost you.

Wide city coverage. The Maps backend returns about 20 places per query, so split the city: dentist in Manhattan, dentist in Brooklyn, dentist in Queens… Run-wide dedup makes the overlaps free.

One known business. Paste its Maps URL into placeUrls — full place URLs (with the /place/<name>/ segment) resolve most reliably.

Phones only, no enrichment. Turn off scrapeWebsiteForEmails and extractSocialLinks, set onlyWithPhone: true — fastest, cheapest run shape.

FAQ

How many leads does one query return? About 20 — that is what the Maps search backend returns per query. For more, add more specific queries (neighborhoods, adjacent towns, related terms). Dedup is run-wide, so overlapping queries never double-charge you for the same business.

Why are some emails missing? Emails come only from what a business publishes on its own website. Many businesses publish a contact form instead of an address — those leads simply have an empty emails list; the summary's withEmailCount shows your real coverage per search.

What does the MX check actually prove? That the email's domain accepts mail (MX records exist). mxValid: false is a hard signal the address cannot receive mail. It does not verify individual mailboxes.

Do I pay extra for emails or socials? No. Enrichment is included in the flat per-lead price — no per-email, per-verification, or per-profile event fees, and no actor start fee.

Honest limits

  • One search returns ~20 places; there is no cursor to page deeper into a single query. Coverage comes from more queries, not bigger caps.
  • Emails and socials exist only when the business publishes them on a reachable website; a dead or script-only site yields none, and the lead still carries its full Maps data.
  • region targets the proxy's exit country; it is not a Maps location parameter. Put the location in the query text (term in City, State).
  • Google occasionally reshapes its payloads; the parser reads typed slots with fallbacks and emits null rather than guessing when a field is absent.