Places SDK for Android Usage and Billing

Error: 9005 PLACES_API_RATE_LIMIT_EXCEEDED

The Places SDK for Android uses a pay-as-you-go pricing model. Places SDK for Android requests for the Places SDK for Android are billed by SKU. Along with the overall Google Terms of Use, there are usage limits specific to the Places SDK for Android. Manage your costs and usage with tools available in the Google Cloud Console.

How the Places SDK for Android is billed

The Places SDK for Android (New) and Places SDK for Android uses a pay-as-you-go pricing model. The Google Maps Platform APIs and SDKs are billed by SKU. Usage is tracked for each SKU, and any API or SDK may have more than one product SKU. Cost is calculated by:

SKU usage × Price per use

Use our Pricing and Usage calculator to estimate your usage cost per API or SDK. For qualifying Google Maps Platform SKUs, a $200 USD Google Maps Platform credit is available each month for each billing account. This credit is automatically applied1 to the qualifying SKUs.

Pricing for the Places SDK for Android (New)

About field masks

Use field masks, also called field lists, in your requests to specify the list of fields to return in the response. You are then billed at the highest SKU applicable to your request. That means if you select fields in both the (Basic) SKU and the (Advanced) SKU, you are billed based on the (Advanced) SKU.

Using a field mask is a good design practice to ensure that you don't request unnecessary data, which helps to avoid unnecessary processing time and billing charges.

SKU: Place Details (IDs Only)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.ID, Place.Field.NAME, Place.Field.PHOTO_METADATAS

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.0 USD per each
(0.00 USD per 1000)
0.0 USD per each
(0.00 USD per 1000)
0.0 USD per each
(0.00 USD per 1000)

SKU: Place Details (Location Only)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.ADDRESS_COMPONENTS, Place.Field.ADDRESS, Place.Field.LAT_LNG, Place.Field.PLUS_CODE, Place.Field.TYPES, Place.Field.VIEWPORT

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.005 USD per each
(5.00 USD per 1000)
0.004 USD per each
(4.00 USD per 1000)
Contact Sales for volume pricing

SKU: Place Details (Basic)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.BUSINESS_STATUS, Place.Field.ICON_BACKGROUND_COLOR, Place.Field.ICON_URL, Place.Field.UTC_OFFSET, Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.0170 USD per each
(17.00 USD per 1000)
0.0136 USD per each
(13.60 USD per 1000)
Contact Sales for volume pricing

SKU: Place Details (Advanced)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.CURRENT_OPENING_HOURS, Place.Field.SECONDARY_OPENING_HOURS, Place.Field.PHONE_NUMBER, Place.Field.PRICE_LEVEL, Place.Field.RATING, Place.Field.OPENING_HOURS, Place.Field.USER_RATINGS_TOTAL, Place.Field.WEBSITE_URI

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.020 USD per each
(20.00 USD per 1000)
0.016 USD per each
(16.00 USD per 1000)
Contact Sales for volume pricing

SKU: Place Details (Preferred)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.CURBSIDE_PICKUP, Place.Field.DELIVERY, Place.Field.DINE_IN, Place.Field.EDITORIAL_SUMMARY, Place.Field.RESERVABLE, Place.Field.REVIEWS, Place.Field.SERVES_BEER, Place.Field.SERVES_BREAKFAST, Place.Field.SERVES_BRUNCH, Place.Field.SERVES_DINNER, Place.Field.SERVES_LUNCH, Place.Field.SERVES_VEGETARIAN_FOOD, Place.Field.SERVES_WINE, Place.Field.TAKEOUT

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.025 USD per each
(25.00 USD per 1000)
0.020 USD per each
(20.00 USD per 1000)
Contact Sales for volume pricing

SKU: Text Search (ID Only)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.ID, Place.Field.NAME

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.0 USD per each
(0.00 USD per 1000)
0.0 USD per each
(0.00 USD per 1000)
0.0 USD per each
(0.00 USD per 1000)

SKU: Text Search (Basic)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.ADDRESS_COMPONENTS, Place.Field.BUSINESS_STATUS, Place.Field.ADDRESS, Place.Field.ICON_BACKGROUND_COLOR, Place.Field.ICON_URL, Place.Field.LAT_LNG, Place.Field.PHOTO_METADATAS, Place.Field.PLUS_CODE, Place.Field.TYPES, Place.Field.UTC_OFFSET, Place.Field.VIEWPORT, Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.032 USD per each
(32.00 USD per 1000)
0.0256 USD per each
(25.60 USD per 1000)
Contact Sales for volume pricing

SKU: Text Search (Advanced)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.CURRENT_OPENING_HOURS, Place.Field.SECONDARY_OPENING_HOURS, Place.Field.PHONE_NUMBER, Place.Field.PRICE_LEVEL, Place.Field.RATING, Place.Field.OPENING_HOURS, Place.Field.USER_RATINGS_TOTAL, Place.Field.WEBSITE_URI

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.035 USD per each
(35.00 USD per 1000)
0.028 USD per each
(28.00 USD per 1000)
Contact Sales for volume pricing

SKU: Text Search (Preferred)

Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:

Android: Place.Field.CURBSIDE_PICKUP, Place.Field.DELIVERY, Place.Field.DINE_IN, Place.Field.EDITORIAL_SUMMARY, Place.Field.RESERVABLE, Place.Field.REVIEWS, Place.Field.SERVES_BEER, Place.Field.SERVES_BREAKFAST, Place.Field.SERVES_BRUNCH, Place.Field.SERVES_DINNER, Place.Field.SERVES_LUNCH, Place.Field.SERVES_VEGETARIAN_FOOD, Place.Field.SERVES_WINE, Place.Field.TAKEOUT

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.040 USD per each
(40.00 USD per 1000)
0.032 USD per each
(32.00 USD per 1000)
Contact Sales for volume pricing

SKU: Place Photo

A Place Photo SKU is charged for each request to the API.

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.007 USD per each
(7.00 USD per 1000)
0.0056 USD per each
(5.60 USD per 1000)
Contact Sales for volume pricing

Pricing for the Places SDK for Android

About Autocomplete sessions

An Autocomplete session includes some Autocomplete requests (to retrieve suggestions on a place as the user types), and at most one Places Details request (to retrieve details about the place selected by the user). The same session token is passed to the Autocomplete and the subsequent Place Detail request. A session starts with the first Autocomplete request (which typically happens when the user starts typing). A Places Details call is made when the user has selected one of the Autocomplete suggestions. If a user does not select a suggestion, no Places Details call is made.

After a user has selected a place (ie, a Places Details call is made), you must start a new session using a new session token.

Autocomplete sessions can be generated from the following APIs:

A session token is good for one user session and should not be used for more than one user session. If you reuse a session token, the session is considered invalid and the requests are charged as if no session token was provided.

The Autocomplete requests and the Places Details requests using sessions are billed on different SKUs.

About Places Data SKUs

The three Places Data SKUs are: Basic Data, Contact Data, and Atmosphere Data.

One or more Data SKUs are triggered for:

  • Android: each request to fetchPlace() or findCurrentPlace()
  • iOS: each call to fetchPlaceFromPlaceID: or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
  • Web service: each Places request depending on the fields specified in the request

Data SKUs are always charged in addition to the base SKU for the request triggering them. For example, a Place Details request including Basic Data fields will be charged both under the Basic Data SKU and the Place Details SKU.


SKU: Basic Data

Using the fields parameter in your Place Details or Find Place request, you can limit the response to only those fields specified. Fields in the Basic category are included in the base cost of the Places request and do not result in any additional charge. The Basic Data SKU is triggered when any of these fields are requested:

  • Android: Place.Field.ADDRESS, Place.Field.ADDRESS_COMPONENTS, Place.Field.BUSINESS_STATUS, Place.Field.ICON_BACKGROUND_COLOR, Place.Field.ICON_URL, Place.Field.ID, Place.Field.LAT_LNG, Place.Field.NAME, Place.Field.PHOTO_METADATAS, Place.Field.PLUS_CODE, Place.Field.TYPES, Place.Field.VIEWPORT, Place.Field.UTC_OFFSET, or Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
  • iOS: GMSPlaceFieldFormattedAddress, GMSPlaceFieldBusinessStatus, GMSPlaceFieldID, GMSPlaceFieldCoordinate, GMSPlaceFieldName, GMSPlaceFieldPhotos, GMSPlaceFieldPlusCode,GMSPlaceFieldTypes, or GMSPlaceFieldViewport
  • Web service: address_component, adr_address, business_status, formatted_address, geometry, icon, name, permanently_closed, photo, place_id, plus_code, type, url, utc_offset, vicinity, or wheelchair_accessible_entrance
MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
Places request cost
+ 0.00 USD
Places request cost
+ 0.00 USD
Places request cost
+ 0.00 USD

SKU: Contact Data

Using the fields parameter in your Place Details or Find Place request for web services, or an array of Place.Fields for Android or iOS, you can limit the response to only those fields specified. Fields in the Contact category result in an additional charge. The Contact Data SKU is triggered when any of these fields are requested:

  • Android: Place.Field.CURRENT_OPENING_HOURS, Place.Field.OPENING_HOURS, Place.Field.PHONE_NUMBER, Place.Field.SECONDARY_OPENING_HOURS, or Place.Field.WEBSITE_URI
  • iOS: GMSPlaceFieldOpeningHours, GMSPlaceFieldPhoneNumber, or GMSPlaceFieldWebsite
  • Web service: formatted_phone_number, international_phone_number, opening_hours, current_opening_hours, secondary_opening_hours, or website
MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
Places request cost
+ 0.003 USD per each
(+ 3.00 USD per 1000)
Places request cost
+ 0.0024 USD per each
(+ 2.40 USD per 1000)
Contact Sales for volume pricing

SKU: Atmosphere Data

Using the fields parameter in your Place Details or Find Place request, you can limit the response to only those fields specified. Fields in the Atmosphere category result in an additional charge. The Atmosphere Data SKU is triggered when any of these fields are requested:

  • Android: Place.Field.CURBSIDE_PICKUP, Place.Field.DELIVERY, Place.Field.EDITORIAL_SUMMARY, Place.Field.DINE_IN, Place.Field.PRICE_LEVEL, Place.Field.RATING, Place.Field.RESERVABLE, Place.Field.SERVES_BEER, Place.Field.SERVES_BREAKFAST, Place.Field.SERVES_BRUNCH, Place.Field.SERVES_DINNER, Place.Field.SERVES_LUNCH, Place.Field.SERVES_VEGETARIAN_FOOD, Place.Field.SERVES_WINE,Place.Field.TAKEOUT, or Place.Field.USER_RATINGS_TOTAL
  • iOS: GMSPlaceFieldPriceLevel, GMSPlaceFieldRating, GMSPlaceFieldUserRatingsTotal, GMSPlaceFieldTakeout, GMSPlaceFieldDelivery, GMSPlaceFieldDineIn, GMSPlaceFieldCurbsidePickup, GMSPlaceFieldReservable,GMSPlaceFieldServesBreakfast, GMSPlaceFieldServesLunch, GMSPlaceFieldServesDinner, GMSPlaceFieldServesBeer, GMSPlaceFieldServesWine, GMSPlaceFieldServesBrunch or GMSPlaceFieldServesVegetarianFood.
  • JavaScript: See Fields (Place details)
  • Web service: curbside_pickup, delivery, dine_in, editorial_summary, price_level, rating, reservable, reviews, serves_beer, serves_breakfast, serves_brunch, serves_dinner, serves_lunch, serves_vegetarian_food, serves_wine, takeout, or user_ratings_total.
MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
Places request cost
+ 0.005 USD per each
(+ 5.00 USD per 1000)
Places request cost
+ 0.004 USD per each
(+ 4.00 USD per 1000)
Contact Sales for volume pricing

SKU: Autocomplete – Per Request

The Autocomplete – Per Request SKU is charged for any of these calls or requests that do not include a session token:

Calls made from an invalid Autocomplete session (for example, a session that reuses a session token) are also charged an Autocomplete – Per Request SKU.

Autocomplete requests from the Maps JavaScript API’s Place Autocomplete Widget may be charged an Autocomplete – Per Request SKU in case calls are made from an invalid Autocomplete session. This may happen when a user is typing multiple different addresses or copy/pasting different addresses into the widget and not always selects an autocomplete prediction.

MONTHLY VOLUME RANGE
(Price per REQUEST)
0–100,000 100,001–500,000 500,000+
0.00283 USD per each
(2.83 USD per 1000)
0.00227 USD per each
(2.27 USD per 1000)
Contact Sales for volume pricing

SKU: Autocomplete without Place Details – Per Session

The Autocomplete without Place Details – Per Session SKU is charged for an Autocomplete session that does not include a Place Details request (within a few minutes of the beginning of the session).

MONTHLY VOLUME RANGE
(Price per SESSION)
0–100,000 100,001–500,000 500,000+
0.017 USD per each
(17.00 USD per 1000)
0.0136 USD per each
(13.60 USD per 1000)
Contact Sales for volume pricing

Example

If your application issues these two calls in a single session:

Android

iOS

Web service

On your bill, you will see this SKU listed (when viewing your bill by SKU):

  • Autocomplete without Place Details – Per Session (price starting at 0.017 USD per session)

SKU: Autocomplete (included with Place Details) – Per Session

The Autocomplete (included with Place Details) – Per Session SKU is charged for an Autocomplete session that includes any of:

  • Android: a call to fetchPlace()
  • iOS: a call to fetchPlaceFromPlaceID:
  • Web service: a Place Details request

The autocomplete request is available at no charge, and the subsequent Place Details call gets charged based on regular Place Details pricing.

A Place Details request generates Data SKUs (Basic, Contact, and/or Atmosphere) – depending on the fields that are specified in the request.

If you do not specify fields in the Place Details request, all Data SKUs are triggered (Basic, Contact, and Atmosphere).

Place Details ID refresh requests (requests that specify only the place_id field) during an autocomplete session are billed as SKU: Autocomplete without Place Details – Per Session.

MONTHLY VOLUME RANGE
(Price per SESSION)
0–100,000 100,001–500,000 500,000+
0.00 USD 0.00 USD 0.00 USD

Example

If your application issues the following three calls in a single session:

Android

iOS

Web service

On your bill, you will see these SKUs listed (when viewing your bill by SKU):

  • Autocomplete (included with Place Details) – Per Session (billed at 0.00 USD)
  • Place Details (price starting at 0.017 USD per session)
  • Basic Data (billed at 0.00 USD)

SKU: Place Details

Place Details calls are charged as follows:

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.017 USD per each
(17.00 USD per 1000)
0.0136 USD per each
(13.60 USD per 1000)
Contact Sales for volume pricing

The Place Details SKU is generated from these APIs:

With the web API and services, the Place Details SKU is charged whether a session token is provided or not.

A Place Details call or request also generates Data SKUs (Basic, Contact, and/or Atmosphere), depending on the fields that are specified in the call or request. If NO fields are specified in the Place Details call or request, ALL Data SKUs are triggered, and you are charged for the Places Details call or request plus the cost of all the data.

Examples

  1. Make one of these calls or requests:
    • Mobile: call fetchPlace() on Android or fetchPlaceFromPlaceID: on iOS, and specify just the ADDRESS field
    • Web API or service: make a Place Details request and specify just the address field: getPlaceDetails(fields: formatted_address)
    On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Place Details (price starting at 0.017 USD per session)
    • Basic Data (billed at 0.00 USD)
  2. Make one of these calls or requests:
    • Mobile: call fetchPlace() on Android or fetchPlaceFromPlaceID: on iOS, and specify just the PHONE_NUMBER field
    • Web API or service: make a Place Details request and specify the phone number field: getPlaceDetails(fields: formatted_phone_number)
    On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Place Details (price starting at 0.017 USD per session)
    • Contact Data (price starting at 0.003 USD per request)
  3. Make one of these calls or requests:
    • Mobile: call fetchPlace() on Android or fetchPlaceFromPlaceID: on iOS, and specify all the fields
    • Web API or service: make a Place Details request and specify all the fields (this type of request is the default if you do not specify any fields): getPlaceDetails().
    On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Place Details (price starting at 0.017 USD per session)
    • Basic Data (billed at 0.00 USD)
    • Contact Data (price starting at 0.003 USD per request)
    • Atmosphere Data (price starting at 0.005 USD per request)

SKU: Find Current Place

Find Current Place is charged for calls to findCurrentPlace() (Android) or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS).

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.030 USD per each
(30.00 USD per 1000)
0.024 USD per each
(24.00 USD per 1000)
Contact Sales for volume pricing

Calls to findCurrentPlace() (Android) or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) also generate Data SKUs (Basic, Contact, and/or Atmosphere), depending on the fields that are specified in the call. Specify data fields to limit the response to only those fields. You are billed for the Find Current Place call as well as the data requested.

Examples

  1. You call findCurrentPlace() (Android) or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) and specify just the ADDRESS field. On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Current Place (price starting at 0.030 USD per request)
    • Basic Data (billed at 0.00 USD)
  2. You call findCurrentPlace() (Android) or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) and specify the PHONE_NUMBER field. On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Current Place (price starting at 0.030 USD per request)
    • Contact Data (price starting at 0.003 USD per request)
  3. You call findCurrentPlace() (Android) or findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) and specify fields from all three data-type buckets. On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Current Place (price starting at 0.030 USD per request)
    • Basic Data (billed at 0.00 USD)
    • Contact Data (price starting at 0.003 USD per request)
    • Atmosphere Data (price starting at 0.005 USD per request)

SKU: Place Photo

A Place Photo SKU is charged for:

For the JavaScript service, invoking the PlacePhoto.getUrl() method does not cause billing until the URL is actually used to obtain pixel data.

MONTHLY VOLUME RANGE
(Price per CALL)
0–100,000 100,001–500,000 500,000+
0.007 USD per each
(7.00 USD per 1000)
0.0056 USD per each
(5.60 USD per 1000)
Contact Sales for volume pricing

Terms of Use restrictions

For information on terms of use, see the License Restrictions section of the Google Maps Platform Terms of Service.

Manage your cost of use

To manage your cost of use of the Places SDK for Android or to meet the demands of your production traffic, set daily quota limits on all requests to any API. Daily quotas are reset at midnight Pacific time.

To view or change quota limits for the Places SDK for Android:

  1. In the Cloud Console, open the Google Maps Platform Quotas page.
  2. Click the APIs drop-down and select the Places SDK for Android.
  3. To view the quota limits, scroll down to the Requests card.
    A table lists the quota names and limits.
  4. To change a quota limit, click the Edit icon for that limit.
    In the dialog that appears, in the Quota Limit field, enter the preferred billable daily quota limit (up to the quota limit, if any, specified by Google) and select Save.

If your API usage reaches your billable quota limit on any given day, your application will not be able to access the API for the remainder of that day.


  1. Users in India must create a Google Cloud Platform billing account before creating a Google Maps Platform billing account to receive the Maps Platform credit.