Uber Eats Integration: Beta Now Available!

Uber Eats Order Tracker


hacs_badge

Custom Home Assistant integration to track live Uber Eats orders, including entities for stage, status, driver name, ETA, restaurant name, lat/long, cross street, and history.

Features

  • Monitors active orders with real-time updates every 15 seconds.
  • Entities for order details, driver location (lat/long), cross street (using free OSM), and history.
  • Supports multiple accounts with unique names.
  • Time zone selection for accurate API calls.
  • Defaults to home address for location when no order.

Installation

HACS (Recommended)

  1. Open HACS in Home Assistant.
  2. Go to “Integrations” > 3 dots > “Custom repositories”.
  3. Add repo: https://github.com/zodyking/uber-eats-order-tracker
  4. Category: Integration.
  5. Click “Add” > Search for “Uber Eats Order Tracker” > Install.

Or use this button:

Add to my HACS

  1. Restart Home Assistant.
  2. Configure via Settings > Devices & Services > Add Integration > Uber Eats.

Manual

  1. Download the repo ZIP.
  2. Extract custom_components/uber_eats/ to /config/custom_components/uber_eats/ in HA.
  3. Restart HA.
  4. Add via UI.

Getting UUID & SID

  1. Log into www.ubereats.com in a web browser (e.g., Chrome).
  2. Open Developer Tools (F12 or right-click > Inspect).
  3. Go to the “Network” tab > “Storage” > “Cookies” > “https://www.ubereats.com”.
  4. Find the “sid” cookie and copy its value (long string, e.g., starting with “QA.CAESEF…”).
  5. Find the “_userUuid” and copy its value

Configuration

  • SID and UUID: From Uber Eats browser cookies (see above).
  • Account Name: Unique name (e.g., “Personal”).
  • Time Zone: Select from dropdown (used for API).

Entities

  • binary_sensor._uber_eats_active_order
  • sensor._uber_eats_order_stage
  • sensor._uber_eats_order_status
  • sensor._uber_eats_driver_name
  • sensor._uber_eats_driver_eta (attribute: minutes_remaining)
  • sensor._uber_eats_order_history (attribute: history)
  • sensor._uber_eats_restaurant_name
  • sensor._uber_eats_order_id
  • sensor._uber_eats_order_status_description
  • sensor._uber_eats_latest_arrival
  • sensor._uber_eats_driver_latitude
  • sensor._uber_eats_driver_longitude
  • sensor._uber_eats_driver_location (cross street)

Testing

  1. Place an Uber Eats order.
  2. Entities update automatically.

Notes

  • Unofficial integration; may violate Uber ToS.
  • Driver location (lat/long/cross street) requires active delivery.
  • For issues, open a GitHub issue.

Developed by zodyking.


Automations with Blueprint

Enhance your Uber Eats experience with pre-built automations! This integration includes a blueprint for announcing order updates via Text-to-Speech (TTS). Get started quickly with the button below:

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

How to Use the Blueprint

  1. Import the Blueprint: Click the badge above to open the import dialog in your Home Assistant instance.
  2. Configure:
    • User Name: Enter your name for personalized announcements.
    • Sensors: Select the corresponding Uber Eats sensor entities (e.g., order stage, driver name) from your integration.
    • TTS Player: Choose your media player (e.g., a smart speaker).
    • TTS Engine: Select your TTS service (e.g., tts.google_translate_en_com).
  3. Activate: Save and enable the automation. Test by placing an order to hear updates.
  4. Customize: Adjust entity IDs or messages as needed via the blueprint configuration.

This blueprint ensures you’re notified of every step, from order placement to delivery, with a seamless voice experience!

3 Likes

If anyone is having issues setting up the integration please follow these refined steps, its super easy. The integration has been working since day one. If you dont see any update to the order sensors 15 seconds after placing your order then you need to update the integration & or double check that your UUID & SID are up to date as uber refreshes those every few months.

Getting UUID & SID

  1. Log into www.ubereats.com in a web browser (e.g., Chrome).
  2. Open Developer Tools (F12 or right-click > Inspect).
  3. Go to the “Network” tab > “Storage” > “Cookies” > “https://www.ubereats.com”.
  4. Find the “sid” cookie and copy its value (long string, e.g., starting with “QA.CAESEF…”).
  5. Find the “_userUuid” and copy its value

Did you know you can order lumber, sheetrock, almost anything from home Depot or Lowes using the uber eats app. Uber-Eats-Order-Tracker integration can give you status updates on those orders too!

Is there a way to get the driver to display on the map dashboard?

ive been working on this for the v1 release.

1 Like

Hi I would love to integrate this into my setup but I get an “unknown error” - the format of the sid and Uuid seems to be correct

Where can I have a look on what the error might be?

upload system logs also post it on the get hub repo as an issue not on here

1 Like

I dont have a _userUuid - but sid :octopus:

Okay sounds odd, i need more information:

are you using chrome via desktop?
can you provide screenshot (be sure to edit screenshot covering sensitive information)

Edit:
I just ran through the setup instructions and there still accurate, i see the both fields needed to setup, uber eats has not changed their api structure so i advise you upload screenshots of what your seeing

Hold on, I think I need new glasses. I could swear there was no UUID there yesterday. However, I am now getting the error “Unknown Error occurred.” Attached are pictures of the situation.


Okay im fixing it now

integration fixed

1 Like

Thanks worked :slight_smile:

1 Like