Places API Usage and Billing

Stay organized with collections Save and categorize content based on your preferences.

The Places API uses a pay-as-you-go pricing model. Places API requests generate calls to any of multiple SKUs. Along with the overall Google Terms of Use, there are usage limits specific to the Places API. Manage your costs and usage with tools available in the Google Cloud Console.

How the Places API is billed

The Places API 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 each 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 API

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

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 requests generate a charge in addition to the cost of the Places request. Data charges are always in tandem with the Places requests.

For the web service, these Places APIs calls support specifying the data fields to return:

For the web service, these Places APIs calls DO NOT support specifying the returned fields. These calls always return all the Places data, charging the three Places Data SKUs in addition to the charge for each API request:


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

address_component, adr_address, business_status, formatted_address, geometry, icon, icon_mask_base_uri, icon_background_color,name, permanently_closed, photo, type, url, utc_offset, or vicinity

iOS

GMSPlaceFieldFormattedAddress, GMSPlaceFieldBusinesssStatus, 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, or vicinity

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

OPENING_HOURS, PHONE_NUMBER, or WEBSITE_URI

iOS

GMSPlaceFieldOpeningHours, GMSPlaceFieldPhoneNumber, or GMSPlaceFieldWebsite

Web service

formatted_phone_number, international_phone_number, 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: PRICE_LEVEL, RATING, or USER_RATINGS_TOTAL
  • iOS: GMSPlaceFieldPriceLevel, GMSPlaceFieldRating, or GMSPlaceFieldUserRatingsTotal
  • JavaScript: See Fields (Place details)
  • Web service: curbside_pickup, delivery, dine_in, price_level, rating, review, 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: Query Autocomplete – Per Request

A Query Autocomplete – Per Request SKU is charged for each request to:

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

Pricing by Autocomplete session is not supported using Query Autocomplete. Subsequent Places Details calls get charged based on regular Places Details pricing.


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: Place Details – ID Refresh

Use the Place Details request to refresh stale place IDs. These types of requests are available at no charge.

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

Example

Make a Place Details request specifying just the place id field: getPlaceDetails(fields: place_id). On your bill, you will see this SKU listed (when viewing your bill by SKU):

  • Place Details – ID Refresh (billed at 0.00 USD)

SKU: Find Place

Find Place is charged for a Find Place request.

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

Find Place requests also generate Data SKUs (Basic, Contact, and/or Atmosphere), depending on the fields that are specified in the request. Like Place Details requests, you can use the fields parameter in your Find Place request to limit the response to only those fields specified. You are billed for the Find Place request as well as the data requested. By default, if NO fields are requested, only the place id is returned, so no additional data charges are incurred.

Examples

  1. You make a Find Place request and specify just the address field: FindPlace(fields: formatted_address). On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Place (price starting at 0.017 USD per call)
    • Basic Data (billed at 0.00 USD)
  2. You make a Find Place request and specify the phone number field: FindPlace(fields: formatted_phone_number). On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Place (price starting at 0.017 USD per call)
    • Contact Data (price starting at 0.003 USD per request)
  3. You make a Find Place request and specify fields from all three data-type buckets: FindPlace(fields: formatted_address, opening_hours, price_level). On your bill, you will see these SKUs listed (when viewing your bill by SKU):
    • Find Place (price starting at 0.017 USD per call)
    • 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 Place – ID only

Find Place – ID only is charged for Find Place requests that only specify the Place ID to be returned. By default, if no fields are specified in the Find Place request, only the place id is returned.

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

Example

You make a Find Place request and only specify the place_id field: FindPlace(fields: place_id). On your bill, you will see this SKU listed (when viewing your bill by SKU):

  • Find Place – ID only (billed at 0.00 USD)

Place – Nearby Search is charged for requests to the Maps JavaScript API’s Place Nearby Search service (nearbySearch()), or to the Places API Nearby Search service

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

Nearby Search requests return a list of places, but do not support specifying which fields are returned. Nearby Search requests return a subset of the supported data fields. You are charged for the Nearby Search request starting at 0.032 USD per each, as well as all of the data-type SKUs (Basic Data, Contact Data, and Atmosphere Data).

Example

You make a Nearby Search request, such as NearbySearch (San Francisco, 100 meters). On your bill, you will see these SKUs listed (when viewing your bill by SKU):

  • Place - Nearby Search (price starting at 0.032 USD per call)
  • 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)

Place – Text Search is charged for requests to the Maps JavaScript API’s Place Text Search service (textSearch()), or to the Places API Text Search service.

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

Text Search requests return a list of places, but do not support specifying which fields are returned. Text Search requests return a subset of the supported data fields. You are charged for the Text Search request starting at 0.032 USD per each, as well as all of the data-type SKUs (Basic Data, Contact Data, and Atmosphere Data).

The Place – Text Search SKU is also generated by the Maps JavaScript API’s Place SearchBox widget: getPlaces() method after the user selects a place query (icon: magnifier), not a result (icon: pin), as illustrated here:

Places Details Search Box Widget Query Selection
In the results of the search box widget, after typing "pizza" in the search box, notice that pizza delivery has a magnifier icon next to it, indicating that it is a place query (and not a result).

Example

You make a Text Search request, such as TextSearch(123 Main Street). On your bill, you will see these SKUs listed (when viewing your bill by SKU):

  • Place - Text Search (price starting at 0.032 USD per call)
  • 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

Other usage limits

While there is no maximum number of requests per day, the following usage limit still applies when using the Places API:

  • Rate limit is 100 requests per second. It is calculated as the sum of client-side and server-side requests for all applications using the credentials of the same project.

Terms of Use restrictions

For information on terms of use, see policies for the Places API, and 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 Google Maps Platform APIs, set daily quota limits on all requests to any billable API. Daily quotas are reset at midnight Pacific time.

To view or change quota limits for the Places API:

  1. In the Cloud Console, open the Google Maps Platform Quotas page.
  2. Click the APIs drop-down and select the Places API.
  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.