Getting Started

This guide will walk you through the step-by-step process of creating an Uber Direct Account. Upon creating your account, you will gain access to developer credentials to interact with Uber Direct APIs. If you encounter any issues while going through these steps, please reach out to your Uber Point of Contact or Account Manager.

Integration Process

  1. Refer to the Get Started - Set Up a New Uber Direct Account guidelines to setup an Uber Direct account, which will provide access to our sandbox environment.
  2. Your team can use the Uber Direct RESTful endpoints and API documentation to develop your integration on a timeline that aligns with your roadmap. We are available to provide support as needed throughout the development process.
  3. Once your development is complete and ready for production, we will require actual stores to participate in a pilot run of the integration.
  4. The Uber team will collaborate with you to monitor the data and ensure the successful integration of your solution.
  5. Upon successful completion of the pilot run, you can deploy the integration to all stores. At this point, our 24-hour support team will also be able to help with any technical questions.

Create Account

(Note: The Create Account process is currently available only in select regions. Please contact your Uber Point of Contact or Account Manager to verify its availability in your region.) Start by visiting: https://direct.uber.com
  1. Please log in using your existing Uber account, or create a new one if you don’t have an account yet.
  2. Please accept Uber’s terms and review privacy notice.Note: If you receive the prompt “We’re unable to set up your account.” it indicates that the email you are using is already associated with an existing Uber Direct organization.
  3. After successfully logging in to an Uber account you will be taken to the Uber Direct Account Creation flow. Please review and accept the Uber Direct Terms and Conditions and API Terms of Use once you fill all the fields.
  4. Upon acceptance, you will be directed to the Uber Direct dashboard, where you can provide your payment details. If you skip this step, you can add it later; please refer to the Add Billing Information section for more details.
  5. After successfully completing all the steps and inputting a valid credit card, you can begin placing delivery requests.

Add Billing Information

If you bypass step 4 during account creation, you can add billing information by following the steps in this section. To add payment information, click “Billing” on the left sidebar. Save the entered information when finished. Returning to the Billing page, you’ll notice a new payment method listed in the Payment Method section. Note: You have to provide billing information before you grant the access for production credentials.

API Credentials

After you have created your account, you can access your API credentials by navigating to the Developer tab in the Management section of your dashboard. You will need to obtain your “Customer ID”, “Client ID”, and “Client secret” to use the API. For the difference between “Client ID”, “Customer ID” and “Client Secret” please refer to our FAQ. Please note the top blue area, which indicates that you are in Test mode. These credentials are intended for your test sandbox environment, and they won’t generate real-world deliveries when you use the APIs. Once you provide the billing information and your account is approved for Production deliveries, you can click the button to switch to the production environment, as shown in the image below.

High-level Integration Flow

This guide is intended as a reference for the high-level sample flow. Please feel free to create bespoke workflows that align with the available Uber Direct APIs.

Get an OAuth Token Using curl

By now, you should have completed the Direct Account creation process through the Direct Dashboard and gained access to your developer application details, including your Client ID, Client Secret, and Customer ID. Here is an example of how to obtain an OAuth access token using the curl command:
curl --request POST 'https://auth.uber.com/oauth/v2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode &#x27;client_id=<your_client_id>&#x27; \
--data-urlencode &#x27;client_secret=<your_client_secret>&#x27; \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=eats.deliveries'

Replace and with your actual client ID and client secret. This command sends a POST request to the Uber OAuth server, requesting an access token using the client credentials grant type. The response will contain an access token that you can use to authenticate your API requests:
{
  "access_token": "<TOKEN>",
  "expires_in": 2592000,
  "token_type": "Bearer",
  "scope": "eats.deliveries"
}

Track Delivery Using tracking_url

Once you send the Create Delivery request, you can easily track the progress of the delivery through each stage using the provided tracking_url in the response. Here’s an example of what you’ll see when you open the tracking URL: