The Maps JavaScript API uses a pay-as-you-go pricing model. Maps JavaScript API requests generate calls to two different SKUs depending on the type of request: map loads or panoramas. Calls to the Places Library, Maps JavaScript API and other JavaScript services are priced separately from JavaScript native SKUs. Along with the overall Google Terms of Use, there are usage limits specific to the Maps JavaScript API. Manage your costs and usage with tools available in the Google Cloud console.
How the Maps JavaScript API is billed
The Maps JavaScript 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
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 applied to the qualifying SKUs.
Pricing for the Maps JavaScript API
SKU: Dynamic Maps
An application that displays either a map loaded with or without a map ID using Maps JavaScript API, or a map loaded with a map ID and using either the Maps SDK for Android or Maps SDK for iOS.
MONTHLY VOLUME RANGE (Price per MAP LOAD) |
||
---|---|---|
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 |
User interactions with the map, such as panning, zooming, or switching map layers, do not generate additional map loads.
SKU: Dynamic Street View
Street View panoramas and map loads are now charged separately. A dynamic Street View panorama is charged for each instantiation of a panorama object in a Maps JavaScript API, Maps SDK for Android, Maps SDK for iOS application.
MONTHLY VOLUME RANGE (Price per PANORAMA) |
||
---|---|---|
0.014 USD per each (14.00 USD per 1000) |
0.0112 USD per each (11.20 USD per 1000) |
Contact Sales for volume pricing |
An instantiation of a panorama object occurs:
- In JavaScript, with the
google.maps.StreetViewPanorama()
class orMap.getStreetView()
method. Neither the built-in Street View experience based on the Street View Pegman control nor usage of theStreetViewService()
class is charged. - On Android, with one of
StreetViewPanoramaFragment
,SupportStreetViewPanoramaFragment
, orStreetViewPanoramaView
classes. A panorama is counted each time the relatedonCreate()
method is called. - On iOS, with the
GMSPanoramaView
object.
Pricing for Places Library, Maps JavaScript API
SKU: Autocomplete Requests
An Autocomplete Requests SKU is charged for each request to the Autocomplete (New) API that does not include a session token.
It is also charged if you use session tokens and either:
- Terminate the sessions by a single request to Place Details (New) that
requests any fields defined by the SKU: Place Details (Location Only).
- Each Autocomplete (New) request, up to 12 requests, is billed using the SKU: Autocomplete Requests.
- Each subsequent Autocomplete (New) request is billed using the SKU: Autocomplete Session Usage.
- Abandon the session or end the session by making a call to the SKU: Place Details (IDs Only). All Autocomplete (New) requests are then billed using the SKU: Autocomplete Requests.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
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 Session Usage
An Autocomplete Session Usage SKU is charged for each request to the Autocomplete (New) API that includes a session token.
This SKU is charged in these scenarios:
Autocomplete session terminated by a call to SKU: Place Details (Location Only):
- Each Autocomplete (New) request, up to 12 requests, is billed using the SKU: Autocomplete Requests.
- Each subsequent Autocomplete (New) request is billed using the SKU: Autocomplete Session Usage.
Autocomplete session terminated with a call to SKU: Place Details (Basic, Advanced, or Preferred).
A Place Details call that requests any field from the SKU: Place Details (Basic, Advanced, or Preferred) is billed at the SKU: Place Details (Preferred).
Autocomplete session terminated with a call to SKU: Address Validation Preferred.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.00 USD per each (0.00 USD per 1000) |
0.00 USD per each (0.00 USD per 1000) |
0.00 USD per each (0.00 USD per 1000) |
SKU: Place Details (IDs Only)
Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
id
,
photos
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.0 USD per each (0.00 USD per 1000) |
0.0 USD per each (0.00 USD per 1000) |
0.0 USD per each (0.00 USD per 1000) |
SKU: Place Details (Location Only)
Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
addressComponents
,
adrFormatAddress
,
formattedAddress
,
location
,
plusCode
,
types
,
viewport
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.005 USD per each (5.00 USD per 1000) |
0.004 USD per each (4.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Place Details (Basic)
Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
accessibilityOptions
,
businessStatus
,
displayName
,
googleMapsUri
,
iconBackgroundColor
,
primaryTypeDisplayName
,
svgIconMaskURI
,
types
,
utcOffsetMinutes
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.0170 USD per each (17.00 USD per 1000) |
0.0136 USD per each (13.60 USD per 1000) |
Contact Sales for volume pricing |
SKU: Place Details (Advanced)
Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
internationalPhoneNumber
,
nationalPhoneNumber
,
priceLevel
,
rating
,
regularOpeningHours
,
userRatingCount
,
websiteUri
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.020 USD per each (20.00 USD per 1000) |
0.016 USD per each (16.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Place Details (Preferred)
Using a field mask or field list in your Place Details (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
allowsDogs
,
editorialSummary
,
evChargeOptions
,
fuelOptions
,
hasCurbsidePickup
,
hasDelivery
,
hasDineIn
,
hasLiveMusic
,
hasMenuForChildren
,
hasOutdoorSeating
,
hasRestroom
,
hasTakeout
,
hasWifi
,
isGoodForChildren
,
isGoodForGroups
,
isGoodForWatchingSports
,
isReservable
,
parkingOptions
,
paymentOptions
,
priceLevel
,
reviews
,
servesBeer
,
servesBreakfast
,
servesBrunch
,
servesCocktails
,
servesCoffee
,
servesDessert
,
servesDinner
,
servesLunch
,
servesVegetarianFood
,
servesWine
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.025 USD per each (25.00 USD per 1000) |
0.020 USD per each (20.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Nearby Search (Basic)
Using a field mask or field list in your Nearby Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
accessibilityOptions
,
addressComponents
,
adrFormatAddress
,
businessStatus
,
displayName
,
formattedAddress
,
googleMapsUri
,
iconBackgroundColor
,
id
,
location
,
photos
,
plusCode
,
svgIconMaskURI
,
types
,
utcOffsetMinutes
,
viewport
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 |
SKU: Nearby Search (Advanced)
Using a field mask or field list in your Nearby Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
internationalPhoneNumber
,
nationalPhoneNumber
,
priceLevel
,
rating
,
regularOpeningHours
,
userRatingCount
,
websiteUri
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.035 USD per each (35.00 USD per 1000) |
0.028 USD per each (28.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Nearby Search (Preferred)
Using a field mask or field list in your Nearby Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
allowsDogs
,
editorialSummary
,
evChargeOptions
,
fuelOptions
,
hasCurbsidePickup
,
hasDelivery
,
hasDineIn
,
hasLiveMusic
,
hasMenuForChildren
,
hasOutdoorSeating
,
hasRestroom
,
hasTakeout
,
hasWifi
,
isGoodForChildren
,
isGoodForGroups
,
isGoodForWatchingSports
,
isReservable
,
parkingOptions
,
paymentOptions
,
priceLevel
,
reviews
,
servesBeer
,
servesBreakfast
,
servesBrunch
,
servesCocktails
,
servesCoffee
,
servesDessert
,
servesDinner
,
servesLunch
,
servesVegetarianFood
,
servesWine
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.040 USD per each (40.00 USD per 1000) |
0.032 USD per each (32.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Text Search (ID Only)
Using a field mask or field list in your Text Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
id
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.0 USD per each (0.00 USD per 1000) |
0.0 USD per each (0.00 USD per 1000) |
0.0 USD per each (0.00 USD per 1000) |
SKU: Text Search (Basic)
Using a field mask or field list in your Text Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
accessibilityOptions
,
addressComponents
,
adrFormatAddress
,
businessStatus
,
displayName
,
formattedAddress
,
googleMapsUri
,
iconBackgroundColor
,
location
,
photos
,
plusCode
,
svgIconMaskURI
,
types
,
utcOffsetMinutes
,
viewport
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 |
SKU: Text Search (Advanced)
Using a field mask or field list in your Text Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
internationalPhoneNumber
,
nationalPhoneNumber
,
priceLevel
,
rating
,
regularOpeningHours
,
userRatingCount
,
websiteUri
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.035 USD per each (35.00 USD per 1000) |
0.028 USD per each (28.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Text Search (Preferred)
Using a field mask or field list in your Text Search (New) request, you can limit the response to only those fields specified. This SKU is triggered when you only request the following fields:
Places Library, Maps JavaScript API:
allowsDogs
,
editorialSummary
,
evChargeOptions
,
fuelOptions
,
hasCurbsidePickup
,
hasDelivery
,
hasDineIn
,
hasLiveMusic
,
hasMenuForChildren
,
hasOutdoorSeating
,
hasRestroom
,
hasTakeout
,
hasWifi
,
isGoodForChildren
,
isGoodForGroups
,
isGoodForWatchingSports
,
isReservable
,
parkingOptions
,
paymentOptions
,
priceLevel
,
reviews
,
servesBeer
,
servesBreakfast
,
servesBrunch
,
servesCocktails
,
servesCoffee
,
servesDessert
,
servesDinner
,
servesLunch
,
servesVegetarianFood
,
servesWine
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.040 USD per each (40.00 USD per 1000) |
0.032 USD per each (32.00 USD per 1000) |
Contact Sales for volume pricing |
SKU: Place Photo
A Place Photo SKU is charged for each request to the API.
MONTHLY VOLUME RANGE (Price per CALL) |
||
---|---|---|
0.007 USD per each (7.00 USD per 1000) |
0.0056 USD per each (5.60 USD per 1000) |
Contact Sales for volume 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 (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:
- 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
The three Places Data SKUs are: Basic Data, Contact Data, and Atmosphere Data.One or more Data SKUs are triggered for:
- Android: each request to
fetchPlace()
orfindCurrentPlace()
- iOS: each call to
fetchPlaceFromPlaceID:
orfindPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
- 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 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:
Place.Field.ACCESSIBILITY_OPTIONS
,Place.Field.ADDRESS_COMPONENTS
,Place.Field.BUSINESS_STATUS
,Place.Field.DISPLAY_NAME
,Place.Field.FORMATTED_ADDRESS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_MASK_URL
,Place.Field.ID
,Place.Field.LOCATION
,Place.Field.PHOTO_METADATAS
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
, orPlace.Field.UTC_OFFSET
. -
iOS:
GMSPlaceFieldFormattedAddress
,GMSPlaceFieldBusinessStatus
,GMSPlaceFieldID
,GMSPlaceFieldCoordinate
,GMSPlaceFieldName
,GMSPlaceFieldPhotos
,GMSPlaceFieldPlusCode
,GMSPlaceFieldTypes
, orGMSPlaceFieldViewport
-
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
, orwheelchair_accessible_entrance
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 for web services, or
an array of Place.Field
s for Android or iOS, you can
limit the response to only those fields specified. Fields in the Contact
category result in an additional charge. The Contact Data SKU is triggered
when any of these fields are requested:
-
Android:
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.INTERNATIONAL_PHONE_NUMBER
,Place.Field.OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
, orPlace.Field.WEBSITE_URI
-
iOS:
GMSPlaceFieldOpeningHours
,GMSPlaceFieldPhoneNumber
, orGMSPlaceFieldWebsite
-
Web service:
formatted_phone_number
,international_phone_number
,opening_hours
,current_opening_hours
,secondary_opening_hours
, orwebsite
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:
- Android:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.DINE_IN
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.RESERVABLE
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
, orPlace.Field.USER_RATING_COUNT
- iOS:
GMSPlaceFieldPriceLevel
,GMSPlaceFieldRating
,GMSPlaceFieldUserRatingsTotal
,GMSPlaceFieldTakeout
,GMSPlaceFieldDelivery
,GMSPlaceFieldDineIn
,GMSPlaceFieldCurbsidePickup
,GMSPlaceFieldReservable
,GMSPlaceFieldServesBreakfast
,GMSPlaceFieldServesLunch
,GMSPlaceFieldServesDinner
,GMSPlaceFieldServesBeer
,GMSPlaceFieldServesWine
,GMSPlaceFieldServesBrunch
orGMSPlaceFieldServesVegetarianFood
. - JavaScript: See Fields (Place details)
- Web service:
curbside_pickup
,delivery
,dine_in
,editorial_summary
,price_level
,rating
,reservable
,reviews
,serves_beer
,serves_breakfast
,serves_brunch
,serves_dinner
,serves_lunch
,serves_vegetarian_food
,serves_wine
,takeout
, oruser_ratings_total
.
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 Request
The Autocomplete – Per Request SKU is charged for any of these calls or requests that do not include a session token:
- Android:
findAutocompletePredictions()
- iOS:
findAutocompletePredictionsFromQuery:
- JavaScript: the Maps JavaScript API’s Place Autocomplete service
- Web service: the Places API Place Autocomplete service
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.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.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
- findAutocompletePredictions() (.setQuery(”par”), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery(”paris”), .setSessionToken(XYZ))
iOS
- placesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placesClient?.findAutocompletePredictions(fromQuery: "paris" ...
Web service
- Place Autocomplete Request (input=”par”, session_token: XYZ)
- Place Autocomplete Request (input=”paris”, session_token: XYZ)
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.00 USD | 0.00 USD | 0.00 USD |
Example
If your application issues the following three calls in a single session:
Android
- findAutocompletePredictions() (.setQuery(”par”), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery(”paris”), .setSessionToken(XYZ))
- fetchPlace() (with a
FetchPlaceRequest
including the Place ID, and the ADDRESS field)
iOS
- placesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placesClient?.findAutocompletePredictions(fromQuery: "paris" ...
- fetchPlaceFromPlaceID:
(including the Place ID, and the
GMSPlaceFieldFormattedAddress
field)
Web service
- Places Autocomplete Request (input=”par”, session_token: XYZ)
- Places Autocomplete Request (input=”paris”, session_token: XYZ)
- Places Details (place_id, session_token: XYZ, fields:formatted_address)
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:
- JavaScript: 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). - Web service: the Places API Query Autocomplete service
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.
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 these APIs:
- Android: Places SDK for Android
(
fetchPlace()
) - iOS: Places SDK for iOS
(
fetchPlaceFromPlaceID:
) - JavaScript:
Maps JavaScript API’s Place Details service (
getDetails
) - JavaScript:
Maps JavaScript API’s Place Autocomplete widget (
getPlace
) - JavaScript:
Maps JavaScript API’s Place SearchBox widget:
getPlaces()
method after the user selects a place result (icon: pin), *not* a query (icon: magnifier), as illustrated here: - Web service: Places API Place Details service
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 Place Details call or request plus the cost of all the data.
Examples
- Make one of these calls or requests:
- Mobile: call
fetchPlace()
on Android orfetchPlaceFromPlaceID:
on iOS, and specify just theADDRESS
field - Web API or service: make a Place Details request and specify just the address field:
getPlaceDetails(fields: formatted_address)
- Place Details (price starting at 0.017 USD per session)
- Basic Data (billed at 0.00 USD)
- Mobile: call
- Make one of these calls or requests:
- Mobile: call
fetchPlace()
on Android orfetchPlaceFromPlaceID:
on iOS, and specify just thePHONE_NUMBER
field - Web API or service: make a Place Details request and specify the phone number field:
getPlaceDetails(fields: formatted_phone_number)
- Place Details (price starting at 0.017 USD per session)
- Contact Data (price starting at 0.003 USD per request)
- Mobile: call
- Make one of these calls or requests:
- Mobile: call
fetchPlace()
on Android orfetchPlaceFromPlaceID:
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()
.
- 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)
- Mobile: call
SKU: Places 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.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):
- Places 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.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
- 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)
- 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)
- 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.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)
SKU: Places – Nearby Search
Places – 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.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)
SKU: Places – Text Search
Places – 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.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:
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: Places Photo
A Places Photo SKU is charged for:
- Android: calls to
fetchPhoto()
- iOS: calls to
loadPlacePhoto:
- JavaScript: to Places Library, Maps JavaScript API’s
Place Photos service when requesting data from the URLs returned by
PlacePhoto.getUrl()
to load image pixel data - Web service: requests to the Places API Place Photos service
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.007 USD per each (7.00 USD per 1000) |
0.0056 USD per each (5.60 USD per 1000) |
Contact Sales for volume pricing |
Pricing for JavaScript services
JavaScript services are priced separately. See the service's usage and billing page for more information:
- Directions Service -- Directions API usage and billing
- Distance Matrix Service -- Distance Matrix API usage and billing
- Elevation Service -- Elevation API usage and billing
- Geocoding Service -- Geocoding API usage and billing
- Street View Service -- Street View API usage and billing
Other usage limits
While there is no maximum number of requests per day, the following usage limits are in place for the Maps JavaScript API API:
- 30,000 QPM (requests per minute).
- 300 QPM (requests per minute) per IP address. In the Google Cloud console, this quota is referred to as Map loads per minute per user.
Photorealistic 3D Maps in Maps JavaScript usage limits
The following usage limits are in place for the Photorealistic 3D Maps in Maps JavaScript
- 100 QPM (requests per minute) .
- 10 QPM (requests per minute) per IP address .
Terms of Use restrictions
For complete details on allowed usage, consult the License Restrictions section in the Google Maps Platform Terms of Service.
Manage your cost of use
To manage your cost of use of the Maps JavaScript API or to meet the demands of your production traffic, set daily quota limits on all requests to any API. Daily quotas are reset at midnight Pacific time.
To view or change quota limits for the Maps JavaScript API:
- In the Cloud console, open the Google Maps Platform Quotas page.
- Click the APIs drop-down and select the Maps JavaScript API.
- To view the quota limits, scroll down to the Requests
card.
A table lists the quota names and limits. - 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.