Set up the Navigation Connect

European Economic Area (EEA) developers

This document describes the steps you need to start using the Navigation Connect.

Prerequisites

This guide shows how to set up your Google Cloud Account and Google Cloud project with billing enabled. You should also be familiar with how you are charged for using the Navigation Connect API.

  1. Review billing and cost for usage at Navigation Connect Usage and Billing.
  2. Verify that you have a Google Cloud Account.

    Sign in to the Google Cloud console
  3. Verify that you have a Google Cloud project with billing enabled.

    Go to the Billing page
    1. Select your project to open the Billing page.
    2. On the Billing page:

      • If billing is already enabled for the selected project, and you only have a single billing account, then the Billing page opens.
      • If you have multiple billing accounts, select Go to linked billing account to see the details about the billing account associated with the project.
      • If a billing account exists but is not associated with the project, you are prompted to link a billing account with the project.
      • If no billing account exists, or you want to create a new billing account, select Manage Billing Accounts to create a new billing account. For more information, see Create a new self-serve Cloud Billing account.

Enable the API and verify your app

This guide describes the process for enabling the Navigation Connect API and verifying your app in the Google Cloud console, which enables your app to interface securely with Google Maps and Waze. You must complete this process to use the Navigation Connect API.

1. Enable the Navigation Connect API

Use the Google Cloud console or the gcloud command to enable the Navigation Connect API in your Google Cloud project.

To enable the API, perform the following steps:

Console

  1. Open the product page in the Google Cloud console:

    Enable the Navigation Connect API
  2. Click the Enable button.

gcloud

gcloud services enable \
    --project "PROJECT" \
    "navigationconnect.googleapis.com"

Read more about the Google Cloud SDK, Cloud SDK installation, and the following commands:

2. Start app verification process

After enabling the API, you must verify your app to activate the Navigation Connect API. Enabling the API alone does not grant access; you must provide business and app details for review before you can use the Navigation Connect API.

To start the verification process, use either of the following methods:

  • API Marketplace:
    1. In the API Marketplace, find the Navigation Connect API card.
    2. Click the blue Verification required icon to start the verification flow.
  • Keys & Credentials in the Google Cloud console:
    1. In the Google Cloud console, go to the Keys & Credentials page.
    2. Click Navigation Connect Keys and Credentials.
    3. In the banner, click Start verification.

3. Provide app, data collection, and privacy details

The following table describes the details you must provide for app verification:

Field Description
App details

Provide the following details to ensure your app displays correctly in Google Maps and Waze.

Business or app name Enter the name to display to users in Google Maps and Waze.
Application identifier Provide your Android Package Name or iOS Bundle ID.
iOS universal link Provide the iOS universal link that allows users to return to your app (available on Waze only).
App logo (Waze only) (Optional) Upload a PNG or JPG logo (32x32 to 128x128 pixels) to display your app logo in Waze during a navigation session.
Data collection and privacy details

Enter the following details to ensure transparency, driver trust, and data security.

Privacy policy link Provide the URL to your app's privacy policy. This link appears on the consent screen.
Additional data controllers (Optional) Provide the trade name and privacy policy link for any third-party data managers, such as ISV. These details appear on the consent screen.
Data compliance If your app operates in the United States, select the This app will be used for trips occurring in the United States checkbox to ensure compliance with local regulations.

4. Review and submit

Review the summary of your provided information before submitting your app for verification.

  1. Carefully review your app name, platform, IDs, and links.

  2. Select the All the information is accurate checkbox.
  3. Click Submit.

After you submit your app for verification, the review phase begins.

  • Timeline: Verification typically takes 1-3 business days.
  • Notification: You receive an email when the verification status changes. You also receive an email requesting your payment profile ID or Android developer ID. If you need an Android developer ID, see Creating a developer account.
  • Status tracking: Monitor your progress on the Keys and Credentials page in the Google Cloud console.
  • Support: To update your configuration after approval without affecting production, create a support ticket.

Once verified, your app is authorized to use the Navigation Connect API to generate trip tokens that authorize access to a navigation session and let you receive trip details from Google Maps and Waze.

Google Maps Platform products require API calls to include an OAuth token to prevent unauthorized use.

Create an OAuth token

Navigation Connect supports OAuth 2.0 for authentication. Google supports common OAuth 2.0 scenarios, such as scenarios for a web server.

This document describes how to pass an OAuth token to a Navigation Connect call in your development environment. For more information about using OAuth in a production environment, see Authentication methods at Google.

You can call Google Maps APIs directly by making API requests to the server, or you can use client libraries to simplify your code. Google Maps provides client libraries for Go, Java, Node.js, and Python. For more information, see Navigation Connect client libraries.

OAuth overview

You can create and manage access tokens with OAuth in several ways depending on your deployment environment.

You can use OAuth 2.0 for server-to-server interactions between your application and a Google service. For this scenario, you use a service account that's associated with your application rather than an individual user. You can make API requests using the service account without involving users directly. For more information about authentication methods, see Authentication methods at Google.

Alternatively, you can integrate Navigation Connect into an Android or iOS mobile app. For more information about using OAuth and managing access tokens for different deployment environments, see Using OAuth 2.0 to Access Google APIs.

OAuth scopes

To use OAuth with Navigation Connect, you must assign the OAuth token the following scope:

https://www.googleapis.com/auth/cloud-platform

Example: Try REST API calls in your local development environment

If you don't have an environment that generates tokens and you want to try Navigation Connect with an OAuth token, use the procedure in this section.

This example describes how to use the OAuth token provided by Application Default Credentials (ADC) to make the call. For more information about using ADC to call Google APIs with client libraries, see Authenticate using client libraries.

Use the following REST procedure only for development or testing, not for production.

Prerequisites

Before you make a REST request using ADC, use the gcloud CLI to provide credentials to ADC:

  1. Install and initialize the gcloud CLI. For more information, see Install the gcloud CLI.

  2. Authenticate with the gcloud CLI:

    gcloud auth application-default login
  3. Complete the sign-in process to save your credentials in the local credential file used by ADC.

For more information, see Set up ADC for a local development environment.

Make a REST request

In this example, you pass two request headers:

  • Pass the OAuth token in the Authorization header by using the following command to generate the token:

    gcloud auth application-default print-access-token

    The returned token has a scope of https://www.googleapis.com/auth/cloud-platform.

  • Pass the ID or name of your Google Cloud project that has billing enabled in the X-Goog-User-Project header.

To call Navigation Connect using an OAuth token, complete the following steps:

  1. In the following code sample, replace the placeholders with your values:

    • PROJECT_ID: your Google Cloud project ID
    • ANDROID_APP_ID: the Android package name of your app, if applicable
    • IOS_APP_ID: the iOS bundle ID of your app, if applicable
    #!/bin/bash
    trip_id="$(uuidgen)"
    access_token="$(gcloud auth application-default print-access-token)"
    curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \
    -H "Authorization: Bearer ${access_token}" \
    -H "Content-Type: application/json" \
    -d '{
    "androidAppId": "ANDROID_APP_ID",
    "iosAppId": "IOS_APP_ID",
    }'
  2. To copy the curl command, click Copy in the code sample.

  3. Paste the command in a terminal window, and then run it.

The response is a JSON object:

{
  "name": "projects/PROJECT_NUMBER/trips/TRIP_ID",
  "authToken": {
    "token": "BASE64_ENCODED_TRIP_TOKEN",
    "expireTime": "2026-03-06T11:09:47.476942Z"
  },
  "state": "NEW",
  "execution": {
    "traveledDistanceMeters": 0,
    "stopAddedInRoute": false
  },
  "createTime": "2026-03-05T23:09:50.768959Z",
  "updateTime": "2026-03-05T23:09:50.768959Z",
}

This response includes the following values:

  • PROJECT_NUMBER: the unique long-integer identifier for the project
  • TRIP_ID: the UUIDv4 trip ID that your backend generates
  • BASE64_ENCODED_TRIP_TOKEN: the authenticated token that the createTrip method returns for initiating tracked turn-by-turn navigation in Google Maps or Waze

Troubleshooting

If your request returns an error message stating that this API doesn't support end-user credentials, see Troubleshoot your ADC setup.

What's next

Next, configure your service accounts for Navigation Connect API to support secure, server-to-server communication between your backend infrastructure, Google Maps, and Waze.

Set up your service account