Maps
Google Maps Place Details Scraper
google.com/maps
Google Maps place details are served through a dedicated plugin endpoint rather than the generic page fetch. Give it a place_id - or a Maps place URL, or a raw feature id - and it returns everything Google shows for that one place: the name and one-line address with its component lines, the phone number and website, the star rating, the business categories, the coordinates and plus code, today's opening hours with an open-now flag, the editorial description, the hero photo and the 'people also search for' related places. It reads Google's own place feed server-side, so there is no Google Cloud project, billing account or Places API key involved. Note that this endpoint returns today's hours rather than the full week, and does not include the numeric review count.
What you can extract
- Place name, one-line address and the component address lines
- Phone number and website URL
- Star rating and the list of business categories
- Coordinates (lat/lng) and plus code
- Today's opening hours with an open-now flag
- Editorial description, hero photo and related places (review count and full-week hours are not in this endpoint)
Dedicated endpoints
/maps/place-details One Google Maps place in full
Full detail for a single place by place_id (or a Maps URL / feature id): name, address plus its component lines, phone, website, rating, categories, coordinates, plus code, today's hours + open-now, description, hero photo and related places. Set hl/gl for language and country. Note: the numeric review count and full-week hours are not part of this endpoint.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/maps/place-details?place_id=ChIJN1t_tDeuEmsRUsoyG83frY4"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/maps/place-details",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const place = await su.mapsPlaceDetails({ place_id: 'ChIJN1t_tDeuEmsRUsoyG83frY4' });
console.log(place); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape Google Maps place details?
Collecting publicly available Google Maps place data such as business names, addresses and opening hours is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Google Maps place details without getting blocked?
Google Maps is protected by Google's own anti-bot systems. ScrapeUnblocker rotates residential and ISP exits and handles challenges, and the Google Maps Place Details plugin returns the place as parsed JSON. In ScrapeUnblocker's benchmark it returned real content on 100% of 1,000 calls, about 2.9s per call.
What Google Maps place data can I get?
For one place: the name, one-line address and component address lines, phone number and website, star rating and business categories, coordinates and plus code, today's opening hours with an open-now flag, the editorial description, a hero photo and related places. The numeric review count and full-week hours are not part of this endpoint.
Do I need a Google Maps API key or account?
No. The Google Maps Place Details plugin returns the place as JSON without a Google Maps API account, Google Cloud project or API key on your side. Identify the place with a place_id, a Maps place URL or a feature id, and set hl and gl for the language and country Google answers in.
Can I look up Google Maps places at scale?
Yes. Each call returns one place in full, so enriching a list means one call per place, and calls run in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate. Passing a feature id skips the resolve step that a place_id or URL goes through.
How much does it cost to scrape Google Maps place details?
Pricing is per request: 1 request = 1 credit, from EUR 1.00 per 1,000 on pay as you go to about EUR 0.55 per 1,000 on the Ultimate plan. Plugin calls use the same plan quota as any other request. One call returns one place in full. Blocks, timeouts and errors on ScrapeUnblocker's side are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.