Google Maps Scraper - Cheap avatar

Google Maps Scraper - Cheap

Pricing

Pay per event

Go to Apify Store
Google Maps Scraper - Cheap

Google Maps Scraper - Cheap

Extract Google Maps business leads globally with phones, websites, ratings, categories, opening hours, images, popular times, company contacts, and optional reviews. Launch pricing available for early users.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Yusuf Barış

Yusuf Barış

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

15 days ago

Last modified

Categories

Share

🗺️ Google Maps Business Leads Scraper with Reviews

Extract Google Maps business leads globally with phones, websites, ratings, categories, opening hours, photos, popular times, optional reviews, and optional website-based contact enrichment.

This Actor is built for lead generation, local SEO research, market mapping, competitor discovery, and sales prospecting workflows.

💰 Pricing

Data typePrice
Base place data$1.50 / 1,000 places
Reviews add-on$0.30 / 1,000 reviews

Configure these as pay-per-event items in Apify Console before publishing.

🚀 What You Can Extract

🏢 Base business data

  • Business name
  • Main category and extra categories
  • Full address
  • Latitude and longitude
  • Plus Code
  • Phone number
  • Website URL
  • Google Maps URL
  • Google Place ID and CID
  • Search query, location, rank, and scrape timestamp

⭐ Reputation data

  • Rating
  • Review count
  • Rating distribution when visible
  • Optional review extraction
  • Optional reviewer public profile info
  • Optional review photos
  • Owner responses when visible

🕒 Additional place details

  • Opening hours
  • Current open / closed status
  • Business status
  • Claimed / verified status, best-effort
  • Menu links
  • Booking links
  • Order links
  • Service options
  • Amenities
  • Accessibility details
  • Payment options
  • Dining and service attributes
  • Popular times and live busyness labels when visible
  • Related / nearby businesses

🖼️ Images add-on

  • Public Google Maps image URLs
  • Image alt text when visible
  • Source links when available

🏢 Company contacts enrichment

  • Public emails found on the business website
  • Social profile links
  • Contact / about / team page URLs

👥 Business leads enrichment

  • Public person/title snippets from the business website
  • Owner, founder, manager, director, partner, and similar lead candidates
  • Source URL and surrounding context for each candidate

🔍 Input Options

  • searchQueries: Search terms such as restaurant, dentist, hotel, or car repair.
  • locations: City, state, region, or country.
  • maxPlaces: Number of places to extract per search term or URL.
  • language: Google Maps UI language.
  • countryCode: Optional Google country targeting code such as US, GB, or TR.

Add-on: search filters and categories

  • categories: Category terms to combine with search terms.
  • searchFilterKeywords: Extra intent keywords such as open now, 24 hours, or wheelchair accessible.
  • sortBy: Best-effort result preference. Relevance uses native Google order; rating and review count are applied after visible data is extracted.
  • minRating: Skip places below the selected rating.
  • minReviews: Skip places below the selected review count.
  • openNowOnly: Keep only places that appear open.
  • requireWebsite: Keep only places with a visible website.
  • requirePhone: Keep only places with a visible phone number.
  • onlyClaimed: Keep only claimed / verified places when visible.
  • priceLevels: Keep only places with matching visible price level when available.

Add-on: additional place details

  • includeAdditionalDetails
  • includePopularTimes
  • includePeopleAlsoSearch

Add-on: reviews

  • includeReviews
  • maxReviewsPerPlace
  • reviewSort
  • includeReviewerInfo

Add-on: images

  • includePhotos
  • maxPhotosPerPlace

Add-on: enrichment

  • includeCompanyContacts
  • includeBusinessLeads

Alternative start modes

  • startUrls: Google Maps search URLs or place URLs.
  • placeIds: Google Maps place IDs.
  • geolocation: Center latitude, longitude, zoom, and optional radius.
  • polygons: Polygon areas. The Actor creates a small grid inside each polygon.
  • browseWithoutSearchTerms: Broad business search around the supplied area.

📤 Output Schema

Each dataset item represents one Google Maps business.

Core fields

{
"name": "Business name",
"category": "Restaurant",
"categories": ["Restaurant", "Italian restaurant"],
"address": "123 Main St, New York, NY",
"latitude": 40.7128,
"longitude": -74.006,
"plusCode": "P27Q+MC New York",
"phone": "+1 555 000 0000",
"website": "https://example.com",
"googleMapsUrl": "https://www.google.com/maps/place/...",
"placeId": "ChIJ...",
"cid": "1234567890",
"rating": 4.6,
"reviewCount": 532,
"searchQuery": "restaurant",
"location": "New York, USA",
"rank": 1,
"scrapedAt": "2026-05-11T09:00:00.000Z"
}

Add-on fields

{
"ratingDistribution": { "5Star": 410, "4Star": 80 },
"openingHours": ["Monday: 9 AM-5 PM"],
"currentOpenStatus": "Open now",
"businessStatus": "Open",
"claimedStatus": "Claimed",
"menuUrl": "https://example.com/menu",
"bookingLinks": ["https://example.com/book"],
"orderLinks": ["https://example.com/order"],
"attributes": {
"serviceOptions": ["Dine-in", "Takeout"],
"amenities": ["Wi-Fi"],
"accessibility": ["Wheelchair accessible entrance"],
"payments": ["Credit cards"],
"other": []
},
"popularTimes": [{ "label": "Usually busy at 7 PM", "value": null }],
"peopleAlsoSearch": [{ "name": "Nearby Place", "url": "https://www.google.com/maps/place/..." }],
"photos": [{ "url": "https://lh3.googleusercontent.com/...", "alt": "Food photo" }],
"emails": ["hello@example.com"],
"socialLinks": ["https://www.instagram.com/example"],
"contactPageUrls": ["https://example.com/contact"],
"leadCandidates": [{ "name": "Jane Smith", "title": "Owner", "sourceUrl": "https://example.com/about" }]
}

Reviews field

{
"reviews": [
{
"reviewId": "abc123",
"rating": 5,
"text": "Great service.",
"relativeDate": "2 weeks ago",
"ownerResponse": "Thank you!",
"reviewUrl": "https://www.google.com/maps/...",
"photos": [],
"reviewerName": "Public Reviewer",
"reviewerProfileUrl": "https://www.google.com/maps/contrib/...",
"reviewerAvatarUrl": "https://lh3.googleusercontent.com/..."
}
]
}

Diagnostics

  • partial: true when the place was saved with incomplete extraction.
  • warning: Non-fatal extraction or charging notes.
  • error: Fatal per-place error message if a failed place item was saved.
  • visibleFields: Raw visible UI hints captured for debugging parser gaps.

🧪 Example Input

The prefilled Console input is a fast platform health check. Replace it with search terms, Google Maps URLs, or place IDs to run a live scrape. If you intentionally want to scrape the exact prefilled/default values, set forceLiveScrape to true.

{
"searchQueries": ["restaurant"],
"locations": ["New York, USA"],
"maxPlaces": 1,
"language": "en",
"countryCode": "US",
"categories": ["pizza"],
"minRating": 4,
"requireWebsite": true,
"includeAdditionalDetails": false,
"includePopularTimes": false,
"includePeopleAlsoSearch": false,
"includeCompanyContacts": true,
"includeBusinessLeads": false,
"includeReviews": true,
"maxReviewsPerPlace": 20,
"reviewSort": "newest",
"includeReviewerInfo": false,
"includePhotos": true,
"maxPhotosPerPlace": 20
}

🌍 Global Coverage

The Actor supports global Google Maps searches. For best extraction consistency, use English UI (language: "en") unless you specifically need local-language labels.

Tested target categories for MVP validation:

  • Restaurants
  • Dentists
  • Hotels
  • Hair salons
  • Car repair services

Recommended country test set:

  • United States
  • United Kingdom
  • Turkey
  • Japan
  • United Arab Emirates

⚙️ Local Development

npm install
npm run build
npm test
npm start

For larger production runs, increase the Actor timeout in Apify Console and set requestHandlerTimeoutSecs up to 3600.

For local pay-per-event testing:

$ACTOR_TEST_PAY_PER_EVENT=true ACTOR_USE_CHARGING_LOG_DATASET=true npm start

🧾 Store Positioning

Store title:

Google Maps Business Leads Scraper with Optional Reviews

Short description:

Extract Google Maps business leads globally with phones, websites, ratings, categories, opening hours, images, popular times, company contacts, and optional reviews.

❓ FAQ

Does it extract reviews?

Yes. Reviews are optional and disabled by default. Enable includeReviews and set maxReviewsPerPlace.

Does it extract images?

Yes. Enable includePhotos and set maxPhotosPerPlace.

Can I scrape by Google Maps URL?

Yes. Use startUrls with Google Maps search URLs or place URLs.

Can I scrape by place ID?

Yes. Use placeIds.

Can I scrape by coordinates or polygon?

Yes. Use geolocation for a center point or polygons for polygon grid searches.

Can I enrich company contacts?

Yes. Enable includeCompanyContacts to fetch public website emails, social links, and contact pages.

Why are some fields empty?

Google Maps fields vary by country, category, language, and page layout. The Actor saves partial records instead of failing the whole run.

Is this official Google API data?

No. This is a browser-based best-effort scraper for publicly visible Google Maps pages.