This page provides SKU details, SKU IDs, billable events, and billing triggers
for Legacy Places API, Legacy Directions API, and Legacy Distance Matrix API
SKUs. For current versions of these services, see
[Places (New) SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/places.md.txt#places-sku)
and
[Routes and Navigation SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/routes.md.txt#routes-sku).
For a directory of all product categories, see the
[API usage details overview](https://developers.google.com/maps/billing-and-pricing/sku-details.md.txt).

## About the SKU tables


The following sections outline the
details for each SKU:

|---|---|
| **Category** | Whether the SKU falls into the Essentials, Pro, or Enterprise SKU category. |
| **Billable event** | What event is billed for the SKU. |
| **Triggers** | What code elements trigger billable events. |
| **Pricing** | Links to the pricing table for that SKU's group. |

<br />

## Legacy Places product SKUs

See [Places (New) product SKUs](https://developers.google.com/maps/billing-and-pricing/sku-details/places.md.txt#places-sku)
for the latest versions.

### About Places Data SKUs

The three Places Data SKUs are: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku).

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.

For the web service, these Places APIs requests allow you to specify the data fields to return:

- [Places Details](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku)
- [Find Place](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#find-place-legacy-pro-sku)

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:

- [Places -- Nearby Search](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places_nearby-search-legacy-pro-sku)
- [Places -- Text Search](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places_text-search-legacy-pro-sku)

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

| ### \[ Essentials: Places Legacy \] |
|---|

### SKU: Autocomplete -- Per Request

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **7384-2DE4-D388** (Global) **2164-BC00-53DC** (India) |
|   | **APIs** | [Place Autocomplete (Legacy) Android](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete), [Place Autocomplete (Legacy) iOS](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete), [Place Autocomplete (Legacy) Web](https://developers.google.com/maps/documentation/places/web-service/autocomplete) |
|   | **Billable event** | Request that doesn't include a session token |
|   | **Triggers** | - **Android:** [`findAutocompletePredictions()`](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete#get_place_predictions_programmatically) - **iOS:** [`findAutocompletePredictionsFromQuery:`](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete#get_place_predictions_programmatically) - **JavaScript:** The [Maps JavaScript API's Place Autocomplete service](https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service.md.txt#AutocompleteService) - **Web service:** The [Places API Place Autocomplete service](https://developers.google.com/maps/documentation/places/web-service/autocomplete) |
|   | **Examples** | If you make a request from an invalid Autocomplete session (for example, a session that reuses a session token), you are also charged an Autocomplete -- Per Request SKU. Autocomplete requests from the [Maps JavaScript API Place Autocomplete Widget](https://developers.google.com/maps/documentation/javascript/places-autocomplete#summary-of-classes) may be charged an Autocomplete -- Per Request SKU when you make requests from an invalid Autocomplete session. This situation may happen when a user is typing or copy/pasting multiple different addresses into the widget and doesn't always select an autocomplete prediction. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Autocomplete (included with Place Details) -- Per Session

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **E9C9-934B-DDB1** (Global) |
|   | **APIs** | [Place Autocomplete (Legacy) Android](https://developers.google.com/maps/documentation/places/android-sdk/legacy/autocomplete.md.txt), [Place Autocomplete (Legacy) iOS](https://developers.google.com/maps/documentation/places/ios-sdk/legacy/autocomplete.md.txt), [Place Autocomplete (Legacy) Web](https://developers.google.com/maps/documentation/places/web-service/legacy/autocomplete.md.txt) |
|   | **Billable event** | Session |
|   | **Triggers** | - **Android:** a call to `fetchPlace()` - **iOS:** a call to `fetchPlaceFromPlaceID:` - **Web service:** a Place Details request **Fields in the request:** Be sure to specify the fields you need in the request to avoid unnecessary charges. Depending what fields you specify, a Place Details request also generates these Data SKUs: - [Basic Data (Essentials)](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku) - [Places - Contact Data (Enterprise)](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku) - [Places - Atmosphere (Enterprise)](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku) If you **don't specify fields** in the Place Details request, **all** Data SKUs are triggered. If you request only a refresh of the Place Details ID (your request only specifies the `place_id` field) during an autocomplete session, the session is billed as [SKU: Autocomplete without Place Details -- Per Session](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places_autocomplete-no-details-session-legacy-pro-sku). |
|   | **Examples** | > [!NOTE] > **Note:** You can see this SKU in billing reports, but not on the [Billing \> Pricing](https://console.cloud.google.com/project/_/billing/pricing) page in the Google Cloud console. Requests for autocomplete are available at no charge. This legacy SKU bills when you request subsequent Place Details based on regular [Place Details pricing](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku). This example illustrates a series of requests, by platform, that would results in the following SKUs in your bill, when you view [your bill by SKU](https://developers.google.com/maps/reporting/gmp-reporting#analyze-usage-cost-per-sku): - Autocomplete (included with Place Details) -- Per Session - Place Details - Basic Data Example request by platform: **Android requests** [`findAutocompletePredictions()`](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete#get_place_predictions) (.setQuery("par"), .setSessionToken(XYZ)) [`findAutocompletePredictions()`](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete#get_place_predictions) (.setQuery("paris"), .setSessionToken(XYZ)) [`fetchPlace()`](https://developers.google.com/maps/documentation/places/android-sdk/place-details) (with a `FetchPlaceRequest` including the Place ID, and the ADDRESS field) **iOS requests** [`placesClient?.findAutocompletePredictions(fromQuery: "par" ...`](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete#get_place_predictions) [`placesClient?.findAutocompletePredictions(fromQuery: "paris" ...`](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete#get_place_predictions) [`fetchPlaceFromPlaceID:`](https://developers.google.com/maps/documentation/places/ios-sdk/place-details) (including the Place ID, and the `GMSPlaceFieldFormattedAddress` field) **Web service requests** [Places Autocomplete Request](https://developers.google.com/maps/documentation/places/web-service/autocomplete#place_autocomplete_requests) (input="par", session_token: XYZ) [Places Autocomplete Request](https://developers.google.com/maps/documentation/places/web-service/autocomplete#place_autocomplete_requests) (input="paris", session_token: XYZ) [Places Details](https://developers.google.com/maps/documentation/places/web-service/details) (place_id, session_token: XYZ, fields:formatted_address) |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

### 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 (that is, after 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:

- The [Places API Place Autocomplete service](https://developers.google.com/maps/documentation/places/web-service/autocomplete) or the [Maps JavaScript API Places Autocomplete service](https://developers.google.com/maps/documentation/javascript/places-autocomplete). You need to design your application to provide session tokens (you may need to change your existing code).
- The [Maps JavaScript API Autocomplete widget](https://developers.google.com/maps/documentation/javascript/places-autocomplete#summary-of-classes). Session-based billing is automatically enabled on those widgets, without any code change required.

A session token is good for one user session and shouldn't 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.

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Basic Data


A [Data SKU](https://developers.google.com/maps/billing-and-pricing/sku-details.md.txt#data-skus) that bills for **Basic Data** fields
in a [Places Details](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku) or
[Find Place](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#find-place-legacy-pro-sku) request.

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **75D4-C522-326B** (Global) **5D7B-1F7B-395E** (India) |
|   | **APIs** | [Places Details (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/details.md.txt) with [Basic fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#basic) [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) with [Basic fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#basic) |
|   | **Billable event** | Successful request for Basic Data fields |
|   | **Triggers** | **Fields for Android SDK** `Place.Field.ACCESSIBILITY_OPTIONS`\* \* Use instead of `Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE` (deprecated) `Place.Field.ADDRESS_COMPONENTS` `Place.Field.BUSINESS_STATUS` `Place.Field.DISPLAY_NAME`\* \* Use instead of `Place.Field.NAME` (deprecated) `Place.Field.FORMATTED_ADDRESS`\* \* Use instead of `Place.Field.ADDRESS` (deprecated) `Place.Field.ICON_BACKGROUND_COLOR` `Place.Field.ICON_MASK_URL`\* \* Use instead of `Place.Field.ICON_URL` (deprecated) `Place.Field.ID` `Place.Field.LOCATION`\* \* Use instead of `Place.Field.LAT_LNG` (deprecated) `Place.Field.PHOTO_METADATAS` `Place.Field.PLUS_CODE` `Place.Field.TYPES` `Place.Field.VIEWPORT` `Place.Field.UTC_OFFSET`. **Fields for iOS** `GMSPlaceFieldFormattedAddress` `GMSPlaceFieldBusinessStatus` `GMSPlaceFieldID` `GMSPlaceFieldCoordinate` `GMSPlaceFieldName` `GMSPlaceFieldPhotos` `GMSPlaceFieldPlusCode` `GMSPlaceFieldTypes` `GMSPlaceFieldViewport` **Fields for 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` `wheelchair_accessible_entrance` > [!CAUTION] > This SKU is charged **in addition to the base SKU > (Places Details, Find Place, Nearby Search, or Text Search)** for the request that triggered it. |
|   | **Field mask billing** | Your request is billed based on the fields provided in the field mask. For example: - **If your field mask only includes fields from this SKU**: The request is billed at the rate for this SKU. - **If your field mask includes fields from other SKUs** : The request is billed at the **highest SKU rate** for the fields requested. For example, if you include fields from both an Essentials SKU and an Enterprise SKU, then the request is billed at the Enterprise SKU rate. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Find Place -- ID only

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **44A2-D839-A3AC** (Global) **FE05-60A4-CDDF** (India) |
|   | **APIs** | [Places Web Service Find Place](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) |
|   | **Billable event** | Successful request for only the `place_id` |
|   | **Triggers** | [Find Place](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) request with no fields specified, or only the `place_id` field: `FindPlace(fields: place_id)`. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Place Details -- ID Refresh

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **2D88-4302-6299** (Global) **4604-F56B-7086** (India) |
|   | **APIs** | [Place Details (Legacy)](https://developers.google.com/maps/documentation/javascript/legacy/places.md.txt#place_details) |
|   | **Billable event** | Successful request for only ID fields |
|   | **Triggers** | Request with only the Place ID field: `getPlaceDetails(fields: place_id)`. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Query Autocomplete -- Per Request

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **C4B1-8805-63EF** (Global) **59E9-EB83-5CA3** (India) |
|   | **APIs** | [Query Autocomplete service](https://developers.google.com/maps/documentation/places/web-service/query) |
|   | **Billable event** | Successful request |
|   | **Triggers** | - **JavaScript:** [Maps JavaScript API Places Autocomplete Service](https://developers.google.com/maps/documentation/javascript/places-autocomplete#place_autocomplete_service) (`getQueryPredictions()`) and the use of the [Maps JavaScript API SearchBox widget](https://developers.google.com/maps/documentation/javascript/places-autocomplete#places_searchbox) (Query Autocomplete requests are generated as the user types). - **Web service:** [Places API Query Autocomplete service](https://developers.google.com/maps/documentation/places/web-service/query) Pricing by Autocomplete session is not supported using Query Autocomplete. Subsequent Place Details requests get charged based on the [Place Details Pro SKU](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku). |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

| ### \[ Pro: Places Legacy \] |
|---|

### SKU: Autocomplete without Place Details -- Per Session

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **B52C-8320-6DC5** (Global) **C625-D3CE-DF37** (India) |
|   | **APIs** | [Place Autocomplete (Legacy) Android](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete), [Place Autocomplete (Legacy) iOS](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete), [Place Autocomplete (Legacy) Web](https://developers.google.com/maps/documentation/places/web-service/autocomplete) |
|   | **Billable event** | Session |
|   | **Triggers** | - **Android** [`findAutocompletePredictions()`](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete#get_place_predictions_programmatically) `(.setQuery("par"), .setSessionToken(XYZ))` AND [`findAutocompletePredictions()`](https://developers.google.com/maps/documentation/places/android-sdk/autocomplete#get_place_predictions_programmatically) `(.setQuery("paris"), .setSessionToken(XYZ))` NOT followed by a Place Details request. - **iOS** [`placesClient?.findAutocompletePredictions(fromQuery: "par" ...`](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete#get_place_predictions_programmatically) AND [`placesClient?.findAutocompletePredictions(fromQuery: "paris" ...`](https://developers.google.com/maps/documentation/places/ios-sdk/autocomplete#get_place_predictions_programmatically) NOT followed by a Place Details request. - **Web service** [Place Autocomplete Request](https://developers.google.com/maps/documentation/places/web-service/autocomplete#place_autocomplete_requests) `(input="par", session_token: XYZ)` AND [Place Autocomplete Request](https://developers.google.com/maps/documentation/places/web-service/autocomplete#place_autocomplete_requests) `(input="paris", session_token: XYZ)` NOT followed by a Place Details request. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Find Current Place

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **7218-264C-D1D7** (Global) **0862-F46E-1A1A** (India) |
|   | **APIs** | [Places SDK for Android](https://developers.google.com/maps/documentation/places/android-sdk/legacy/current-place.md.txt), [Places SDK for iOS](https://developers.google.com/maps/documentation/places/ios-sdk/legacy/current-place.md.txt) |
|   | **Billable event** | Successful request |
|   | **Triggers** | - [`findCurrentPlace()`](https://developers.google.com/maps/documentation/places/android-sdk/legacy/current-place.md.txt) method (Android) - [`findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:`](https://developers.google.com/maps/documentation/places/ios-sdk/legacy/current-place.md.txt) method (iOS) > [!CAUTION] > **This SKU also triggers billing for Data SKUs:** If you include data fields in your request, it can trigger additional billing for Data SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). Specify only the data fields that you want to avoid unnecessary costs. You are billed for this SKU as well as for the data you request. |
|   | **Examples** | The following examples show what SKUs you are billed for when making a Find Current Place request and specifying fields from the Basic, Contact, and Atmosphere data SKUs. To see the SKUs on your bill, view your bill by SKU as described in [Analyze the usage and cost per SKU](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-per-sku). **You make a Find Current Place request with just the `ADDRESS` field**: Your bill shows these SKUs: - Find Current Place - Basic Data <br /> **You make a Find Current Place request with just the `PHONE_NUMBER` field**: Your bill shows these SKUs: - Find Current Place - Contact Data <br /> **You make a Find Current Place request with all three data-type fields**: Your bill shows these SKUs: - Find Current Place - Basic Data - Contact Data - Atmosphere Data <br /> |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Find Place

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **DC67-3188-2294** (Global) **ECB4-087C-9A27** (India) |
|   | **APIs** | [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) |
|   | **Billable event** | Successful request for more than just the ID field |
|   | **Triggers** | [Find Place](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) request with more than just the ID field specified. > [!CAUTION] > **This SKU also triggers billing for Data SKUs:** If you include data fields in your request, it can trigger additional billing for Data SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). Specify only the data fields that you want to avoid unnecessary costs. You are billed for this SKU as well as for the data you request. |
|   | **Examples** | The following examples show what SKUs you are billed for when making a Find Current Place request and specifying fields from the Basic, Contact, and Atmosphere data SKUs. To see the SKUs on your bill, view your bill by SKU as described in [Analyze the usage and cost per SKU](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-per-sku). **You make a Find Place request with just the `ADDRESS` field**: Your bill shows these SKUs: - Find Current Place - Basic Data <br /> **You make a Find Place request with just the `PHONE_NUMBER` field**: Your bill shows these SKUs: - Find Current Place - Contact Data <br /> **You make a Find Place request with all three data-type fields**: Your bill shows these SKUs: - Find Current Place - Basic Data - Contact Data - Atmosphere Data <br /> |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Places -- Nearby Search

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **6B23-8A17-D29D** (Global) **CC66-BE0E-2477** (India) |
|   | **APIs** | [Nearby Search (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/overview-legacy.md.txt) |
|   | **Billable event** | Successful request for Pro features |
|   | **Triggers** | - [Maps JavaScript API Place Nearby Search service](https://developers.google.com/maps/documentation/javascript/places#place_search_requests) (`nearbySearch()`) - [Places API Nearby Search service](https://developers.google.com/maps/documentation/places/web-service/search#PlaceSearchRequests) This request doesn't support specifying which fields to return. The response returns a list of places and a [subset of the supported data fields](https://developers.google.com/maps/documentation/places/web-service/place-data-fields#places-api-fields-support). > [!CAUTION] > **This SKU also triggers billing for Data SKUs:** Because a Nearby Search (Legacy) request returns all of the available data fields for the selected place, it can trigger additional billing for Data SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). You are billed for this SKU as well as for the data you request. To avoid requesting (and paying for) data that you don't need, use a [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) request instead. |
|   | **Examples** | You make a Nearby Search request, such as `NearbySearch (San Francisco, 100 meters)`. Your bill shows these SKUs when [viewing your bill by SKU](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-by-sku): - Place - Basic Data - Contact Data - Atmosphere Data |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Places -- Text Search

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **E95A-86C7-7F47** (Global) **102E-888D-5596** (India) |
|   | **APIs** | [Text Search (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-text.md.txt) |
|   | **Billable event** | Successful request to [Text Search (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-text.md.txt) |
|   | **Triggers** | - [Maps JavaScript API Place Text Search service](https://developers.google.com/maps/documentation/javascript/places#TextSearchRequests) (`textSearch()`). - [Places API Text Search service](https://developers.google.com/maps/documentation/places/web-service/search#TextSearchRequests) Text Search requests return a list of places, but don't support specifying which fields are returned. Text Search requests return a [subset of the supported data fields](https://developers.google.com/maps/documentation/places/web-service/place-data-fields#places-api-fields-support). You are charged for the Text Search request as well as all of the data-type SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). SKU: Places -- Text Search is also triggered by the [Maps JavaScript API Place SearchBox widget](https://developers.google.com/maps/documentation/javascript/place-autocomplete#get-searchbox-information): `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](https://developers.google.com/static/maps/billing/images/places-details-search-box-widget-query.png) 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). > [!CAUTION] > **This SKU also triggers billing for Data SKUs:** Because a Text Search (Legacy) request returns all of the available data fields for the selected place, it can trigger additional billing for Data SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). You are billed for this SKU as well as for the data you request. To avoid requesting (and paying for) data that you don't need, use a [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) request instead. |
|   | **Examples** | If you make a Text Search (Legacy) request, your bill shows these SKUs when [viewing your bill by SKU](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-per-sku): - Places - Text Search - Basic Data - Contact Data - Atmosphere Data |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Places Details

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **FC5C-DF28-543F** (Global) **F7AA-FEF9-C90E** (India) |
|   | **APIs** | [Place Details (Legacy)](https://developers.google.com/maps/documentation/javascript/legacy/places.md.txt#place_details) |
|   | **Billable event** | Successful request for Pro features |
|   | **Triggers** | - **Android:** [Places SDK for Android](https://developers.google.com/maps/documentation/places/android-sdk) ([`fetchPlace()`](https://developers.google.com/maps/documentation/places/android-sdk/place-details#get-place)) - **iOS:** [Places SDK for iOS](https://developers.google.com/maps/documentation/places/ios-sdk) ([`fetchPlaceFromPlaceID:`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSPlacesClient.md.txt#-fetchplacefromplaceid:placefields:sessiontoken:callback:)) - **JavaScript:** [Maps JavaScript API Place Details service](https://developers.google.com/maps/documentation/javascript/places#place_details) (`getDetails`) - **JavaScript:** [Maps JavaScript API Place Autocomplete widget](https://developers.google.com/maps/documentation/javascript/place-autocomplete#add-autocomplete) (`getPlace`) - **JavaScript:** [Maps JavaScript API Place SearchBox widget](https://developers.google.com/maps/documentation/javascript/place-autocomplete#places-searchbox): `getPlaces()` method after the user selects a **place result** (icon: pin), \*not\* a query (icon: magnifier), as illustrated here: ![Place Details Search Box Widget Place Result](https://developers.google.com/static/maps/billing-and-pricing/images/places-details-search-box-widget-result.png) In the results of the search box widget, after typing "pizza" in the search box, notice that *Pizza Autentico* has a pin icon next to it, indicating that it is a **place result** (and not a query). - **Web service:** [Place Details (Legacy) service](https://developers.google.com/maps/documentation/places/web-service/details) With the web API and services, the Place Details SKU is charged whether you provide a session token or not. > [!CAUTION] > **This SKU also triggers billing for Data SKUs:** If you include data fields in your request, it can trigger additional billing for Data SKUs: [Basic Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#basic-data-legacy-ess-sku), [Contact Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#contact-data-legacy-ent-sku), and [Atmosphere Data](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#atmosphere-data-legacy-ent-sku). Specify only the data fields that you want to avoid unnecessary costs. You are billed for this SKU as well as for the data you request. |
|   | **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 (Legacy) 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](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-by-sku)): - Places Details - Basic Data 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 (Legacy) 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](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-per-sku)): - Places Details - Contact Data 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 (Legacy) request and specify all the fields (this type of request is the default if you don't specify any fields): `getPlaceDetails()`. On your bill, you will see these SKUs listed (when [viewing your bill by SKU](https://developers.google.com/maps/reporting-and-monitoring/reporting.md.txt#analyze-usage-cost-by-sku)): - Places Details - Basic Data - Contact Data - Atmosphere Data |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

| ### \[ Enterprise: Places Legacy \] |
|---|

### SKU: Atmosphere Data

A [Data SKU](https://developers.google.com/maps/billing-and-pricing/sku-details.md.txt#data-skus) that bills for **Atmosphere Data** fields in a
[Places Details](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku) or
[Find Place](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#find-place-legacy-pro-sku) request.

|   | **Category** | [Enterprise](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **D63D-5CC5-302A** (Global) **0CE0-1963-137E** (India) |
|   | **APIs** | [Places Details (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/details.md.txt) with [Atmosphere fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#atmosphere) [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) with [Atmosphere fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#atmosphere) |
|   | **Billable event** | Successful request for Atmosphere data fields |
|   | **Triggers** | **Fields for Android SDK** `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` `Place.Field.USER_RATING_COUNT`\* \*Use INSTEAD OF `Place.Field.USER_RATINGS_TOTAL`, which is deprecated **Fields for iOS SDK** `GMSPlaceFieldPriceLevel` `GMSPlaceFieldRating` `GMSPlaceFieldUserRatingsTotal` `GMSPlaceFieldTakeout` `GMSPlaceFieldDelivery` `GMSPlaceFieldDineIn` `GMSPlaceFieldCurbsidePickup` `GMSPlaceFieldReservable` `GMSPlaceFieldServesBreakfast` `GMSPlaceFieldServesLunch` `GMSPlaceFieldServesDinner` `GMSPlaceFieldServesBeer` `GMSPlaceFieldServesWine` `GMSPlaceFieldServesBrunch` `GMSPlaceFieldServesVegetarianFood`. **Fields for 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` `user_ratings_total`. > [!CAUTION] > This SKU is charged **in addition to the base SKU > (Places Details, Find Place, Nearby Search, or Text Search)** for the request that triggered it. |
|   | **Field mask billing examples** | Your request is billed based on the fields provided in the field mask. For example: - **If your field mask only includes fields from this SKU**: The request is billed at the rate for this SKU. - **If your field mask includes fields from other SKUs** : The request is billed at the **highest SKU rate** for the fields requested. For example, if you include fields from both an Essentials SKU and an Enterprise SKU, then the request is billed at the Enterprise SKU rate. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Contact Data

A [Data SKU](https://developers.google.com/maps/billing-and-pricing/sku-details.md.txt#data-skus) that bills for **Contact Data** fields in a
[Places Details](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#place-details-legacy-pro-sku) or
[Find Place](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#find-place-legacy-pro-sku) request.

|   | **Category** | [Enterprise](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **F095-CD01-81B2** (Global) **A03F-5079-C66C** (India) |
|   | **APIs** | [Places Details (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/details.md.txt) with [Contact fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#contact) [Find Place (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/search-find-place.md.txt) with [Contact fields](https://developers.google.com/maps/documentation/places/web-service/legacy/place-data-fields.md.txt#contact) |
|   | **Billable event** | Successful request for Contact Data fields |
|   | **Triggers** | **Fields for Android SDK** `Place.Field.CURRENT_OPENING_HOURS` `Place.Field.INTERNATIONAL_PHONE_NUMBER`\* \* Use instead of `Place.Field.PHONE_NUMBER` (deprecated). `Place.Field.OPENING_HOURS` `Place.Field.SECONDARY_OPENING_HOURS` `Place.Field.WEBSITE_URI` **Fields for iOS SDK** `GMSPlaceFieldOpeningHours` `GMSPlaceFieldPhoneNumber` `GMSPlaceFieldWebsite` **Fields for Web Service** `formatted_phone_number` `international_phone_number` `opening_hours` `current_opening_hours` `secondary_opening_hours` `website` > [!CAUTION] > This SKU is charged **in addition to the base SKU > (Places Details, Find Place, Nearby Search, or Text Search)** for the request that triggered it. |
|   | **Field mask billing** | Your request is billed based on the fields provided in the field mask. For example: - **If your field mask only includes fields from this SKU**: The request is billed at the rate for this SKU. - **If your field mask includes fields from other SKUs** : The request is billed at the **highest SKU rate** for the fields requested. For example, if you include fields from both an Essentials SKU and an Enterprise SKU, then the request is billed at the Enterprise SKU rate. |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Places Photo

|   | **Category** | [Enterprise](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **81E7-85D0-58A7** (Global) **9F4B-2E19-1B63** (India) |
|   | **APIs** | [Places Photo (Legacy)](https://developers.google.com/maps/documentation/places/web-service/legacy/photos.md.txt) |
|   | **Billable event** | Successful request for a photo |
|   | **Triggers** | - **Android:** Requests to `fetchPhoto()` - **iOS:** Requests to `loadPlacePhoto:` - **JavaScript:** Requests to `PlacePhoto.getUrl()` to load image pixel data. - **Web service:** Requests to the [Places API Place Photos service](https://developers.google.com/maps/documentation/places/web-service/photos). |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#places-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#places-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

## Legacy Routes API SKUs

| ### \[ Essentials: Routes Legacy \] |
|---|

### SKU: Directions

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **28A8-3EB4-4595** (Global) **4714-291C-3199** (India) |
|   | **APIs** | [Maps JavaScript API's Directions Service](https://developers.google.com/maps/documentation/javascript/directions), [Directions API (Legacy)](https://developers.google.com/maps/documentation/directions) |
|   | **Billable event** | Successful request with no Pro or Enterprise features |
|   | **Triggers** | Queries that don't trigger a higher-rated SKU |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#routes-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#routes-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Distance Matrix

|   | **Category** | [Essentials](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **C1B6-FF9D-7700** (Global) **558A-4F88-F361** (India) |
|   | **APIs** | [Distance Matrix API (Legacy)](https://developers.google.com/maps/documentation/distance-matrix), [Maps JavaScript API Distance Matrix Service](https://developers.google.com/maps/documentation/javascript/distancematrix) |
|   | **Billable event** | Each element that doesn't contain Pro or Enterprise features. Each request sent to the Distance Matrix API generates elements, where the number of `origins` times the number of `destinations` equals the number of elements. |
|   | **Triggers** | Requests for elements that don't trigger higher-priced SKUs |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#routes-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#routes-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

| ### \[ Pro: Routes Legacy \] |
|---|

### SKU: Directions Advanced

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **9407-00C2-CF85** (Global) **E27B-BD57-FD7D** (India) |
|   | **APIs** | [Maps JavaScript API's Directions Service](https://developers.google.com/maps/documentation/javascript/directions), [Directions API (Legacy)](https://developers.google.com/maps/documentation/directions) |
|   | **Billable event** | Successful request with Pro features |
|   | **Triggers** | - [`duration_in_traffic`](https://developers.google.com/maps/documentation/directions/responses.md.txt#DirectionsLeg). - Between 11 and 25 [waypoints](https://developers.google.com/maps/documentation/directions/examples.md.txt#Waypoints). - Set [`waypoints=optimize:true`](https://developers.google.com/maps/documentation/directions/examples.md.txt#OptimizeWaypoints). - Set one of the following [location modifiers](https://developers.google.com/maps/documentation/directions/examples.md.txt#location-modifiers): - `side_of_road` - `heading` |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#routes-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#routes-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

### SKU: Distance Matrix Advanced

|   | **Category** | [Pro](https://developers.google.com/maps/billing-and-pricing/overview.md.txt#pricing-categories) |
|---|---|---|
|   | **SKU ID** | **DFAE-763F-CF6E** (Global) **C0F4-32AE-F6D1** (India) |
|   | **APIs** | [Distance Matrix API (Legacy)](https://developers.google.com/maps/documentation/distance-matrix), [Maps JavaScript API Distance Matrix Service](https://developers.google.com/maps/documentation/javascript/distancematrix) |
|   | **Billable event** | Each element returned with Pro features. Each request sent to the Distance Matrix API generates elements, where the number of `origins` times the number of `destinations` equals the number of elements. |
|   | **Triggers** | - [`duration_in_traffic`](https://developers.google.com/maps/documentation/distance-matrix/distance-matrix.md.txt#DistanceMatrixElement) field. - Set one of the following [location modifiers](https://developers.google.com/maps/documentation/distance-matrix/distance-matrix.md.txt#location-modifiers): - `side_of_road` - `heading` |
|   | **Pricing** | [Price list (Global)](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt#routes-legacy-pricing) [Price list (India)](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt#routes-legacy-pricing) |

<br />

[( Return to top )](https://developers.google.com/maps/billing-and-pricing/sku-details/legacy.md.txt#places-sku-leg)

<br />

## Related SKU details pages

- [API usage details overview](https://developers.google.com/maps/billing-and-pricing/sku-details.md.txt): Complete SKU directory organized by Essentials, Pro, Enterprise, and Legacy tiers.
- [Maps SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/maps.md.txt): Maps SDK for Android, Maps SDK for iOS, Maps JavaScript API, Maps Embed API, Maps Static API, Street View Static API, Elevation API, Aerial View API, and Map Tiles API SKUs.
- [Routes SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/routes.md.txt): Routes API, Route Optimization API, Roads API, and Navigation SDK SKUs.
- [Places (New) SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/places.md.txt): Places API (New), Places UI Kit, Places Aggregate API, Address Validation API, Geocoding API, Geolocation API, Time Zone API, and Maps Grounding Lite SKUs.
- [Environment SKU details](https://developers.google.com/maps/billing-and-pricing/sku-details/environment.md.txt): Air Quality API, Pollen API, Solar API, and Weather API SKUs.
- [Google Maps Platform pricing](https://developers.google.com/maps/billing-and-pricing/pricing.md.txt) and [India pricing](https://developers.google.com/maps/billing-and-pricing/pricing-india.md.txt): Monthly volume tiers and per-event rates.