Google Maps Business Scraper — Contacts & Reviews avatar

Google Maps Business Scraper — Contacts & Reviews

Pricing

from $2.00 / 1,000 google maps places

Go to Apify Store
Google Maps Business Scraper — Contacts & Reviews

Google Maps Business Scraper — Contacts & Reviews

Scrape Google Maps businesses and export addresses, phone numbers, websites, publicly available emails, social profiles, photos, ratings, reviews, opening hours, coordinates, and detailed place data.

Pricing

from $2.00 / 1,000 google maps places

Rating

0.0

(0)

Developer

DataForge

DataForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Categories

Share

🌍 Google Maps Business Intelligence Scraper

Turn Google Maps into a clean, structured business dataset. Enter business searches, Google Maps URLs, place IDs, or data IDs and receive real place records ready for lead generation, market research, local SEO, and directory building.

✅ Addresses and coordinates
✅ Phones, websites, emails, and social profiles
✅ Ratings, reviews, opening hours, and categories
✅ Photos and detailed business attributes
✅ Automatic input detection and deduplication


💡 Why this Actor

  • 🎛️ Two modes, one actor — Fast for clean place lists, Full for details, reviews and public website contacts
  • 🧠 Automatic input detection — business searches, Google Maps URLs, place IDs and data IDs in one field, with duplicates saved once
  • ☎️ Contacts beyond Google — emails, phones and social profiles pulled from the public business website
  • 🚦 Honest status fields — detailStatus, contactsStatus and reviewsStatus separate unavailable data from real errors
  • 🛡️ Resilient enrichment — slow or protected websites are marked partial, failed or timed_out and never block the whole run

📸 Sample output

Google Maps Business Scraper sample output — real data fields

A real run's output — exportable to JSON, CSV, or Excel.


✨ What can be collected?

🏢 Business identity

  • Business name and Google place ID
  • Google data ID and CID
  • Primary category and additional categories
  • Google Maps URL
  • Business description and price level

📍 Location

  • Full address
  • Street, city, state, postal code, and country
  • Latitude and longitude
  • Neighborhood and located-in information when published

☎️ Contacts

  • Google-published phone number
  • Additional public website phone numbers
  • Website URL
  • Public email addresses
  • Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok, and Pinterest profiles

⭐ Reputation

  • Google rating
  • Total review count
  • Review text and rating
  • Reviewer information and publication date
  • Review collection status

🖼️ Media and details

  • Main business image
  • Photo URL collection
  • Opening hours
  • Business attributes and highlights
  • Supported services, accessibility, payments, and amenities when available

🎛️ Scraping modes

⚡ Fast mode

Fast mode is designed for quick discovery and larger business lists. It reads the information available in Google Maps search results and saves a normalized place row.

Fast mode can return:

  • Business name and categories
  • Address and coordinates
  • Google phone number and website
  • Rating and total review count
  • Google Maps URL
  • Main photo and additional photo URLs
  • Search metadata and quality scores
{
"mode": "fast",
"queries": ["dentists", "orthodontists"],
"locationQuery": "Austin, TX",
"maxCrawledPlacesPerSearch": 25,
"maxImages": 5
}

🔎 Full mode

Full mode performs detailed business enrichment. It opens Google place details, collects Google reviews, and checks the public business website for contact information.

Full mode can return:

  • Complete Google place details
  • Business description, attributes, and highlights
  • Detailed opening hours
  • Public website emails and phone numbers
  • Social profile links
  • Website pages checked during contact discovery
  • Google review records
  • Explicit status for every enrichment stage
{
"mode": "full",
"queries": ["roofing contractors"],
"locationQuery": "Denver, CO",
"maxCrawledPlacesPerSearch": 10,
"maxImages": 10,
"maxReviews": 25
}

Slow or protected websites do not block the entire run. The place is preserved and the contact stage is marked partial, failed, or timed_out.


🧭 How it works

┌─────────────────────────────────────────────┐
│ queries │
│ • business search │
│ • Google Maps URL │
│ • Google place ID │
│ • Google data ID │
└──────────────────────┬──────────────────────┘
┌────────────────────────┐
│ Automatic input parser │
└────────────┬───────────┘
┌─────────┴─────────┐
▼ ▼
Google Maps search Direct place fetch
└─────────┬─────────┘
Details • contacts • reviews
Normalize and remove duplicates
Apify dataset output

The queries field is mandatory. Each value is detected automatically, so no separate workflow selector is required.


🚀 More input examples

Search several markets

{
"mode": "fast",
"queries": [
"coffee shops in Seattle, WA",
"bakeries in Chicago, IL",
"bookstores in Boston, MA"
],
"locationQuery": "",
"maxCrawledPlacesPerSearch": 20,
"maxImages": 5
}

Scrape known places

{
"mode": "full",
"queries": [
"https://www.google.com/maps/place/...",
"ChIJN1t_tDeuEmsRUsoyG83frY4",
"0x89c259af336b3341:0xa4969e07ce3108de"
],
"locationQuery": "",
"maxImages": 10,
"maxReviews": 10
}

Keep highly rated businesses with websites

{
"mode": "full",
"queries": ["plumbers"],
"locationQuery": "Phoenix, AZ",
"maxCrawledPlacesPerSearch": 50,
"placeMinimumStars": 4.5,
"website": "withWebsite",
"skipClosedPlaces": true,
"maxReviews": 5
}

🧩 Input fields

FieldTypeDescription
modestringSelects one of the collection modes described above
queriesstring[]Required searches, Google Maps URLs, place IDs, or data IDs
locationQuerystringLocation appended to text searches
maxCrawledPlacesPerSearchintegerMaximum places collected for each text search
maxImagesintegerMaximum photo URLs saved per place
maxReviewsintegerMaximum reviews collected per place in Full mode
categoryFilterWordsstring[]Keep matching Google categories
placeMinimumStarsnumberMinimum Google rating from 0 to 5
websitestringKeep all places, places with websites, or places without websites
skipClosedPlacesbooleanExclude permanently closed businesses
languagestringGoogle result language, for example en, de, or ru
countryCodestringTwo-letter country code, for example US, GB, or DE
proxyobjectApify Proxy configuration

Empty inputs, unknown fields, unsupported modes, malformed external URLs, and invalid limits are rejected before a run is created.


📦 Output structure

Each default dataset row represents one unique Google Maps place.

{
"title": "Example Coffee",
"placeId": "ChIJ...",
"dataId": "0x...:0x...",
"categoryName": "Coffee shop",
"categories": ["Coffee shop", "Cafe"],
"address": "123 Main St, Austin, TX 78701",
"city": "Austin",
"state": "Texas",
"postalCode": "78701",
"countryCode": "US",
"latitude": 30.2672,
"longitude": -97.7431,
"phone": "+1 512-555-0100",
"phones": ["+1 512-555-0100"],
"website": "https://example.com",
"emails": ["hello@example.com"],
"instagram": "https://instagram.com/example",
"rating": 4.8,
"reviewsCount": 327,
"imageUrl": "https://...",
"photoUrls": ["https://..."],
"scrapeMode": "full",
"detailStatus": "ok",
"contactsStatus": "ok",
"reviewsStatus": "ok"
}

The Output tab includes focused views for:

  • 🏢 Places
  • ☎️ Contacts
  • 🖼️ Photos
  • ⭐ Reviews
  • 📊 Quality and enrichment status

🚦 Status fields

FieldPossible valuesMeaning
scrapeModefast, fullSelected collection mode
detailStatusok, not_requested, failed, timed_outGoogle detail enrichment result
contactsStatusok, partial, no_website, not_requested, failedPublic website contact result
reviewsStatusok, unavailable, not_requested, failed, timed_outGoogle review collection result

These fields make it easy to distinguish a valid place with unavailable optional data from a real processing error.


  • 🎯 Local lead generation
  • 🗺️ Business directory creation
  • 📈 Competitor and market analysis
  • ⭐ Review and reputation research
  • 🔍 Local SEO audits
  • 🧹 CRM enrichment
  • 🏙️ Location planning and market coverage

⚠️ Public-data availability

The actor returns information published by Google Maps and public business websites. Some businesses do not publish a website, email address, social profile, reviews, or complete opening hours. Missing optional fields are reported honestly and are never replaced with invented values.

Use exported data responsibly and comply with applicable privacy, marketing, and platform rules.