Google Maps Scraper - Place Details, Hours, Phone & Website avatar

Google Maps Scraper - Place Details, Hours, Phone & Website

Under maintenance

Pricing

from $5.00 / 1,000 places

Go to Apify Store
Google Maps Scraper - Place Details, Hours, Phone & Website

Google Maps Scraper - Place Details, Hours, Phone & Website

Under maintenance

Google Maps place details scraper: name, rating, review count, category, address, phone, website and opening hours for every place a search returns. Optional change detection reports which fields moved since the previous run.

Pricing

from $5.00 / 1,000 places

Rating

0.0

(0)

Developer

Crawlyard Data

Crawlyard Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Google Maps Place Details

Reads publicly visible business listings from Google Maps and returns one clean row per place: name, rating, review count, category, address, phone, website and opening hours.

Give it a business name and you get that one place. Give it a phrase like dentist in Austin TX and you get every place the search returns.

What one row looks like

{
"name": "Storyville Coffee Pike Place",
"rating": 4.6,
"reviewCount": 3169,
"category": "Coffee shop",
"address": "94 Pike St Top floor Suite 34, Seattle, WA 98101, United States",
"phone": "+1 206-780-5777",
"website": "https://storyville.com/pages/pike-place-market",
"openingHours": [
{ "day": "Friday", "hours": "6:59 AM–6 PM" },
{ "day": "Saturday", "hours": "6:59 AM–6 PM" }
],
"plusCode": "JM55+HR Seattle, Washington, USA",
"permanentlyClosed": false,
"temporarilyClosed": false,
"searchQuery": "Storyville Coffee Pike Place",
"url": "https://www.google.com/maps/place/..."
}

Tell me what changed

Turn on Report what changed since the last run and every row gains a changes field:

"changes": {
"rating": { "from": 4.6, "to": 4.7 },
"reviewCount": { "from": 3169, "to": 3180 }
}

The snapshot lives in a named key-value store, so a scheduled run answers "which of my locations moved this week" instead of handing you the same list again. Switch on Output only changed or new places and quiet places are skipped entirely.

Tracked fields: rating, review count, category, address, phone, website, opening hours, permanently closed, temporarily closed. Photos and popular-times histograms are deliberately not tracked — they move constantly and would mark every place as changed on every run.

Input

FieldMeaning
queriesBusiness names, "what in where" phrases, or Google Maps URLs
maxPlacesPerQueryCap per search, 1–120 (default 20)
detailLevelfull opens each place for phone/website/hours; list stays on the result list and is much faster
language, countryCodeInterface language and country bias
detectChanges, onlyChanged, stateStoreNameChange detection
settleMsHow long to let each page render before reading it

Notes on how it works

  • Only publicly visible listing data is read. No login, no private data, no Google account required.
  • https://www.google.com/maps/search/<query> returns a document whose result list arrives over a later request, so the page is rendered rather than parsed from the first response. That is why this runs a browser.
  • Searching by name resolves straight to the place panel. The /maps/place/... form is not used because it can land on a disambiguation shell with no data.
  • detailLevel: "list" costs a fraction of full; use it when names and ratings are enough.

Limits

  • Opening-hours weekday labels come back in the language you request.
  • Places without a website, phone or hours return null for those fields rather than guessing.
  • Very large result sets are capped by Google's own result list, not by this Actor; maxPlacesPerQuery above roughly 120 rarely returns more rows.