**European Economic Area (EEA) developers**

> [!NOTE]
> If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](https://developers.google.com/maps/comms/eea/faq.md.txt).

<br />

The Navigation Connect API is a service that connects your driver's use of Google Maps and Waze navigation to your enterprise systems. It uses trip authorization tokens along with a deep link in your app, so that the driver can tap a link or button to begin navigation in the consumer app of their choice. While the driver is navigating on the trip, you can receive ongoing real-time location data such as live locations, highly accurate ETAs, and trip lifecycle statuses.

The Navigation Connect API offers a lightweight alternative to the
Navigation SDK by using the standalone Google Maps and Waze apps for routing
rather than requiring you to build and embed a custom navigation interface into
your app. It securely links the driver's session back to your backend. When a
driver starts a trip, they experience their familiar navigation interface with
two additions: a trip data sharing consent prompt (required every 12 months) and
a branded back button to return to your app.

> [!NOTE]
> **Note:** Navigation Connect works exclusively with the Google Maps for Android and Waze mobile apps. It doesn't support web browsers, Google Maps for iOS, CarPlay, or Android Auto. Additionally, Navigation Connect doesn't support Incognito mode in Google Maps.

## Why use the Navigation Connect API

With the Navigation Connect API, you can integrate real-time trip location and
ETA updates from Google Maps or Waze directly into your backend processes. This
helps you power critical business decisions and share accurate updates with your
customers, while drivers use their preferred navigation app, Google Maps or Waze.

Example use cases include the following:

- **Increase ridesharing transparency:** Provide ridesharing customers and passengers with accurate, real-time updates about their driver's whereabouts and estimated arrival times.
- **Enhance delivery tracking:** Inform customers of accurate shipment or food delivery times based on live traffic and routing data.
- **Improve fleet management and dispatch:** Make informed dispatch decisions for fleets or mobile workforces providing on-demand services (such as breakdown assistance, maintenance, or transportation) by tracking live driver locations.

> [!NOTE]
> **NOTE**
>
>
> Depending on your application's requirements, consider these alternative Google Maps Platform products for your routing and navigation needs:
>
> - **For a fully custom, in-app experience:** To keep drivers strictly within your application's interface, use the [Navigation SDK for Android](https://developers.google.com/maps/documentation/navigation/android-sdk) or [Navigation SDK for iOS](https://developers.google.com/maps/documentation/navigation/ios-sdk). The Navigation SDK lets you embed the navigation experience directly into your UI and provides extensive customization options.
> - **For simple navigation without data sharing:** If you only need to provide turn-by-turn directions to a driver but don't need to receive real-time location, ETA, or trip status updates back to your server, use standard [Google Maps URLs](https://developers.google.com/maps/documentation/urls/get-started.md.txt) or [Waze Deep Links](https://developers.google.com/waze/deeplinks.md.txt). These URLs or deep links require no backend integration, token generation, or user consent prompts for data sharing.

## What you can do with the Navigation Connect API

The Navigation Connect API lets you receive real-time location and ETA
updates from Google Maps or Waze directly in your backend.

- **Track trips non-intrusively:** Track trips without changing the driver's choice of using Google Maps or Waze or modifying their user experience.
- **Access real-time location data:** Obtain real-time driver locations, remaining distances, and elapsed time continuously throughout a trip.
- **Monitor trip lifecycles:** Configure the update frequency for trip data to track the exact status of a trip and know immediately when a driver is en route, has arrived, or suspends a trip.
- **Consume and share ETAs:** Retrieve highly accurate ETA updates powered by Google's live routing algorithms.
- **Track remaining route and traffic:** Receive the remaining route polyline and real-time traffic conditions from the driver's current location to their final destination, exactly as displayed in Google Maps or Waze. This feature triggers the [Navigation Connect Enterprise SKU](https://developers.google.com/maps/documentation/navigation/connect/usage-and-billing.md.txt#pricing-for-product).
  - **Dynamic Trimming:** As the vehicle moves, Navigation Connect automatically trims the driver's active route polyline (the complete route navigated in the app) to ensure you only receive the **remaining
    route** (the segment from the driver's current position to the destination).
  - **Update Frequency:** Route and traffic conditions update automatically upon route recalculation, proactive client-side rerouting, or traffic condition changes.
- **Track route deviations (Waze only):** Detect when a driver goes off-route, pinpoint the exact location and time of divergence, and identify whether the deviation was driver-initiated (for example, a wrong turn) or system-initiated (for example, rerouting around traffic). This feature triggers the [Navigation Connect Enterprise SKU](https://developers.google.com/maps/documentation/navigation/connect/usage-and-billing.md.txt#pricing-for-product).
- **Ingest data flexibly:** Consume real-time trip data using direct REST API calls, or stream updates efficiently using Google Cloud Pub/Sub subscriptions.

## How the Navigation Connect API works

The Navigation Connect API accepts a `CreateTrip` request containing your
mobile application identifiers and session configuration. The service generates
a unique trip instance and returns a trip token. This token is then appended to
a Google Maps or Waze deep link. Once the driver launches navigation and grants consent,
the service processes real-time navigation data and returns telemetry updates,
including location, ETA, and distance remaining.

### Resources

The following table summarizes the resources available through the
Navigation Connect API along with the data it returns. For specific details,
see the [Navigation Connect API reference](https://developers.google.com/maps/documentation/navigation/connect/reference/rest).

<br />

| Data resources | Data returned |
|---|---|
| **Authentication and mobile app identifiers in JSON format.** See [Create a trip](https://developers.google.com/maps/documentation/navigation/connect/create-trip.md.txt). | A unique trip token used to initialize the connection in Google Maps or Waze. See [Launch Google Maps or Waze](https://developers.google.com/maps/documentation/navigation/connect/launch-navigation-app.md.txt). |
| **The unique trip ID and a pull or push method in JSON format.** See [Retrieve trip data](https://developers.google.com/maps/documentation/navigation/connect/retrieve-trip-data.md.txt). | Real-time trip telemetry including: - Trip status and metadata - Current location (lat/lng) - Estimated time of arrival (ETA) - Remaining distance and time See [Handle trip data](https://developers.google.com/maps/documentation/navigation/connect/handle-trip-data.md.txt). |

<br />

## How to use the Navigation Connect API

|---|---|---|
| 1 | **Get set up** | Start with [Set up your Google Cloud project](https://developers.google.com/maps/documentation/navigation/connect/setup-overview-requirements.md.txt) and complete the instructions that follow. |
| 2 | **Create a trip** | Send a Navigation Connect API call to [create a trip](https://developers.google.com/maps/documentation/navigation/connect/create-trip.md.txt) with a unique ID, and save the token. |
| 3 | **Launch Google Maps or Waze** | Pass the trip token and [launch Google Maps or Waze](https://developers.google.com/maps/documentation/navigation/connect/launch-navigation-app.md.txt) to enable trip data sharing. |
| 4 | **Retrieve trip data** | Send a Navigation Connect API call to [retrieve trip data](https://developers.google.com/maps/documentation/navigation/connect/retrieve-trip-data.md.txt). Optionally subscribe to updates using Google Cloud Pub/Sub. |
| 5 | **Handle the trip data** | Understand how to [handle the trip status and other trip data](https://developers.google.com/maps/documentation/navigation/connect/handle-trip-data.md.txt). |