Understanding Billing for Maps, Routes, and Places

Beginning September 10, 2018, usage for self-serve customers in
Brazil, Canada, and India will be limited to $200/month. This situation is
temporary. Please see the Maps FAQ
for more details.

A new pay-as-you-go pricing plan is now in effect for the Google Maps Platform APIs.
On June 11, 2018, we launched new Maps, Routes, and Places functionality, and changed the
way certain APIs and features are billed. This page helps you understand the details of the
new pricing structure for each Google Maps Platform API, and how charges for use are
calculated.

SKU pricing is tiered, based on volume of use, with three tiers: 0–100,000;
100,001–500,000; 500,001+.

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.
Note: The credit does not apply to our gaming, ridesharing, or asset tracking
industry solutions.
Contact Us
for more information.

When you view your billing report, each line item lists Cost Before Credit,
Credit, and Cost After Credit.

View your billing report

Billing reports for your use of the Google Maps Platform products are available in the
Google Cloud Platform Console. To view the report for your billing account:

If you have more than one billing account, select Go to linked billing account
to view the current project's billing account. To locate a different billing account,
select Manage billing accounts and choose the account for which you'd like to
see reports.

Select Reports from the left side menu.

How to read the billing report chart

Billing reports plot cost over time as a stacked line chart. The default
view displays the current month’s daily usage-specific costs grouped by
project (for all products), inclusive of any usage-specific credits applied,
as well as the total forecasted cost for the entire current month. Each
line in the chart (and row in the summary table) corresponds to the project,
ranked largest to smallest by cost.
Learn more
about interpreting the billing report chart.

To change the report view to display line items by SKU:

Other filters available in the billing report include Time range, Projects,
Products, and SKUs.

You can change the chart view to exclude usage-specific credits by unchecking the
Include credits in cost checkbox in the right panel.

Monitor and restrict consumption

To help you to plan your budget and control costs, you can do the following:

Set a budget alert,
to track how your spend is growing toward a particular amount. Setting a budget
does not cap API usage, it only alerts you when your spend amount gets near the
specified amount.

Cap your daily API usage,
to manage your cost of use of billable APIs. By setting caps on requests per
day, you can limit your spend. Use a simple equation to determine your daily
cap depending on how much you want to spend. For example: (Monthly spend /
price per each)/30 = requests per
day cap (for one API). Note that your implementation may use multiple billable APIs, so adjust
your equation as needed. Remember, a
$200 USD Google Maps Platform credit is available each month, so be sure to factor that
into your calculation.

A single map load is accrued for each instantiation of a Google map object in lite mode,
in a Maps SDK for Android mobile application. Maps are created with instances of
MapFragment, SupportMapFragment, or MapView
classes. A map load is counted each time the related onCreate() method is
called.

User interactions with the map, such as panning, zooming, or switching map layers, do not
generate additional map loads.

With the new pricing, the creation of a Street View panorama is no longer charged as a map
load. It is charged as a Dynamic Street View (see below).

SKU: Static Street View

Prior to the new pricing, Street View panoramas were charged as map loads. They are now
charged separately. A static Street View panorama is charged for each request to the
Street View API to embed a static
(non-interactive) Street View panorama. Usage of the
Street View Image Metadata endpoint is
not charged.

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.

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. 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 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.

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.

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.

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–100,000

100,001–500,000

500,000+

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:

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):

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
the 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 that only specify the Place ID to be returned.

MONTHLY VOLUME RANGE(Price per
CALL)

0–100,000

100,001–500,000

500,000+

0.00 USD (Free)

0.00 USD (Free)

0.00 USD (Free)

Example

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

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 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:
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, for example:
TextSearch(123 Main Street). On your bill, you will see the following
SKUs listed (when viewing your bill by SKU):