Three lines

Uber

Developers

[API] Get Drivers Live Location

Privileged and Confidential This endpoint design has been confidentially shared with you. It is still under development and is subject to change without notice. Please do not share this document or API endpoint details with anyone who is not authorized to have access. For more information read about scopes.

The “Get Drivers Live Location” API provides real-time location data for at most 200 drivers associated with a fleet organization. This includes driver coordinates, current monitoring supply status (including a granular V2 status that distinguishes dispatchability and trip phase), associated vehicle details, and the timestamp of the last location update, enabling effective real-time monitoring and management of fleet operations.

Use case

The Get Drivers Live Location API enables fleet operators to query the current geographic position of their drivers in real time. This is particularly useful for building live fleet tracking dashboards, dispatch tools, or any system that requires up-to-date driver whereabouts. Unlike webhooks, this API uses a pull-based model where the application queries the server on demand. Driver status and location are reported as last received and are not forced to offline when updates go stale. Use locationUpdatedTime to judge how fresh each record is. The API supports filtering by driver status to narrow results to only relevant drivers such as those currently on a trip or online.

Using Dependent API

To access live location data for drivers, fleet owners should follow a three-step process. Firstly, they must use the Get Organizations API, entering the Fleet Supplier’s unique ID to retrieve all associated organization UUIDs. Secondly, using these organization UUIDs, fleet owners can call the Get Drivers Information API to obtain decrypted driver UUIDs (driverId) for drivers within each organization. Finally, using the organization UUID and driver UUIDs, fleet owners can call the Get Drivers Live Location API to fetch real-time location data for those drivers.

Support for Hierarchical Data

Not Supported. The API returns location data for drivers directly linked to the specified organization. It does not support fetching drivers linked to child organizations.

Supported Supplier Types

Fleets

Scope

Primary - supplier.fleet.drivers.live_location.read

Resource

/v1/vehicle-suppliers/drivers/live-location

HTTP Method

POST

Authorization

Client Credentials

Example Request
curl -i -X POST "https://api.uber.com/v1/vehicle-suppliers/drivers/live-location" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
  "request": {
    "org_id": {
      "uuid": {
        "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    },
    "driver_ids": [
      { "value": "d1e2f3a4-b5c6-7890-abcd-ef1234567890" }
    ]
  }
}'

Example Request With Driver Filter

curl -i -X POST "https://api.uber.com/v1/vehicle-suppliers/drivers/live-location" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
  "request": {
    "org_id": {
      "uuid": {
        "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    },
    "driver_ids": [
      { "value": "d1e2f3a4-b5c6-7890-abcd-ef1234567890" },
      { "value": "f9e8d7c6-b5a4-3210-fedc-ba0987654321" }
    ],
    "filters": {
      "allowed_statuses": [
        "MONITORING_SUPPLY_STATUS_ONLINE",
        "MONITORING_SUPPLY_STATUS_ON_TRIP"
      ]
    }
  }
}'

Example Request With V2 Driver Filter

curl -i -X POST "https://api.uber.com/v1/vehicle-suppliers/drivers/live-location" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
  "request": {
    "org_id": {
      "uuid": {
        "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    },
    "driver_ids": [
      { "value": "d1e2f3a4-b5c6-7890-abcd-ef1234567890" },
      { "value": "f9e8d7c6-b5a4-3210-fedc-ba0987654321" }
    ],
    "filters": {
      "allowed_statuses_v2": [
        "SUPPLY_ACTIVITY_STATE_ONLINE_DISPATCHABLE",
        "SUPPLY_ACTIVITY_STATE_EN_ROUTE_TO_DROPOFF"
      ]
    }
  }
}'
Example Response
{
  "driverLocations": [
    {
      "driverId": { "value": "d1e2f3a4-b5c6-7890-abcd-ef1234567890" },
      "driverStatus": "MONITORING_SUPPLY_STATUS_ONLINE",
      "driverStatusV2": "SUPPLY_ACTIVITY_STATE_ONLINE_DISPATCHABLE",
      "locationUpdatedTime": { "value": "1710000000000" },
      "latitude": 37.7749,
      "longitude": -122.4194,
      "vehicleId": { "value": "v1a2b3c4-d5e6-7890-abcd-ef1234567890" },
      "vehicleMetadata": {
        "make": "Fiat",
        "model": "Ducato",
        "licensePlate": { "number": "ABC123" },
        "year": 2023
      }
    },
    {
      "driverId": { "value": "f9e8d7c6-b5a4-3210-fedc-ba0987654321" },
      "driverStatus": "MONITORING_SUPPLY_STATUS_ON_TRIP",
      "driverStatusV2": "SUPPLY_ACTIVITY_STATE_EN_ROUTE_TO_DROPOFF",
      "locationUpdatedTime": { "value": "1710000030000" },
      "latitude": 40.7128,
      "longitude": -74.0060,
      "vehicleId": { "value": "x9y8z7w6-v5u4-3210-fedc-ba0987654321" },
      "vehicleMetadata": null
    }
  ]
}
Request Body Fields
Name Type Required Description
request.org_id.uuid.value string (UUID) Y Organization UUID of the fleet.
request.driver_ids[].value string (UUID) Y Driver UUIDs to query. Must not be empty. Maximum of 200 driver UUIDs per request.
request.filters.allowed_statuses array of string (enum) N Filter results by driver status. If empty, all statuses are returned. MONITORING_SUPPLY_STATUS_UNKNOWN is not a valid filter value. See MonitoringSupplyStatus for valid values.
request.filters.allowed_statuses_v2 array of string (enum) N Filter results by granular driver status. When populated, allowed_statuses is ignored. If empty, all statuses are returned. SUPPLY_ACTIVITY_STATE_INVALID is not a valid filter value. See SupplyActivityState for valid values.
Response Body Fields
Name Type Nullable Description
driverLocations Array of DriverLocation Y List of driver location records for the organization.

DriverLocation

Name Type Nullable Description
driverId.value string (UUID) N Driver UUID.
driverStatus string (enum) N Current driver status. See MonitoringSupplyStatus. Will be deprecated in favour of driverStatusV2.
driverStatusV2 string (enum) N Current granular driver status. See SupplyActivityState.
locationUpdatedTime.value string N Timestamp of the last location update in Unix epoch milliseconds (UTC). Status and coordinates are reported as last received and are not reset when updates go stale, so use this to judge freshness.
latitude double Y Latitude of the driver’s last known location. Not present if no location data is available for the driver.
longitude double Y Longitude of the driver’s last known location. Not present if no location data is available for the driver.
vehicleId.value string (UUID) Y UUID of the vehicle currently associated with the driver.
vehicleMetadata VehicleMetadata object Y Metadata about the driver’s associated vehicle. null if no vehicle is currently associated.

VehicleMetadata

Name Type Description
make string Vehicle make (e.g., “Fiat”).
model string Vehicle model (e.g., “Ducato”).
licensePlate.number string Vehicle license plate number.
year int32 Vehicle model year.

MonitoringSupplyStatus

Status Definition
MONITORING_SUPPLY_STATUS_ONLINE Driver is online and available.
MONITORING_SUPPLY_STATUS_OFFLINE Driver is offline.
MONITORING_SUPPLY_STATUS_EN_ROUTE Driver is en route to a pickup.
MONITORING_SUPPLY_STATUS_ON_TRIP Driver is currently on a trip.
MONITORING_SUPPLY_STATUS_UNKNOWN Status is not available.

SupplyActivityState

Status Definition
SUPPLY_ACTIVITY_STATE_OFFLINE Driver is offline.
SUPPLY_ACTIVITY_STATE_ONLINE_DISPATCHABLE Driver is online and can receive trips.
SUPPLY_ACTIVITY_STATE_ONLINE_NOT_DISPATCHABLE Driver is online but cannot currently receive trips.
SUPPLY_ACTIVITY_STATE_EN_ROUTE_TO_PICKUP Driver is driving to the pickup location.
SUPPLY_ACTIVITY_STATE_AT_PICKUP Driver has arrived at the pickup location.
SUPPLY_ACTIVITY_STATE_EN_ROUTE_TO_DROPOFF Driver is on a trip, driving to the dropoff location.
SUPPLY_ACTIVITY_STATE_AT_DROPOFF Driver has arrived at the dropoff location.
SUPPLY_ACTIVITY_STATE_INVALID Status is not available.
Rate Limit
  • Rate limit for this endpoint is 200 requests per 10 seconds per Developer Application.
Endpoint Specific Errors
Http Status Code Code Message
400 missing_argument Organization ID is missing from the request.
400 invalid_argument driver_ids must not be empty.
400 invalid_argument driver_ids must not exceed 200 entries.
400 invalid_argument Invalid driver status value in filters.
401 unauthorized User does not have required permission for the organization.
500 internal_server_error Internal server error.
Notes
  • Both org_id and driver_ids must be passed in their decrypted (raw UUID) form in the request payload.
  • You can obtain driver UUIDs (driverId) from the Get Drivers Information API, which returns both raw and encrypted driver UUIDs.
  • driver_ids is required and must not be empty. A maximum of 200 driver UUIDs can be provided per request.
  • If a driver ID does not belong to the specified organization, no location data will be returned for that driver.
  • vehicle_metadata can be null if no vehicle is currently associated with the driver.
  • location_updated_time.value is expressed in Unix epoch milliseconds (UTC).
  • If both allowed_statuses and allowed_statuses_v2 are sent, only allowed_statuses_v2 is applied.
  • Driver status and coordinates reflect the last update received. Check locationUpdatedTime to judge freshness.
FAQ
  • Does the API support sandbox environments?
    • No, the API does not currently support sandbox environments.

Uber

Developers
© 2026 Uber Technologies Inc.