Google Maps Place API
Pull a full Google Maps place profile by data_id, for any kind of place.
Overview
Get Google Maps details for one place (restaurant, attraction, hotel, shop) by data_id: identity, categories, address, contact, rating histogram, review topics, hours, attributes, order links, photos, places inside, and hotel extras.
Contract note
Fields Google has no data for are null (lists are []). Reviews are not part of this response: use /v1/google_reviews/reviews with the same data_id. A Google place_id (ChIJ…) is not accepted as input.
Endpoint URL
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| data_id | string | Required | Google Maps data_id (0x…:0x…), for example 0x89c259ab3c1ef289:0x3b67a41175949f55. Get it from Search, from /v1/google_reviews/search-and-review, or from a Google Maps URL (the part after !1s). |
| hl | string | Optional | UI language code. Default: en. |
| gl | string | Optional | Region or country code. Default: us. |
Response schema
| Field | Type | Description |
|---|---|---|
| data_id / place_id / kg_id / maps_url | string | Google Maps data_id, Google place id (ChIJ…), Knowledge Graph id (/g/… or /m/…), and a Google Maps link. |
| name / categories / summary / description | mixed | Name, categories (primary first), Google's short tagline, and its editorial summary. |
| address / address_components / neighborhood | mixed | Display address; street, locality, region, postal code, and ISO 3166-1 alpha-2 country (any part may be null); neighborhood. |
| latitude / longitude / timezone | mixed | Coordinates and IANA time zone. |
| phone / phone_international / phone_e164 / website | string | Phone in local, international, and E.164 formats, and the website. |
| rating / reviews_count / rating_histogram | mixed | Average rating, review count, and review counts for 1 to 5 stars. |
| review_topics | array | Google's "people often mention" topics, with the number of reviews mentioning each. |
| open_state / hours / other_hours | mixed | Live status line; the next 7 days of hours, today first, with each day's date; and separate hours for services such as Delivery or Takeout. |
| attributes | array | Attribute groups (for example Accessibility). available: false means Google lists the attribute as absent. |
| action_links | array | Order or reservation actions. label is set for Google's own button, provider for a partner link. |
| photos | array | Photos embedded in the place page (usually a few): photo_id, url sized to fit 1024×768, and the original width and height. |
| owner_name | string | The verified owner's display name. |
| places_inside | array | Places inside this one (a hotel's restaurants, a tower's brasserie), each with its own data_id. |
| hotel | object|null | Hotels only: hotel_class, check_in and check_out local times, amenities ([{name, available}]), and a long description. null for other places. |
| search_metadata.provider | string | Always google_maps. |
Errors
Errors use RFC 7807 Problem Details (application/problem+json) with an error_code. Successful responses are always 2xx.
| Status | error_code | When |
|---|---|---|
| 400 | INVALID_PARAMETERS | data_id is not a Google Maps data_id, query is empty, or location is not lat,lng. |
| 404 | NO_RESULTS | Unknown data_id, or no place matches the query (page 1). |
| 422 | VALIDATION_ERROR | A required parameter is missing, or page is outside 1 to 10. |
| 502 | SCHEMA_DRIFT / UPSTREAM_ERROR | Google's answer could not be read. Retry later. |
| 503 | SERVICE_UNAVAILABLE | Temporarily unavailable. Honour the Retry-After header. |
| 504 | GATEWAY_TIMEOUT / UPSTREAM_TIMEOUT | Google did not answer in time. |
Identifier workflow
Search once, reuse the data_id
Every Search result carries a data_id. Pass it to Place for details, or to the Google Reviews endpoint (/v1/google_reviews/reviews) for the place's reviews.