**European Economic Area (EEA) developers**

> [!NOTE]
> If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](https://developers.google.com/maps/comms/eea/faq.md.txt).

The Places SDK for Android (New) provides improved performance and a new
pricing model, making it worthwhile to update apps that use the
Places SDK for Android (Legacy). For more details on comparing features,
see [Choose your SDK](https://developers.google.com/maps/documentation/places/android-sdk/choose-sdk).

Use this guide to understand key differences in the
Places SDK for Android (New) compared to the
Places SDK for Android (Legacy), along with how to handle necessary
changes.


## Billing best practices for migration

This guidance applies if your API usage is high enough to
move into second-tier pricing. When migrating to a newer version of an API,
you're also being billed for a different SKU. To avoid increased costs during the month of
your transition, we recommend switching to the new APIs in production as close to the
beginning of the month as possible. This will ensure that you reach the most cost-effective
monthly pricing tiers during the migration month. For information about pricing tiers,
see the [pricing page](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt)
and the [pricing FAQ](https://developers.google.com/maps/billing-and-pricing/faq.md.txt).

<br />

## Enable Places API (New)

To use the features of
Places SDK for Android (New), you must first enable
**Places API (New)** in your Google Cloud project. For more
information, see [Set up your Google Cloud
project](https://developers.google.com/maps/documentation/places/android-sdk/cloud-setup).

You then must ensure that you have added **Places API (New)** to the list of authorized APIs on the key used by your app. For more
information, see [Use API Keys](https://developers.google.com/maps/documentation/places/android-sdk/get-api-key.md.txt).

## Ensure that you have enough quota in Places API (New)

Make sure that there is enough quota in the Places API (New) to
cover your current traffic. To review and manage your
quotas and usage limits, see [Quotas and quota
alerts](https://developers.google.com/maps/billing-and-pricing/manage-costs#quotas).

Note the difference:

- The quota for Places SDK for Android (Legacy) relies on the quota of the Places API service. It is the sum of all Places API methods.
- The quota for Places SDK for Android (New) relies on the quota of the Places API (New) service. There is a separate quota for each API method.

## Check if your negotiated agreement includes Places API (New)

If you have a negotiated agreement, check that it covers the
Places API (New), with the expected pricing. If not, contact your
Sales contact person at Google or your partner to discuss how you can include
this API.

## General changes

Some general changes that apply to multiple APIs include:

- Uses a new pricing model. For pricing information for all APIs, see [the global price list](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt).

- You must initialize your app by calling the
  [`Places.initializeWithNewPlacesApiEnabled()`](https://developers.google.com/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/api/Places.md.txt#initializeWithNewPlacesApiEnabled(android.content.Context,%20java.lang.String))
  method. For more information on selecting the Places API service, see [Set
  up your Google Cloud
  project](https://developers.google.com/maps/documentation/places/android-sdk/cloud-setup).

- [Place Details (New)](https://developers.google.com/maps/documentation/places/android-sdk/place-details), [Nearby Search (New)](https://developers.google.com/maps/documentation/places/android-sdk/nearby-search.md.txt), and [Text Search (New)](https://developers.google.com/maps/documentation/places/android-sdk/text-search.md.txt) require field
  masks to specify which fields you want returned in the response.

- New classes have been added to define the requests or to add new fields to
  the response.

- The response [`Place`](https://developers.google.com/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/api/model/Place.md.txt)
  object contains the new
  [`getReviews()`](https://developers.google.com/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/api/model/Place.md.txt#getReviews())
  method that returns a List of
  [`Review`](https://developers.google.com/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/api/model/Review.md.txt)
  objects. When your app displays information obtained from the `Place`
  object, such as photos and reviews, the app must also display the required
  attributions.

  For more information, see the documentation on
  [attributions](https://developers.google.com/maps/documentation/places/android-sdk/policies.md.txt#other_attribution_requirements).

> [!NOTE]
> **Note:** Because Text Search (New) and Nearby Search (New) were added to Places SDK for Android (New) and did not replace any existing APIs, there is no migration required to use them.

## API-specific changes

This section includes the following migration guides for each API:

- [Migrate from Place Details (Legacy) to Place Details (New)](https://developers.google.com/maps/documentation/places/android-sdk/legacy/migrate-details.md.txt)
- [Migrate from Place Photos (Legacy) to Place Photos (New)](https://developers.google.com/maps/documentation/places/android-sdk/legacy/migrate-photo.md.txt)
- [Migrate from Place Autocomplete (Legacy) to Autocomplete (New)](https://developers.google.com/maps/documentation/places/android-sdk/legacy/migrate-autocomplete.md.txt)
- [Migrate from Current Place (Legacy) to Nearby Search (New)](https://developers.google.com/maps/documentation/places/android-sdk/legacy/migrate-current-place.md.txt)