Place Details (New)

Select platform: Android iOS JavaScript Web Service

You can request more details about a particular establishment or point of interest by using its place ID and making a Place Details (New) request. Place Details (New) returns more comprehensive information about the indicated place, such as its complete address, phone number, user rating and reviews.

There are many ways to obtain a place ID. You can use:

Place Details (New) requests

You can request place details by calling PlacesClient.fetchPlace() and passing a FetchPlaceRequest object containing a place ID and field list, as well as any optional parameters:

// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");

// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);

Place Details (New) responses

Place Details (New) returns data in the form of a Place object, which includes only the fields that you requested using the field list. Place data results cannot be empty, so only place results with data are returned (for example, if a requested place has no photos, the photos field won't be present in the result).

To access data fields, call the corresponding method. For example, to access the place name, call getName().

Required parameters

The required parameters for FetchPlaceRequest are:

Optional parameters

The optional parameters for FetchPlaceRequest are:

  • Region code

    The region code used to format the response, specified as a two-character CLDR code value. There is no default value.

    If the country name of the Place.Field.ADDRESS field in the response matches the regionCode, the country code is omitted from Place.Field.ADDRESS.

    Most CLDR codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, the United Kingdom's ccTLD is "uk" (.co.uk) while its ISO 3166-1 code is "gb" (technically for the entity of "The United Kingdom of Great Britain and Northern Ireland"). The parameter can affect results based on applicable law.

    To set the region code parameter, call the setRegionCode() method when building the FetchPlaceRequest object.

  • Session token

    Session tokens are user-generated strings that track Autocomplete (New) calls as "sessions." Autocomplete (New) uses session tokens to group the query and place selection phases of a user autocomplete search into a discrete session for billing purposes. Session tokens are passed into Place Details (New) calls that follow Autocomplete (New) calls. For more information, see Session tokens.

    To set the session token parameter, call the setSessionToken() method when building the FetchPlaceRequest object.

Place Details example

The following example requests the ID, NAME, and ADDRESS fields for the Empire State Building in New York City.

// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS);

// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);