Pricing and Billing Changes
A new pay-as-you-go pricing model is now in effect for Google Maps Platform APIs. The new plan gives you more flexibility and control over how you use our APIs. You can use as much or as little as you need and only pay for what you use each month.
Between June 11 and July 16, 2018, your use of the Google Maps Platform APIs was billed under the previous pricing model. For more information on what has changed, review the API-specific Billing Changes and the guide to understanding billing. You can also estimate your monthly bill under the new pricing model with the pricing calculator.
Requests per Day (QPD) limits have ended, effective June 11, 2018
For Existing Customers:
- If you are an existing customer (using the Google Maps Platform before June 11, 2018), you were billed under the previous pricing plan until July 16, 2018.
- Note: Starting on June 11, 2018, Google began to roll out the removal of the default QPD limits on existing billing accounts. This process may take up to six weeks.
- If you rely on the default QPD limits to help you manage your cost of use, we recommend you set your own daily limits in the Google Cloud Platform Console, to override the default QPD limits set by Google. This will ensure that your preferred QPD limits remain in place.
For New Customers:
- If you are a new customer (using the Google Maps Platform starting on or after June 11, 2018), you were billed under the previous pricing plan until July 16, 2018.
- Note: New customers began receiving unlimited QPD starting on June 11, 2018.
- To help you manage your cost of use, you can set your own QPD limits in the Google Cloud Platform Console.
New Pay-As-You-Go Pricing
Effective July 16, 2018
How billing works under the new pay-as-you-go model
- The Google Maps Platform APIs are billed by SKU.
- Usage is tracked for each Product SKU, and an API may have more than one Product SKU.
- Cost is calculated by: SKU Usage x Price per each use.
- For each billing account, for qualifying Google Maps Platform SKUs, a $200 USD Google Maps Platform credit is available each month, and automatically applied to the qualifying SKUs.
See guide to understanding billing for more information.
Important: Enable BillingAs of July 16, 2018, to continue to use the Google Maps Platform APIs, you must enable billing on each of your projects. If you choose not to add a billing account, your maps will be degraded, or other Maps API requests will return an error. |
Enabling billing
To enable billing and unlock higher quotas for the Google Maps Platform APIs, we'll guide you through the Google Developers Console to complete a few tasks:
- Create or choose a project
- Set up or choose your billing profile
- Enable billing on your project
New Pricing for the Places API
With the launch of Google Maps Platform, we’ve introduced changes to our Places API products and pricing. For context, see product changes and pricing changes. The pricing changes take effect July 16, 2016.
In the previous pricing model, only two SKUs were used for Places API requests: Autocomplete Requests and Requests. In the new pay-as-you-go pricing model, we introduce a more granular SKU structure with discrete pricing to provide you with greater flexibility, transparency, and control over how you use the Places API. You can use as much or as little as you need and only pay for what you use each month.
Highlights of what’s new:
- Place Autocomplete (Web Service and JavaScript) and the JavaScript Autocomplete widget now offers session-based billing. To use session-based billing, you must include a session token in your Autocomplete requests. If you don't include a session token, your code should continue to work but you will continue to get charged per request (the way it worked before).
- Places Details requests can be constrained to specific fields. The fields correspond to Places Details results, and are divided into three billing categories: Basic, Contact, and Atmosphere, billed at different rates.
- Find Place (Places API) returns a place based on a text query or a phone number.
- Find Place from Query (Maps JavaScript API) returns a place based on a text query.
- Find Place from Phone Number (Maps JavaScript API) returns a place based on a phone number.
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 (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 or the Maps JavaScript API’s Places Autocomplete service. You need to design your application to provide session tokens (you may need to change your existing code).
- The Maps JavaScript API’s Autocomplete widget. Session-based billing is automatically enabled on those widgets, without any code change required.
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 each Places request, depending on the fields that are specified in the request.
The following Places APIs calls support specifying the data fields 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.
The following Places APIs calls support specifying the data fields to return:
The following 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:
address_component
, adr_address
, alt_id
,
formatted_address
, geometry
, icon
, id
,
name
, permanently_closed
, photo
, place_id
,
scope
, type
, url
, utc_offset
,
vicinity
.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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, 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:
formatted_phone_number
, international_phone_number
,
opening_hours
, website
.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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:
price_level
, rating
, review
.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 Character
An Autocomplete – Per Character SKU is charged for requests to the Places API Place Autocomplete service, or the Maps JavaScript API’s Places Autocomplete service, 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 Character SKU.
MONTHLY VOLUME RANGE (Price per REQUEST) |
||
---|---|---|
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 Places Details – Per Session
An Autocomplete without Places Details – Per Session SKU is charged for an Autocomplete session that does not include a Places Details request (within a few minutes of the beginning of the session).
MONTHLY VOLUME RANGE (Price per SESSION) |
||
---|---|---|
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 the following two calls in a single session:
- Places Autocomplete Request (input=”par”, sessiontoken=”XYZ”)
- Places Autocomplete Request (input=”paris”, sessiontoken=”XYZ”)
On your bill, you will see the following SKU listed (when viewing your bill by SKU):
- Autocomplete without Places Details – Per Session (price starting at 0.017 USD per session)
SKU: Autocomplete (included with Places Details) – Per Session
An Autocomplete (included with Places Details) – Per Session SKU is charged for an Autocomplete session that includes a Places Details request. The autocomplete request is free, and the subsequent Places Details call gets charged based on regular Places Details pricing (described below).
A Places 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). To avoid paying for data that
you don't need, call
Autocomplete.setFields()
to specify only the place data that you will use.
MONTHLY VOLUME RANGE (Price per SESSION) |
||
---|---|---|
0.00 USD (Free) | 0.00 USD (Free) | 0.00 USD (Free) |
Example
If your application issues the following three calls in a single session:
- Places Autocomplete Request (input=”par”, sessiontoken=”XYZ”)
- Places Autocomplete Request (input=”paris”, sessiontoken=”XYZ”)
- Places Details (placeid=”place_id”, sessiontoken=”XYZ”, fields:formatted_address)
On your bill, you will see the following SKUs listed (when viewing your bill by SKU):
- Autocomplete (included with Places Details) – Per Session (billed at 0.00 USD)
- Places Details (price starting at 0.017 USD per session)
- Basic Data (billed at 0.00 USD)
SKU: Query Autocomplete – Per Character
A Query Autocomplete – Per Character SKU is charged for each request to the
Places API Query Autocomplete service, or the
Maps JavaScript API’s Places Autocomplete Service
(getQueryPredictions()
), and the use of the
Maps JavaScript API’s SearchBox widget (Query Autocomplete requests are
generated as the user types).
MONTHLY VOLUME RANGE (Price per REQUEST) |
||
---|---|---|
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 (described below).
SKU: Places Details
Places Details calls are charged as follows:
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 Places Details SKU is generated from the following APIs:
- Places API Place Details service
-
Maps JavaScript API’s Place Details service (
getDetails
) -
Maps JavaScript API’s Places Autocomplete widget (
getPlace
) -
Maps JavaScript API’s Places SearchBox widget:
getPlaces()
method after the user selects a place result (icon: pin), not a query (icon: magnifier), as illustrated here: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).
The Places Details SKU is charged whether a session token is provided or not.
A Places Details request also 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), and you are charged for the Places Details request plus the cost of all the data.
Examples
1. You make a Place Details request and specify just the address field:
getPlaceDetails(fields: formatted_address)
. On your bill, you will see the
following SKUs listed (when viewing your bill by SKU):
- Places Details (price starting at 0.017 USD per session)
- Basic Data (billed at 0.00 USD)
2. You make a Place Details request and specify the phone number field:
getPlaceDetails(fields: formatted_phone_number)
. On your bill, you will see the
following SKUs listed (when viewing your bill by SKU):
- Places Details (price starting at 0.017 USD per session)
- Contact Data (price starting at 0.003 USD per request)
3. You 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 the following SKUs listed (when viewing your bill by SKU):
- Places 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: Places Details – ID Refresh
You can use the Places Details request to refresh stale place IDs. These types of requests are free.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.00 USD (Free) | 0.00 USD (Free) | 0.00 USD (Free) |
Example
You make a Place Details request specifying just the place id field:
getPlaceDetails(fields: place_id)
.
On your bill, you will see the following SKUs listed (when viewing your bill by SKU):
- Places Details – ID Refresh (billed at 0.00 USD)
SKU: Find Place
Find Place is charged for a Find Place request (new feature, available in beta on June 11, 2018).
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 the
following 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
following 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 the following 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 (new feature, available in beta on June 11, 2018) 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.00 USD (Free) | 0.00 USD (Free) | 0.00 USD (Free) |
Example
You make a Find Place request and do not specify any fields: FindPlace()
.
On your bill, you will see the following SKUs listed (when viewing your bill by SKU):
- Find Place – ID only (billed at 0.00 USD)
SKU: Places – Nearby Search
Places – Nearby Search is charged for requests to the
Places API Nearby Search service, and to the
Maps JavaScript API’s Places Nearby Search service
(nearbySearch()
).
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 with full place details (Nearby Search requests do not support specifying the returned 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, for example:
NearbySearch(San Francisco, 100 meters)
. On your bill, you will see the
following SKUs listed (when viewing your bill by SKU):
- Places - 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)
SKU: Places – Text Search
Places – Text Search is charged for requests to the
Places API Text Search service, and to the
Maps JavaScript API’s Places Text Search service
(textSearch()
).
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 |
Places Text Search requests return a list of places with full place details (Text Search requests do not support specifying the returned 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 Places – Text Search SKU is also generated by the
Maps JavaScript API’s Places SearchBox widget: getPlaces()
method after the user selects a place query (icon: magnifier), not a result
(icon: pin), as illustrated here:
Example
You make a Text Search request, for example:
TextSearch(123 Main Street)
. On your bill, you will see the
following SKUs listed (when viewing your bill by SKU):
- Places - 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: Places Photo
A Places Photo SKU is charged for requests to the
Places API Place Photos service,
and to the
Places Library, Maps JavaScript API’s Place Photos service (using photos.getURL()
to fetch and load Photo URLs).
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 you are no longer limited to a maximum number of requests per day (QPD), the following usage limits still apply when using the Places API:
- Rate limit is 100 requests per second (QPS). 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, you can set daily limits to all requests to any billable API.
To view or change daily billable limits for the Places API, do the following:
- Go to the Places API Quotas page in the Google Cloud Platform Console.
- From the projects list, select a project.
- In the Requests section, on the Requests per day line, click the edit icon, then enter the preferred total billable daily quota, up to the limit (if any) specified by Google.
If your API usage reaches your billable limit on any given day, your application will not be able to access the API for the remainder of that day.
Related resources
- Managing your billing accounts
- Modify a project's billing settings
- Viewing your cost trends with billing reports
- Setting budgets and alerts
- Capping API usage
- Optimization Guide for Google Maps Platform
- API Key Best Practices
Premium Plan Customers
Starting November 1, 2018, Premium Plan customers will be able to migrate to the new Google Maps Platform pay-as- you-go pricing plan once their current Premium Plan contract expires. Only contracts whose end date is November 1, 2018, or later, are eligible to be migrated to Google Maps Platform. Contracts expiring prior to that date must be renewed on Premium Plan. For more information, see the Maps Platform Migration Guide.
Places API Usage Limits for Existing Premium Plan Users |
|
---|---|
Google Maps APIs Premium Plan customers:
See Premium Plan Usage Rates and Limits for more information. |
Previous Usage Limits and Pricing
Until July 16, 2018, the Places API had the following limits in place:
Standard Usage Limits for Places API |
|
---|---|
Standard Plan quota is calculated as the sum of client-side and server-side requests.
|