Three lines

Uber

Developers

[API] Search Drivers

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 Search Drivers API is specifically designed for authorized Rental suppliers, enabling them to locate drivers using distinct criteria such as phone numbers or email addresses.

Use case

The Search Drivers API allows suppliers to send a request with the desired search criteria, retrieving detailed driver information including name, contact details, email, id, and country code. Importantly, if drivers do not provide their consent, they will not appear in the API response, nor can they be searched by ‌rental suppliers.

Support for Hierarchical Data

The Search Drivers API automatically operates within the hierarchical structure of the organization linked to the developer’s account at the time of setup.

Supported supplier types

Rentals

Scope

vehicle_suppliers.drivers.read

Resource

/v1/vehicle-suppliers/drivers/search

HTTP Method

POST

Authorization

Client Credentials

Example Request

Search By Phone Number

curl -X POST "https://api.uber.com/v1/vehicle-suppliers/drivers/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <TOKEN>"
  -d '{
    "filters": {
      "phoneNumber": {
        "countryCode": "+1",
        "nationalPhoneNumber": "2223334444"
      }
    }
}'

Search By Email

curl -X POST "https://api.uber.com/v1/vehicle-suppliers/drivers/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <TOKEN>" -d '{
    "filters": {
      "email": "<email address>"
    }
}'

Request Body Parameters
Name Type Description
criteria Object Search criteria with (only one criteria can be specified).
criteria.email String Driver’s email.
criteria.phone_number Object Driver’s phone number (country code + national phone number).
criteria.phone_number.country_code String Driver’s phone number, country code.
criteria.phone_number.national_phone_number String Driver’s national phone number.
Example Response
Status-code: 200 OK
{
  "drivers": [
    {
      "driverInfo": {
        "id": "<driver_uuid",
        "name": {
          "firstName": "<first_name>",
          "lastName": "<last_name>"
        },
        "pictureUrl": "<picture_url>",
        "email": "<email>",
        "phone": {
          "countryCode": "+1",
          "nationalPhoneNumber": "2223334444"
        }
      },
      "complianceInfo": {
        "status": "ACTIVE"
      }
    },
    {
      "additionalInfo": "This driver hasn't consented to share their information. They'll need to visit t.uber.com/rentalconsent and accept the Vehicle Solutions data sharing terms."
    }
  ]
}
Response Body parameters
Name Type Description
drivers Object array List of Driver objects

Driver object

Name Type Description
driverInfo Object Driver information
id string Driver Id
name object Driver name (first name and last name)
name.first_name string Driver first name
name.last_name string Driver’s last name
picture_url string Driver’s profile picture
email string Driver’s email
phone_number object Driver phone number (country code + national phone number)
phone_number.country_code string Driver phone number country code
phone_number.national_phone_number string Driver national phone number
additional_info string Additional info helps clients understand the driver. For example, if the driver does not accept consents, other fields will be empty and show additional info.
compliance_info object Driver compliance info
compliance_info.status string Compliance status of the driver:
ACTIVE: driver is active
INACTIVE: driver is not active
Rate limit

The rate limit for this endpoint is 100000 requests per hour (RPH).

Endpoint Specific Errors
Http Status Code Code Message
400 bad_request Organization from the request does not belong to any rental organization.
400 bad_request Please search for drivers using one of the search fields, and leave other search fields as empty.
401 unauthorized The requesting user is not authorized to perform the action
401 unauthorized The driver hasn’t consented to share their information. They need to visit t.uber.com/rentalconsent and accept the Vehicle Solutions data sharing terms.
404 user_not_found This driver does not exist. Please instruct the user to sign up to drive with Uber.
404 org_not_found The organization does not exist.
500 internal_server_error Internal server error occurred
Notes
  • To onboard as an authorized Rental supplier and gain access to the Search Drivers API, suppliers must undergo a specific process. Initially, they need to submit an application to the Ops team detailing their business operations and vehicle types. Following this, their application undergoes verification and compliance checks, including legal approvals.

Uber

Developers
© 2023 Uber Technologies Inc.