Three lines

Uber

Developers

Get Products

POSThttps://api.uber.com/v1/trips/products-info

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.

Use case

Use this endpoint to retrieve products information for a specific location.

Please for this endpoint add x-uber-organizationuuid header and the Organization UUID as the value for retrieve the products based on the program’s organization.

Authorization

OAuth 2.0 Bearer token with the required scope.

Request Parameters
Name Type Description Required?
pickup.point object Specifies the location for the beginning of the trip. yes
pickup.point.latitude float The pickup latitude to the beginning of the trip. yes
pickup.point.longitude float The pickup longitude to the beginning of the trip. yes
pickup.address string The pickup address to the beginning of the trip. no
pickup.place object Specifies details about the pickup location, including its ID. no
pickup.place.place_id string The place ID in provider’s namespace. For pickups at specialized pickups, should be set to the ID of an access point. no

Required Parameters Rule: One of pickup.point, pickup.address or pickup.place is required.

Request
Example request with Point
curl -X POST \
  -H "authorization: Bearer $UBER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
          "pickup": {
            "point": {
              "latitude": 47.623,
              "longitude": -122.337
            }
          }
      }' \
  'https://api.uber.com/v1/trips/products-info'

Example request with Address
curl -X POST \
  -H "authorization: Bearer $UBER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
          "pickup": {
            "address": "410 Terry Ave N, Seattle 98109, WA"
          }
      }' \
  'https://api.uber.com/v1/trips/products-info'
Example request with Place ID
curl -X POST \
  -H "authorization: Bearer $UBER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
          "pickup": {
            "place": {
              "place_id": "ChIJAWKcFGKAhYARIMcF3a4f9vg"
            }
          }
      }' \
  'https://api.uber.com/v1/trips/products-info'

Response Fields

Product Information object
Name Type Description
product_id string Unique string identifier representing a specific product.
display_name string Display name of product
description string Description of product
short_description string An abbreviated description of the product.
product_group string The product group that this product belongs to. One of rideshare, uberx, uberxl, uberblack, suv or taxi.
upfront_fare_enabled bool Specifies whether this product allows upfront fares.
shared_enabled bool Specifies whether this product allows for the pickup and dropoff of other riders during the trip.
capacity int Capacity of product (vehicle). For example, 4 people.
parent_product_type_id string Unique string identifier of the product_group. Can be used in place of product_group to identify the top-level product type.
reserve_info object Object containing reservation eligibility and details of reservation.
cancellation_info object Object specifying the product’s cancellation policy
fare_info object Object specifying fare details for a given product.
FareInfo object
Name Type Description
fare_info.min_fare float Specifies the minimum fare amount charged for a trip.
fare_info.base_fare float Specifies the initial fare charged when a rider begins their trip.
fare_info.cost_per_minute float Specifies the fare charged per minute in a trip.
fare_info.cost_per_mile float Specifies the fare charged per mile in a trip.
fare_info.cost_per_km float Specifies the fare charged per km in a trip.
fare_info.currency_code string Specifies the currency code to specify the current amount based on the location.
Cancellation_Info object
Name Type Description
min_cancellation_fee int Specifies the minimum cancel fee amount to be charged after the grace period ends for rider-initiated cancels. It is also added to subsequent cancels past the grace period limit.
free_cancellation_threshold_sec int Specifies the number of seconds in which the rider is able to cancel without incurring any fee.
cancellation_grace_period_threshold_sec int Cancellation grace period, in seconds, after a driver accepts the trip.
Reserve_Info object
Name Type Description
enabled bool Specifies whether this product supports Uber Reserve.
min_fare double Specifies the minimum fare that to be charged for a reservation trip.
reservation_fee double Specifies the reservation fee to be charged for a reservation trip.
fixed_cancellation_fee double Specifies the fixed cancellation fee to be charged for a reservation trip.
currency_code string The currency code for the currency of the trip price. This is only set on trips in a terminal state.
scheduled_threshold_minutes int Specifies the number of minutes in advance the trip must be booked to be an Uber Reserve trip.
free_cancellation_threshold_minutes int Specifies the number of minutes before the scheduled pickup time an Uber Reserve trip must be canceled for no cancellation fee.
cancellation_policy object{type, fee} Specifies the cancellation fee policy for a ride.
add_ons arra Contains special reservations feature add ons. Possible values: UNKNOWN = 0 AIRPORT_PICKUP_WITH_FLIGHT_TRACKING = 1

cancellation_policy contains the following attributes: type (string): Specifies the type of cancellation fee policy. fee (float): Specifies the cancellation fee associated with the policy. The values for type are:

Type Description
FULL FARE Specifies that the entire rider upfront fare will be charged to the rides as cancellation fee.
MIN FARE Specifies that the minimum fare will be charged to the rides as cancellation fee.
FIXED FEE Specifies that a fixed fee will be charged to the rides as cancellation fee.
DISABLED By default, it will be disabled.
Example Response

Status-Code: 200 OK

{
  "body": {
    "result": {
      "products": [
        {
          "capacity": 4,
          "description": "Luxury rides by the hour with professional drivers",
          "displayName": "Black Hourly",
          "fareInfo": {
            "baseFare": 0,
            "costPerMile": 0,
            "costPerMinute": 0,
            "currencyCode": "USD",
            "minFare": 0
          },
          "parentProductTypeID": "5354dad7-2f82-405b-b99a-9ff8acd70223",
          "productID": "7a19daaa-73d7-43f6-aa61-35d141a18d0b",
          "reserveInfo": {
            "addOns": [],
            "cancellationPolicy": {
              "fee": 120,
              "type": "MIN_FARE"
            },
            "currencyCode": "USD",
            "enabled": false,
            "fixedCancellationFee": 0,
            "freeCancellationThresholdMinutes": 60,
            "minFare": 120,
            "reservationFee": 15,
            "scheduledThresholdMinutes": 120
          },
          "shared": false,
          "shortDescription": "Black Hourly",
          "upfrontFareEnabled": true
        },
        {
          "capacity": 4,
          "description": "Affordable rides, all to yourself",
          "displayName": "UberX",
          "fareInfo": {
            "baseFare": 0,
            "costPerMile": 0,
            "costPerMinute": 0,
            "currencyCode": "USD",
            "minFare": 0
          },
          "parentProductTypeID": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
          "productID": "0ca28ac6-5450-413b-a36c-463a3c23d7b6",
          "reserveInfo": {
            "addOns": ["AIRPORT_PICKUP_WITH_FLIGHT_TRACKING"],
            "cancellationPolicy": {
              "fee": 0,
              "type": "FULL_FARE"
            },
            "currencyCode": "USD",
            "enabled": true,
            "fixedCancellationFee": 0,
            "freeCancellationThresholdMinutes": 60,
            "minFare": 42,
            "reservationFee": 38,
            "scheduledThresholdMinutes": 120
          },
          "shared": false,
          "shortDescription": "UberX",
          "upfrontFareEnabled": true
        },
        {
          "capacity": 4,
          "description": "Luxury rides with professional drivers",
          "displayName": "Black",
          "fareInfo": {
            "baseFare": 0,
            "costPerMile": 0,
            "costPerMinute": 0,
            "currencyCode": "USD",
            "minFare": 0
          },
          "parentProductTypeID": "f1faedb7-5825-484f-b236-24e2cd95ec23",
          "productID": "38d5a823-ad67-4e03-a6e3-629c340cfdf3",
          "reserveInfo": {
            "addOns": ["AIRPORT_PICKUP_WITH_FLIGHT_TRACKING"],
            "cancellationPolicy": {
              "fee": 0,
              "type": "FULL_FARE"
            },
            "currencyCode": "USD",
            "enabled": true,
            "fixedCancellationFee": 0,
            "freeCancellationThresholdMinutes": 60,
            "minFare": 93,
            "reservationFee": 10,
            "scheduledThresholdMinutes": 120
          },
          "shared": false,
          "shortDescription": "Black",
          "upfrontFareEnabled": true
        }
      ]
    }
  }
}
Endpoint Possible Errors
HTTP Status Code Description
400 bad_request This error occurs when the latitude or longitude field is missing within the pickup.point object in the request. Ensure that both fields are included and properly formatted in the point object to avoid this error.
401 unauthorized Authentication failed. The client lacks valid authentication credentials for the requested resource.
403 forbidden The client does not have permission to access the requested resource.
404 not_found The requested resource or entity could not be found on the server or in the database.
500 internal_server_error An unexpected error occurred on the server while processing the request.

Uber

Developers
© 2023 Uber Technologies Inc.