Uber.com APIUber.com ↗
Search Uber locations, get route distance and ETA estimates, resolve place coordinates, and list available ride products via a structured JSON API.
curl -X POST 'https://api.parse.bot/scraper/008cb765-ed13-4ef6-803d-0a57049962d8/search_locations' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "Times Square"
}'Search for locations by name or address within a geographic context. Returns a list of matching places with IDs that can be used with get_place_details to retrieve coordinates.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Address or place name to search for (e.g. 'Times Square', 'JFK Airport', '123 Main St'). |
| latitude | string | Latitude of the search context area. Results are biased toward this location. |
| longitude | string | Longitude of the search context area. Results are biased toward this location. |
{
"type": "object",
"fields": {
"query": "string - the search query that was used",
"latitude": "number - latitude of search context",
"locations": "array of location objects with id, address_line1, address_line2, categories, provider, type, and tag",
"longitude": "number - longitude of search context"
},
"sample": {
"data": {
"query": "Times Square",
"latitude": 40.7128,
"locations": [
{
"id": "32b3a157-8e07-3215-ab38-7c080b9219a5",
"tag": null,
"type": "LOCATION",
"provider": "uber_places",
"categories": [
"LANDMARK",
"place"
],
"address_line1": "Times Square",
"address_line2": "Times Square, New York City, NY"
}
],
"longitude": -74.006
},
"status": "success"
}
}About the Uber.com API
This API exposes 4 endpoints covering Uber's location search, place resolution, route estimation, and ride product availability. Use search_locations to find pickup or dropoff candidates by name or address, then resolve precise coordinates with get_place_details, and finally call get_ride_estimate to receive distance in both miles and meters alongside travel time in minutes and seconds.
Location Search and Place Resolution
The search_locations endpoint accepts a free-text query (address, landmark, or place name) and optional latitude/longitude context coordinates that bias results toward a geographic area. Each result in the locations array includes an id, address_line1, address_line2, categories, provider, type, and tag. That id feeds directly into get_place_details, which returns the full coordinate pair (latitude, longitude), a full_address string, and structured address_components broken into CITY, COUNTRY_CODE, FIRST_LEVEL_SUBDIVISION_CODE, POSTAL_CODE, and STREET_NAME.
Route Estimation
get_ride_estimate takes four required coordinate parameters — pickup_latitude, pickup_longitude, dropoff_latitude, and dropoff_longitude — and returns eta_minutes, eta_seconds, distance_miles, and distance_meters. Both the pickup and dropoff objects echo back the coordinates used, making it straightforward to confirm the routing context. Note that this endpoint does not return fare pricing; it is limited to distance and time estimates.
Ride Product Availability
get_ride_products accepts a latitude and longitude and returns a products array where each entry includes name, display_name, description, capacity, image_url, product_display_type, and product_tier. A defaulted boolean field signals whether the results fall back to a generic market rather than matching a specific Uber service area. This is useful for pre-validating whether a given location has Uber coverage and which vehicle classes are offered there.
- Autocomplete pickup and dropoff address fields in a ride-booking UI using
search_locations - Display route distance and ETA between two points for trip planning dashboards
- Show available vehicle types and passenger capacities at a given location using
get_ride_products - Resolve a fuzzy place name to precise lat/lng coordinates before calling routing services
- Compare travel times between multiple dropoff options from a fixed pickup coordinate
- Validate whether a specific geographic coordinate falls within an active Uber service area via the
defaultedflag - Build address confirmation flows by checking
address_componentsfromget_place_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Uber have an official developer API?+
What does `get_ride_estimate` actually return — does it include pricing?+
get_ride_estimate returns eta_minutes, eta_seconds, distance_miles, and distance_meters only. Fare pricing, surge multipliers, and upfront cost estimates are not included in the response. You can fork this API on Parse and revise it to add a fare-estimation endpoint.Does `get_ride_products` return real-time availability or driver counts?+
get_ride_products returns static product metadata — name, display_name, description, capacity, image_url, product_display_type, and product_tier — for a given coordinate. Real-time driver availability, wait times per product, or surge status are not part of the response. You can fork this API on Parse and revise it to add those fields if you need dynamic availability data.Can I search for locations without providing a latitude and longitude context?+
latitude and longitude inputs to search_locations are optional. When omitted, results are not geographically biased, which may produce less relevant matches for ambiguous queries like 'Main Street'. Passing coordinates narrows results toward the intended area.