Three lines





I am a developer signing up an account for my company/organization. What account details should I use?

The Uber Developer Platform currently does not support the concept of an organization account. Our general recommendation is to create an email alias to register an account under your organization, rather than an account tied to one person, so that transfer of ownership will be easy in the future.

I am migrating from v1 to v1.2 API endpoint. Can I access rides created using v1 using v1.2 API?

Yes, both apis provide access to the same rides.


I am having trouble with OAuth. What should I do?

Please double check if you send exactly the URL parameters and HTTP headers that are requested in the OAuth guide. Many developers use libraries to do authentication but set incorrect HTTP headers or URL parameters by accident. See the common OAuth problems and solutions.

What is a Redirect URL?

Uber directs users back to your app through the provided redirect URL when the user successfully logs in. The redirect URL will have an authorization code as URL parameter. The redirect URL typically points to a server-side script. This script requests the access token through a POST to the token exchange endpoint.

During OAuth, I can retrieve an authorization code but I can’t get an access_token. Why is that?

Often this is due to a missing redirect_URL URL parameter. If the URL parameter is left out, Uber will try to use the first (default) URL you have defined in your Developer Dashboard. Please double check if this is the case.

I am trying to authenticate a user but I receive an invalid_grant error

This indicates that your API calls during authentication do not provide an acceptable grant_type parameter. Possible values are authorization_code and refresh_token.

Can I use my server token in the front-end (e.g. as a javascript variable) to make API calls through web applications?

We strongly recommend not to this. While it is possible to remove and generate new server tokens in the Developer Dashboard, you should not make your server token publicly available. Web applications can be debugged through developer tools and expose your server token. With this token, others can issue requests on your behalf, for instance to retrieve estimates or Uber products. This may sound insignificant but could impact your application’s rate limiting (2000 requests per hour). If the server token is in the wrong hands, it could effectively prevent your application from communicating with the Uber API periodically.


I want to get available Uber products and estimates for a pickup address, do I need to provide the destination address?

To get the products available at a certain pickup address and their ETA, you only need the latitude and longitude of the pickup location. However, to get price estimates, you need to provide the latitude and longitude of both pickup and dropoff locations.

I want to make a ride request, do I need to provide the destination address as well?

It depends. In some countries the destination is required to create a ride request. In that case, if you don’t provide a destination, you will receive an HTTP 422 error (“destination_required”).

After the ride, I can’t get all the ride details. Why is that?

We guarantee to provide all ride details only during active ride requests.

I am looking at the response for a request to /v1/requests/{request_id} but it doesn’t match what is described in the documentation

We make the complete trip details only available during an ongoing ride. For completed trips, you won’t be able to see the driver, vehicle, pickup, and destination details.

I am getting a 404 error when opening the maps href from /v1/requests/{request_id}/map. Why is that?

Maps are only available after a ride has been accepted by a driver and is in the accepted state. The URL expires after some time.

Why is there no location information in the history endpoint anymore?

In accordance with our Terms of Service, we guarantee providing location information only during active ride requests.

Privileged Access

How do I get access to privileged endpoints/scopes?

Please follow the steps described in the scopes guide.

Do I need to request privileged access to use the sandbox?

No, you can use the sandbox environment without requesting access to privileged scopes. You can obtain the privileged scopes using up to 5 associated developer accounts. You can maintain these developer accounts in the Developer Dashboard

How much time should I account for when requesting privileged access?

You can expect a response within 2 working days. If you can’t provide all the information we need to make a decision, we will reply to you via email. Our request for additional information will extend the approval process.

I requested privileged access but did not receive a response yet. What should I do?

We are working hard to respond to privileged access requests in a timely manner. If you wait for over two days, please ensure you check your Spam folder before you send a direct message to @UberDevelopers. In order to make our approval process smooth and reduce your waiting time, we encourage you to submit all the materials we need to make a decision.

I started a ride with the Uber app but I can’t see it through the API. Why is that?

By default, only details about trips your app requested will be returned. If your app was granted the all_trips scope, however, trip details will be returned for all trips irrespective of which application initiated them.

Rate Limits

I am receiving a 429 status code. Why is that?

When you receive an HTTP error code 429 as a response to your requests, your application has exceeded our rate limiting policy. If you wonder why you exceed the rate limit, please ensure that you don’t have any scripts running in the background that make repetitive HTTP requests to our API. Please read our Rate Limit guide for more details.

I am getting rate limited often. How do I request a rate limit increase?

If you are consistently receiving rate limit errors, please reach out with application details including your client ID via a direct message on Twitter at @UberDevelopers or post to the our Uber Developers Google Group. The rate limit increases only apply to the server token that represents your app (not a specific user authenticated in your app). Where possible you should always use a user access token for requests.


Can I access the API with HTTP or is HTTPS required?

You are required to communicate with our APIs through HTTPS. Non-secure HTTP requests will result in an HTTP 301 error. If you are testing our API locally, please make sure you configure your server accordingly.

I am struggling with HTTP access control (CORS). What should I do?

Please ensure that you are using the HTTPS protocol to make API calls.

I think I found a bug in the Rides API. What should I do?

If you are very confident that you found an existing bug in the Uber API, please communicate with us directly through Direct Messaging on Twitter.


What if a user has a failed payment?

Users who have a previous failed payment will not be able to order a ride until the user resolves the outstanding balance.


What if my question is not covered in this list?

No worries! We provide support on StackOverflow. Please create a question on SO with the tag ‘uber-api’. Don’t forget to add all details we require to debug your issue (e.g. code fragments).

Does the Uber API and Uber app return different time and price estimates?

Our calculation algorithms are time sensitive. If you compare estimates through our API, please be aware that timing is an important. However, you can be sure that we use the exact same calculation algorithms for the API and the Uber app.

How long does the dispatch system wait before returning no_drivers_available?

The dispatch system tries to find a driver for 2 minutes before returning no_drivers_available.

Are there any technical restrictions for a rider to call a driver?

Currently, phone calls from the rider to the driver are restricted to devices that match the phone number on the rider account.


© 2023 Uber Technologies Inc.