Google Maps Scraper — Leads, Contacts, Emails & Social Profiles
Pricing
from $2.08 / 1,000 place scrapeds
Google Maps Scraper — Leads, Contacts, Emails & Social Profiles
Google Maps scraper for lead generation: search any category and city, get places with phone, website, verified emails, social profiles and newest reviews in one run. Layered add-ons, batch input, pay per event.
Pricing
from $2.08 / 1,000 place scrapeds
Rating
0.0
(0)
Developer
daehwan kim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Give it a category and a city, get sales-ready leads in one run. Every place comes with name, address, phone, website, rating and map URL. Turn on the add-ons and the same run also reads each business's own website for emails, phones and social links, verifies every email (syntax, MX record, disposable domain), opens the social profiles, and pulls the newest Google reviews. Batch input: any number of queries, Google Maps URLs or place IDs.
This Actor is an independent, unofficial tool. It is not affiliated with, endorsed by, or sponsored by Google. It reads only publicly accessible Google Maps listings and the businesses' own public websites, without logging in. Its request logic was written with reference to the MIT-licensed gosom/google-maps-scraper; no third-party code is bundled. You are responsible for complying with the target sites' terms of service and with privacy law (GDPR, CCPA, PIPA and others) in your jurisdiction, and you are the data controller for any personal data (emails, phone numbers, reviewer names) returned by a run you start. Use the output for lawful purposes only.
Who this is for
Lead-generation agencies, local-marketing teams, sales reps and researchers who need contactable business lists — not just map pins. If you only need places, run it with the add-ons off and pay for places only.
What one run returns
| Row type | One row per | Fields |
|---|---|---|
place | business | title, address, phone, website, totalScore, reviewsCount, categoryName, url, placeId, contact (emails, phones, social links), filterApplied |
email | email found on the website | email, verdict (deliverable, deliverable-role, disposable, no-mail-server, invalid-syntax), mxFound, mxHosts, roleBased, freeProvider, disposable |
social | social link found on the website | platform, profileUrl, handle, pageTitle, statusCode |
review | newest Google review (optional) | name, stars, text, publishedAtDate, isLocalGuide, reviewerNumberOfReviews |
Google shows a logged-out client at most about 5 reviews per business; this Actor does not pretend
otherwise. Reviews are off by default (maxReviewsPerPlace: 0).
Pricing (pay per event)
| Event | Charged per | USD (FREE plan; paid plans get 20–48% off) |
|---|---|---|
apify-actor-start | run | 0.005 |
place-scraped | place row | 0.004 |
filter-applied | place kept, when any filter is on | 0.001 |
contact-details-scraped | place whose website was read | 0.003 |
lead-email-verified | email row | 0.003 |
social-profile-scraped | social row | 0.004 |
review-scraped | review row | 0.0005 |
cross-platform-review-scraped | App Store / Google Play review row | 0.0003 |
Example: 100 dentists in Austin with contacts and email verification, about 60 of them with a website and 1.5 emails each: 100 places $0.40 + 60 contacts $0.18 + 90 emails $0.27 + start $0.005 = about $0.86. A places-only run of the same 100 businesses is $0.405.
Every row written to the dataset is charged, whatever the target site answered. A place that fails a
filter is not delivered and not charged. Notice rows (noticeCode) are messages, never charged.
Input
{"queries": ["dentist, Austin TX", "https://www.google.com/maps/place/..."],"maxPlacesPerQuery": 20,"minRating": 4,"requireWebsite": true,"includeContactDetails": true,"verifyEmails": true,"scrapeSocialProfiles": true,"maxReviewsPerPlace": 0,"proxyConfiguration": { "useApifyProxy": true }}
queries— array (required). Search phrases, Maps URLs, place IDs, or "name, city".- Filters —
minRating,requireWebsite,requirePhone. - Add-ons —
includeContactDetails,verifyEmails,scrapeSocialProfiles,maxReviewsPerPlace,crossPlatforms. - Free Apify plans receive the first 25 result rows per run; paid plans receive the full result set.
Output example
{ "rowType": "place", "title": "Bright Smile Dental", "phone": "+1 512-555-0100", "website": "https://brightsmile.example","totalScore": 4.8, "reviewsCount": 312, "categoryName": "Dentist", "contact": { "emails": ["info@brightsmile.example"], "social": { "instagram": "https://instagram.com/brightsmile" } } }{ "rowType": "email", "title": "Bright Smile Dental", "email": "info@brightsmile.example", "verdict": "deliverable-role", "mxFound": true, "roleBased": true }{ "rowType": "social", "title": "Bright Smile Dental", "platform": "instagram", "handle": "brightsmile", "statusCode": 200 }
Runs on the Apify platform
Schedule it, call it from the API, or use it in a workflow. Datacenter proxy is enough for Google Maps; residential proxy is rarely needed. Runs are headless Chromium; 4 GB memory is recommended.
If this Actor saved you time, a sentence about what you used it for helps the next person decide.
Leave a review
A short review on the Reviews tab, good or bad, helps other people find this Actor and tells us what to build next. Found a bug or need a feature? Open an issue on the Issues tab and we'll look into it.