Using session tokens

Select platform: Android iOS Web Service

Session tokens group the query and selection phases of a user autocomplete search into a discrete session for billing purposes.

Create a session token Users are responsible for generating unique session tokens for each session. Google recommends using version 4 UUIDs.


As the user types a query, an autocomplete request is called every few keystrokes (not per-character), and a list of possible results is returned. When the user makes a selection from the result list, the selection counts as a request, and all of the requests made during the search are bundled and counted as a single request. If the user selects a place, the search query is available at no charge, and only the Place data request is charged. If the user does not make a selection within a few minutes of the beginning of the session, only the search query is charged.

Let's examine this flow of events from the perspective of an app.

  1. A user begins typing a query to search for "Paris, France".
  2. Upon detecting user input, the app creates a new session token, "Token A".
  3. As the user types, the API makes an autocomplete request every few characters, displaying a new list of potential results for each:
    "Paris, Fr"
  4. When the user makes a selection:
  • All requests resulting from the query are grouped and added to the session represented by "Token A", as a single request.
  • The user's selection is counted as a Place Detail request, and added to the session represented by "Token A".
  • The session is concluded, and the app discards "Token A".

For more information about how Autocomplete requests are billed, see Usage and Billing.