Three lines

Uber

Developers

Get Request Zones

GEThttps://api.uber.com/v1/health/zones

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.

Description

Returns information pertaining to specialized pickup locations for venues like airports, hospitals, concert arenas, and other large access points. Using these locations when available will help ensure that your guest is picked up quickly and in the right place.

Uber maintains these zones for many locations already, but you can create your own zones to help drivers with navigation for locations you commonly use.

The response consists of a zone, which can be either “non-hierarchical” or “hierarchical.”

Non-hierarchical zones contain an array of access points, which are points at which the rider can be picked up - for example, if a concert venue has a series of pickup points located around its perimeter, those would be returned as access_points on the top-level response field master_zone.

On the other hand, hierarchical zones contain an array of sub-zones, which themselves have arrays of access points. For example, an airport could have different pickup zones for its terminals, which themselves could have access points - in this case, the airport would be the master zone, the terminals would be the airport’s sub-zones, and each of the terminals would have an array of access points where the rider can be picked up.

When creating trips at specialized pickups, the following fields should be set on the /v1/health/trips request:

field on /v1/health/trips Value Description
start_place.place_id string The selected access point’s id, i.e. access_point.id
start_place.provider string The constant uber_geofences
start_place.zone_id string The id of the most immediate parent zone, i.e. master_zone.id for non-hierarchical pickups, master_zone.sub_zones[i].id for hierarchical pickups

If these fields are not set and only the latitude and longitude are provided for a specialized pickup zone, the driver may not see the correct title for the location and will not receive any wayfinding notes to help navigating to the location.

Authorization

OAuth 2.0 Bearer token with the health scope.

Request parameters
Name Type Description
latitude float The latitude of the request.
longitude float The longitude of the request.
vehicle_view_id int (optional) The intended vehicle_view_id to be used to create the trip. Some access points have filters which preclude vehicles with certain vehicle_view_ids from picking up riders at the access point. If a vehicle_view_id is provided, the access points returned in the master_zone or its associated sub_zones will be filtered to only returned access points that are valid for that vehicle_view_id; if vehicle_view_id is not provided, all access points will be returned. See /v1/health/trips/estimates for more information regarding vehicle_view_ids.
place_id string (optional) The place ID to be used to fetch nearby access points.
place_provider string (optional) The provider of the above place ID, e.g. uber_places and google_places.
Response parameters
Name Type Description
master_zone object Root object containing zone information.
master_zone.id string The unique ID of the zone.
master_zone.name string The name of the zone, e.g. “John F. Kennedy International Airport”.
master_zone.address_line1 string The first address line of the zone.
master_zone.address_line2 string The second address line of the zone. Might be null.
master_zone.latitude string The latitude of the zone.
master_zone.longitude string The longitude of the zone.
master_zone.categories array An array of string categories that characterize the zone, i.e. “airport”, “hospital”, “theater” etc.
master_zone.polygon string A string representing a list of coordinates that enclose the zone, encoded in Encoded Polyline Algorithm Format.
master_zone.sub_zones array Array of zones that are children of the master_zone. See object definition for master_zone. Will be null for terminal zones.
master_zone.access_points[i].id string The unique ID of the access point.
master_zone.access_points[i].label string The name of the access point, e.g. “Pick-Up A”.
master_zone.access_points[i].latitude float The latitude of the access point.
master_zone.access_points[i].longitude float The longitude of the access point.
master_zone.access_points[i].rider_wayfinding_note string A note that helps the rider find the pick-up point, i.e. “Meet your driver on the corner of 23rd St & 5th Ave”). Not provided for all access points. Sent via SMS for on-demand rides and in addition to scheduled / flexible ride reminder SMSs.
bounding_box object A rectangle consisting of two {latitude, longitude} pairs that encapsulates the zones returned.
bounding_box.north_east_lat float A latitude corresponding to the north-east corner of the bounding box rectangle.
bounding_box.north_east_lng float A longitude corresponding to the north-east corner of the bounding box rectangle.
bounding_box.south_west_lat float A latitude corresponding to the south-west corner of the bounding box rectangle.
bounding_box.south_west_lng float A longitude corresponding to the south-west corner of the bounding box rectangle.
access_points[i].id string The unique ID of the access point.
access_points[i].label string The name of the access point, e.g. “Electioneer Rd”.
access_points[i].latitude float The latitude of the access point.
access_points[i].longitude float The longitude of the access point.
access_points[i].rider_wayfinding_note string A note that helps the rider find the pick-up point, i.e. “Meet at your pickup spot on Electioneer Rd”). Not provided for all access points. Sent via SMS for on-demand rides and in addition to scheduled / flexible ride reminder SMSs.

Try It Replace the token in the below request and use it in a terminal to preview a zone response.

Example request (bounding box and master zone)
curl -X GET \
  -H 'Authorization: Bearer $UBER_TOKEN' \
  'https://sandbox-api.uber.com/v1/health/zones?latitude=40.6413&longitude=-73.7781'
Example request (bounding box)
curl -X GET \
  -H 'Authorization: Bearer $UBER_TOKEN' \
  'https://sandbox-api.uber.com/v1/health/zones?latitude=37.7678862&longitude=-122.4294484'
Example request (bounding box and access points)
curl -X GET \
  -H 'Authorization: Bearer $UBER_TOKEN' \
  'https://sandbox-api.uber.com/v1/health/zones?latitude=37.4253501&longitude=-122.1828359&place_id=ChIJw9EyTNakj4ARLgYZv1Gdp4I&place_provider=google_places'
Example Response: Hierarchical zone (master zone -> sub zone -> access point)
{
  "bounding_box": {
    "north_east_lat": 40.64579533968136,
    "north_east_lng": -73.77217574100271,
    "south_west_lat": 40.63680466031865,
    "south_west_lng": -73.78402425899729
  },
  "master_zone": {
    "id": "bee23dac-5a74-46ca-a9bd-147253f34ee9",
    "name": "John F. Kennedy International Airport",
    "address_line1": "John F. Kennedy International Airport",
    "address_line2": null,
    "categories": ["airport"],
    "polygon": "igdwFvrqaMvj@atAdo@u`AoFoCma@nKq@uB{@}OkKwdAsVpc@eHo@kXq^lMsm@tg@crAvS_g@n]cm@|Rm[fXgBh\\lE|f@|dBdKt[x`@dKx`@fKu|A`aEieAbb@CBcRtm@eWbb@edApC",
    "latitude": 40.640596819011776,
    "longitude": -73.78226145095424,
    "access_points": null,
    "sub_zones": [
      {
        "id": "5c944720-b172-42d3-b74c-5b0b8f8e682f",
        "name": "Terminal 4, Arrivals",
        "address_line1": "Terminal 4, Arrivals",
        "address_line2": null,
        "categories": ["airport"],
        "polygon": "ahawFlfjaMqMsZrOcOdCoFhEbFwCvHxE~IdKmIv\\pAqw@f^",
        "latitude": 40.640596819011776,
        "longitude": -73.78172083623768,
        "access_points": [
          {
            "id": "7dd8e48e-2635-489f-8fb3-306d9f47b521",
            "label": "Pick-Up A",
            "latitude": 40.6442406,
            "longitude": -73.7835249,
            "rider_wayfinding_note": "Meet your driver curbside on the Arrivals (lower) level, following signs for Ground Transportation and Passenger Pick Up."
          },
          {
            "id": "3ba1a3d7-8792-4c99-8329-5c1f2aee36f5",
            "label": "Pick-Up B",
            "latitude": 40.6443813,
            "longitude": -73.7832683,
            "rider_wayfinding_note": "Meet your driver curbside on the Arrivals (lower) level, following signs for Ground Transportation and Passenger Pick Up."
          }
        ]
      },
      {
        "id": "b39af35a-557b-4726-82b8-122121cdf167",
        "name": "Terminal 5, Arrivals",
        "address_line1": "Terminal 5, Arrivals",
        "address_line2": null,
        "categories": ["airport"],
        "polygon": "w|awFhfiaMwDaLzGkRrCcSjAk@h@lF[vHrFzG}BjGuF\\OdEaEjK",
        "latitude": 40.64638469610314,
        "longitude": -73.77633212812239,
        "access_points": [
          {
            "id": "d642dba0-8391-4ebc-8630-6acf8f976460",
            "latitude": 40.646658,
            "longitude": -73.776801,
            "label": "Upper Level, Door 8 (use after 1pm)",
            "rider_wayfinding_note": "Use Departures Level pickups after 1pm; use Arrivals Levels pickups before 1pm"
          },
          {
            "id": "eff28b68-988a-4f41-8f83-d212b95c0fd6",
            "latitude": 40.64655604,
            "longitude": -73.77669561,
            "label": "Upper Level, Door 7 (use after 1pm)",
            "rider_wayfinding_note": "Use Departures Level pickups after 1pm; use Arrivals Levels pickups before 1pm"
          }
        ]
      }
    ]
  }
}
Example Response: Non-hierarchical zone (master zone -> access point)
{
  "bounding_box": {
    "north_east_lat": 40.764122329658235,
    "north_east_lng": -73.97942218748364,
    "south_west_lat": 40.75513165029554,
    "south_west_lng": -73.9912917716372
  },
  "master_zone": {
    "id": "7d9968b3-be48-42c2-9eef-1018a24423b3",
    "name": "Times Square",
    "address_line1": "Times Square",
    "address_line2": null,
    "categories": ["train", "marketplace_optimization"],
    "polygon": "kiwwF~oqbMmQuFdCiIjOvKcAfD",
    "latitude": 40.758230644713244,
    "longitude": -73.98539351865526,
    "access_points": [
      {
        "id": "b000a6e1-99dd-4d7a-ad04-10430342aef2",
        "label": "W 47th St. & Broadway",
        "latitude": 40.75962698997689,
        "longitude": -73.98535697956041,
        "rider_wayfinding_note": "Meet your driver on the NW corner of 47th St. & Broadway in front of the Starbucks"
      },
      {
        "id": "ea9ff148-addd-4dfb-9846-55279f61d99c",
        "label": "W 46th St. & Broadway",
        "latitude": 40.75887508059204,
        "longitude": -73.98551454664293,
        "rider_wayfinding_note": "Meet your driver on the NW corner of 46th St. & Broadway in front of American Eagle"
      }
    ],
    "sub_zones": null
  }
}
Example empty zone response

(access points only)

{
  "bounding_box": {
    "north_east_lat": 37.80663433968135,
    "north_east_lng": -122.41305064816747,
    "south_west_lat": 37.79764366031865,
    "south_west_lng": -122.42442935183253
  },
  "master_zone": null,
  "access_points": [
    {
      "id": "90f5c43c-4c60-4409-b4bf-e4ebe0ffc4cf",
      "latitude": 37.8020597,
      "longitude": -122.4180167,
      "label": "Leavenworth St",
      "rider_wayfinding_note": "Meet at your pickup spot on Leavenworth St"
    },
    {
      "id": "aaaadf5a-6484-4e2b-a44a-8adf2bbfea2e",
      "latitude": 37.8018747,
      "longitude": -122.41956,
      "label": "Hyde St",
      "rider_wayfinding_note": "Meet at your pickup spot on Hyde St"
    }
  ]
}

Uber

Developers
© 2023 Uber Technologies Inc.