Pricing
from $1.50 / 1,000 results
Google Maps Scraper
Fast HTTP-only Google Maps scraper for places, reviews, photos, phones, emails, websites, social profiles, opening hours and lead data. Export clean business contacts at scale with no browser runtime.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
๐ Google Maps Scraper - Business Leads, Contacts, Reviews
A no-browser Google Maps scraper built for lead generation. Search businesses by keyword and location, enrich each place with website contacts, emails, phones, social profiles, photos, opening hours, reviews, and lead-quality scores.
Turn searches like "dentists in Austin", "coffee shops New York", or direct Google Maps URLs into clean business records you can export to CSV, Excel, Google Sheets, CRM tools, or your own API.
๐ What it does
This actor is not just a place finder. It is designed to produce lead-ready business data:
- ๐ข Find businesses on Google Maps by keyword + location
- ๐ Scrape place details: name, category, address, coordinates, rating, reviews count, website, phone, opening hours
- ๐ฌ Visit business websites and extract emails, extra phones, social profiles, and contact/about pages
- โญ Collect Google Maps reviews as nested reviews or one row per review
- ๐ผ๏ธ Save photo URLs and the first five photo columns for spreadsheet-friendly exports
- ๐งฎ Score lead quality with
leadScore,contactCompletenessScore, andqualityFlags - ๐ Enrich existing lists from Google Maps URLs, place IDs, data IDs, or an Apify dataset
โ๏ธ Five modes, five jobs
| Mode | Use it when | Output |
|---|---|---|
FULL | You want search results plus details and contacts | One rich business item per place |
SEARCH | You want fast discovery with lighter output | One item per found place |
DETAIL | You already have Maps URLs, place IDs, or data IDs | Detailed business records |
REVIEWS | You care about review text and ratings | Place items with reviews or one row per review |
CONTACTS | You already know the places and need emails/socials | Contact-enriched business records |
๐ก Pro tip: for sales work, start with
FULL,website: "withWebsite", andscrapeContacts: true. It removes a lot of dead leads before they hit your spreadsheet.
๐ฅ Input examples
Local lead search
{"mode":"FULL","searchStringsArray":["dentists","orthodontists"],"locationQuery":"Austin, TX","maxCrawledPlacesPerSearch":200,"scrapePlaceDetailPage":true,"scrapeContacts":true,"maxContactPages":5,"website":"withWebsite","placeMinimumStars":4,"countryCode":"US","language":"en"}
Small smoke test
{"mode":"FULL","searchStringsArray":["coffee shops"],"locationQuery":"New York, NY","maxCrawledPlacesPerSearch":5,"scrapeContacts":true,"maxContactPages":1}
Reviews as separate rows
{"mode":"REVIEWS","startUrls":[{"url":"https://www.google.com/maps/place/?q=place_id:ChIJvSQIgqFZwokRFYQbJdzceSs"}],"scrapeReviews":true,"maxReviews":500,"reviewsSort":"newest","outputMode":"REVIEW_ITEMS"}
๐๏ธ Input fields
| Field | What it means |
|---|---|
searchStringsArray | Search terms: restaurants, plumbers, dentists, coffee shops. |
locationQuery | City, district, ZIP, region, or country appended to every search term. |
startUrls | Direct Google Maps URLs for DETAIL, REVIEWS, or CONTACTS. |
placeIds | Google Place IDs. |
featureIds | Google Maps data IDs in 0x...:0x... format. |
datasetId | Read known places from a previous Apify dataset. |
maxCrawledPlacesPerSearch | Result cap per search phrase. |
scrapePlaceDetailPage | Adds richer Google Maps detail fields. |
scrapeContacts | Visits business websites for emails, phones, and social profiles. |
maxContactPages | Website pages to crawl per business. |
scrapeReviews | Fetches Google Maps review payloads. |
maxReviews | Maximum reviews per place. |
outputMode | PLACE_ITEMS or REVIEW_ITEMS. |
categoryFilterWords | Keep places whose categories include selected words. |
placeMinimumStars | Skip places below a rating threshold. |
website | All places, only with website, or only without website. |
skipClosedPlaces | Skip permanently closed places when Google exposes status. |
language, countryCode | Result language and country context. |
maxImages | Number of image URLs to keep. |
proxy | Apify proxy settings. Residential is recommended at scale. |
๐ค Output
Place records
- Business:
title,subTitle,categoryName,categories - Google IDs:
googleMapsUrl,placeId,dataId,featureId,cid - Reputation:
rating,reviewsCount - Location:
address,street,city,state,postalCode,countryCode,latitude,longitude - Contacts:
website,domain,phone,phoneUnformatted,contacts.emails,contacts.phones,contacts.socialProfiles - Website crawl:
contacts.crawledUrls,contacts.websiteStatus,contacts.error - Operations:
openingHours,priceLevel,description,businessDescription - Media:
images,imageUrl,photoUrls,photo1Urltophoto5Url - Lead quality:
leadScore,contactCompletenessScore,qualityFlags - Reviews: nested
reviewsor separate review items depending onoutputMode
{"title":"Example Coffee","categoryName":"Coffee shop","googleMapsUrl":"https://www.google.com/maps/place/?q=place_id:...","rating":4.6,"reviewsCount":382,"website":"https://example.com","phone":"+1 555-123-4567","address":"123 Main St, New York, NY","contacts":{"emails":["hello@example.com"],"phones":["+1 555-123-4567"],"socialProfiles":{"instagram":["https://www.instagram.com/example"]}},"leadScore":82,"contactCompletenessScore":85}
๐ก๏ธ Reliability notes
- HTTP-only place scraping: no browser runtime for the main Google Maps flow.
- Residential proxy recommended for larger runs and repeated searches.
- Contact enrichment depends on websites: some businesses simply do not publish emails or social links.
- Reviews can be heavier: keep
maxReviewsreasonable for first tests. - Use smaller geographies if you need coverage. Google Maps ranking changes by location and query wording.
๐ผ Use cases
- Local lead generation
- Agency prospecting
- CRM enrichment
- Competitor mapping
- Franchise and branch databases
- Review monitoring
- SEO/local pack research
- Finding businesses with missing websites or weak contact presence
โ FAQ
Q: Can it get emails from Google Maps directly?
Google Maps usually does not expose email addresses. The actor visits the business website and extracts emails there.
Q: Why are contacts missing for some businesses?
The website may not publish an email, may block crawlers, or may require JavaScript. Increase maxContactPages if emails are usually on contact/about pages.
Q: How do I get one row per review?
Set scrapeReviews: true and outputMode: "REVIEW_ITEMS".
Q: Can I input my own list of places?
Yes. Use startUrls, placeIds, featureIds, or datasetId.
Q: What is a good first run?
One search term, one city, maxCrawledPlacesPerSearch: 5, and maxContactPages: 1.
๐ท๏ธ Tags
google maps scraper ยท google maps leads ยท business contacts ยท email scraper ยท local lead generation ยท place scraper ยท google reviews ยท maps api alternative ยท crm enrichment ยท apify google maps
๐ Built for Apify | HTTP-only Maps data | Contact enrichment | Reviews | Lead scoring
