[API] Get Drivers Live Location
The “Get Drivers Live Location” API provides real-time location data for a single driver or all drivers associated with a fleet organization. This includes driver coordinates, current monitoring supply status, 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. Drivers with location data older than 2 minutes are automatically marked as offline, ensuring stale data is clearly identified. 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 two-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 Live Location API to fetch real-time location data for drivers linked to each specific organization.
¶ 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
¶ 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": []
}
}'
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 Response
{
"driver_locations": [
{
"driver_id": { "value": "d1e2f3a4-b5c6-7890-abcd-ef1234567890" },
"driver_status": "MONITORING_SUPPLY_STATUS_ONLINE",
"location_updated_time": { "value": 1710000000000 },
"latitude": 37.7749,
"longitude": -122.4194,
"vehicle_id": { "value": "v1a2b3c4-d5e6-7890-abcd-ef1234567890" },
"vehicle_metadata": {
"make": "Fiat",
"model": "Ducato",
"license_plate": { "number": "ABC123" },
"year": 2023
}
},
{
"driver_id": { "value": "f9e8d7c6-b5a4-3210-fedc-ba0987654321" },
"driver_status": "MONITORING_SUPPLY_STATUS_ON_TRIP",
"location_updated_time": { "value": 1710000030000 },
"latitude": 40.7128,
"longitude": -74.0060,
"vehicle_id": { "value": "x9y8z7w6-v5u4-3210-fedc-ba0987654321" },
"vehicle_metadata": 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) | N | Specific driver UUIDs to query. If empty, returns location data for all drivers in the organization. |
request.filters.allowed_statuses |
array of string (enum) | N | Filter results by driver status. If empty, all statuses are returned. See MonitoringSupplyStatus for valid values. |
¶ Response Body Fields
| Name | Type | Nullable | Description |
|---|---|---|---|
driver_locations |
Array of DriverLocation | Y | List of driver location records for the organization. |
| Name | Type | Nullable | Description |
|---|---|---|---|
driver_id.value |
string (UUID) | N | Driver UUID. |
driver_status |
string (enum) | N | Current driver status. See MonitoringSupplyStatus. |
location_updated_time.value |
int64 | N | Timestamp of the last location update in Unix epoch milliseconds (UTC). |
latitude |
double | Y | Latitude of the driver’s current location. Not present if the driver is offline. |
longitude |
double | Y | Longitude of the driver’s current location. Not present if the driver is offline. |
vehicle_id.value |
string (UUID) | Y | UUID of the vehicle currently associated with the driver. |
vehicle_metadata |
VehicleMetadata object | Y | Metadata about the driver’s associated vehicle. null if no vehicle is currently associated. |
| Name | Type | Description |
|---|---|---|
make |
string | Vehicle make (e.g., “Fiat”). |
model |
string | Vehicle model (e.g., “Ducato”). |
license_plate.number |
string | Vehicle license plate number. |
year |
int32 | Vehicle model year. |
| Status | Definition |
|---|---|
MONITORING_SUPPLY_STATUS_ONLINE |
Driver is online and available. |
MONITORING_SUPPLY_STATUS_OFFLINE |
Driver is offline. Drivers with location data older than 2 minutes are automatically set to this status. |
MONITORING_SUPPLY_STATUS_EN_ROUTE |
Driver is en route to a pickup. |
MONITORING_SUPPLY_STATUS_ON_TRIP |
Driver is currently on a trip. |
¶ Rate Limit
- Rate limit for this endpoint is 10,000 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 | Invalid driver status value in filters. |
401 |
UNAUTHENTICATED | Invalid or missing OAuth token. |
403 |
PERMISSION_DENIED | User does not have required permission for the organization. |
500 |
INTERNAL | Internal server error. |
¶ Notes
- Drivers with location data older than 2 minutes are automatically marked as
MONITORING_SUPPLY_STATUS_OFFLINE. - If
driver_idsis empty, the API returns location data for all drivers in the organization. vehicle_metadatacan benullif no vehicle is currently associated with the driver.location_updated_time.valueis expressed in Unix epoch milliseconds (UTC).
¶ FAQ
- Does the API support sandbox environments?
- No, the API does not currently support sandbox environments.