Three lines

Uber

Developers

Introduction to the API

The core capabilities of the Uber app are available through the API:

  • Selecting a service (e.g., uberX, UberBlack, etc.)
  • Specifying pickup and dropoff locations
  • Viewing time and price estimates
  • Requesting a ride

Registering Your App

Before you dive into the code, you first need to register an application on our Developer Dashboard. This is where you will find all of your tokens and information about your app.

Note: Organization accounts are not currently supported. Please check out the FAQs for more details.

Creating an App

The first step is to create an app. Open the developer dashboard and you should see an option to create a new app. If you already have some apps, the option will be in the top right corner.

Clicking this will bring you to the app registration page, where you need to fill in some information about your app. Give it a name and a brief description of what your app will do.

Your app is now registered and ready to setup!

Familiarizing Yourself with the Dashboard

The Developer Dashboard contains a wealth of important information about your app. Throughout the setup, we will be referencing information from the dashboard, so take some time to familiarize yourself with it now.

The dashboard consists of several tabs, but for this tutorial you will only need to use the Auth tab.

Auth tab

The Auth tab is where you can find your app’s Client ID, Client Secret and Server Token, configure the URLs your app will use for authentication, and specify your app signature (more on that later). This is also where you specify what scopes your app will request from the user. Note that there are two types of scopes, General and Privileged. We will discuss the difference in the next section.

Choosing the Right Scopes

Scopes grant permission to various API endpoints for your app, and will be shown to the user during OAuth. It’s best to limit the scopes you need to the bare minimum so that users can feel confident with your app and the amount of data it can access.

Additionally, there are two types of scopes: General & Privileged.

General

General scopes allow you access information about the user, but do not allow more advanced actions, such as requesting an Uber on their behalf.

Privileged

Privileged scopes allow advanced actions, such as requesting a ride, but require your app to be approved by our team before it can be used by a wider audience. During development, however, your account (and any developer accounts you list on the dashboard) will be able to authorize these scopes without whitelisting.

More in depth information on our scopes can be found in the scopes guide.

Application IDs & Tokens
App Parameter Description
client_id The client_id identifies your application. Treat it like a username.
client_secret The client_secret is your application’s password. Protect it like a password and use the application dashboard to get a new one should you ever suspect it has been leaked.
server_token The server_token can be used to make calls from your server that do not require a user context. Note: We no longer issue new server tokens. We are planning to remove the support of server tokens in favour of scope based access tokens in the near future.

Congratulations! You have setup an app in the developer dashboard and now have the credentials required to build an application with Ride Requests.


Where to go from here

To get started implementing Ride Requests continue on with your preferred implementation:

Don’t see your language? There are official and community client libraries for popular languages to help you get started building moving experiences with Uber.

Uber

Developers
© 2023 Uber Technologies Inc.