Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Google Maps Scraper

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

Blynx

Blynx

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

2 days ago

Last modified

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, and qualityFlags
  • ๐Ÿ”„ Enrich existing lists from Google Maps URLs, place IDs, data IDs, or an Apify dataset

โš™๏ธ Five modes, five jobs

ModeUse it whenOutput
FULLYou want search results plus details and contactsOne rich business item per place
SEARCHYou want fast discovery with lighter outputOne item per found place
DETAILYou already have Maps URLs, place IDs, or data IDsDetailed business records
REVIEWSYou care about review text and ratingsPlace items with reviews or one row per review
CONTACTSYou already know the places and need emails/socialsContact-enriched business records

๐Ÿ’ก Pro tip: for sales work, start with FULL, website: "withWebsite", and scrapeContacts: true. It removes a lot of dead leads before they hit your spreadsheet.


๐Ÿ“ฅ Input examples

{
"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

FieldWhat it means
searchStringsArraySearch terms: restaurants, plumbers, dentists, coffee shops.
locationQueryCity, district, ZIP, region, or country appended to every search term.
startUrlsDirect Google Maps URLs for DETAIL, REVIEWS, or CONTACTS.
placeIdsGoogle Place IDs.
featureIdsGoogle Maps data IDs in 0x...:0x... format.
datasetIdRead known places from a previous Apify dataset.
maxCrawledPlacesPerSearchResult cap per search phrase.
scrapePlaceDetailPageAdds richer Google Maps detail fields.
scrapeContactsVisits business websites for emails, phones, and social profiles.
maxContactPagesWebsite pages to crawl per business.
scrapeReviewsFetches Google Maps review payloads.
maxReviewsMaximum reviews per place.
outputModePLACE_ITEMS or REVIEW_ITEMS.
categoryFilterWordsKeep places whose categories include selected words.
placeMinimumStarsSkip places below a rating threshold.
websiteAll places, only with website, or only without website.
skipClosedPlacesSkip permanently closed places when Google exposes status.
language, countryCodeResult language and country context.
maxImagesNumber of image URLs to keep.
proxyApify 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, photo1Url to photo5Url
  • Lead quality: leadScore, contactCompletenessScore, qualityFlags
  • Reviews: nested reviews or separate review items depending on outputMode
{
"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 maxReviews reasonable 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