Google Maps Scraper - Place Details, Hours, Phone & Website
Under maintenancePricing
from $5.00 / 1,000 places
Google Maps Scraper - Place Details, Hours, Phone & Website
Under maintenanceGoogle 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Field | Meaning |
|---|---|
queries | Business names, "what in where" phrases, or Google Maps URLs |
maxPlacesPerQuery | Cap per search, 1–120 (default 20) |
detailLevel | full opens each place for phone/website/hours; list stays on the result list and is much faster |
language, countryCode | Interface language and country bias |
detectChanges, onlyChanged, stateStoreName | Change detection |
settleMs | How 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 offull; 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
nullfor those fields rather than guessing. - Very large result sets are capped by Google's own result list, not by this
Actor;
maxPlacesPerQueryabove roughly 120 rarely returns more rows.