Discover/Uber Eats API
live

Uber Eats APIubereats.com

Search Uber Eats restaurants, browse location-based feeds, and retrieve menu item details including price, customizations, and nutritional info via a simple REST API.

Endpoint health
verified 6d ago
search_restaurants
get_restaurant_feed
get_menu_item_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the Uber Eats API?

This API exposes 3 endpoints covering Uber Eats restaurant discovery and menu data. Use search_restaurants to query restaurants by cuisine keyword and delivery address, get_restaurant_feed to retrieve location-based restaurant carousels and filters, or get_menu_item_details to pull per-item pricing, customization options, and nutritional information for a specific store's menu item.

Try it
Search keyword for restaurants or cuisine types (e.g., 'Pizza', 'Sushi', 'Chinese', 'McDonald's')
Delivery address to search near. Can be a city/state or full street address.
api.parse.bot/scraper/d099b7ec-930c-4761-ac7e-40b4573de246/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d099b7ec-930c-4761-ac7e-40b4573de246/search_restaurants?query=Pizza&address=New+York%2C+NY' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace ubereats-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Uber Eats SDK — search restaurants, browse feeds, get menu item details."""
from parse_apis.uber_eats_api import UberEats, MenuItemNotFound

client = UberEats()

# Search for pizza restaurants near a specific address
results = client.searchresults.search(query="Pizza", address="New York, NY")
print(f"Search returned {len(results.feed_items)} feed items")
for mode in results.dining_modes:
    print(f"  Mode: {mode.mode} - {mode.title} (available: {mode.is_available})")

# Browse the restaurant feed for a location
feed = client.restaurantfeeds.get(address="New York, NY")
print(f"\nFeed: {len(feed.feed_items)} items, fallback={feed.is_fallback_feed}")
for item in feed.feed_items[:3]:
    print(f"  {item.type}: {item.uuid}")

# Get details for a specific menu item (UUIDs from store catalog)
try:
    item = client.menuitems.get(
        item_uuid="36e8c1db-3968-560c-be1d-ad772f614fac",
        store_uuid="9b93975a-bfd9-42e3-ab16-54bc6f5fba41",
        section_uuid="de91b715-9dda-506d-8220-1c4d436ead09",
        subsection_uuid="f6ecca8e-7b42-4f97-9e86-d8f2bab59141",
        address="New York, NY",
    )
    print(f"\nMenu item: {item.title}, price={item.price}, sold_out={item.is_sold_out}")
except MenuItemNotFound as exc:
    print(f"Item not found: {exc}")

print("\nexercised: searchresults.search / restaurantfeeds.get / menuitems.get")
All endpoints · 3 totalmissing one? ·

Search for restaurants by query and address. Returns a list of restaurants matching the search criteria along with filters, dining modes, and pagination metadata. The query matches restaurant names and cuisine types. Results are geo-scoped to the resolved delivery address.

Input
ParamTypeDescription
queryrequiredstringSearch keyword for restaurants or cuisine types (e.g., 'Pizza', 'Sushi', 'Chinese', 'McDonald's')
addressstringDelivery address to search near. Can be a city/state or full street address.
Response
{
  "type": "object",
  "fields": {
    "meta": "object with pagination offset and hasMore flag",
    "favorites": "object containing user favorites state",
    "feedItems": "array of restaurant results with store details, ratings, images, and delivery info",
    "diningModes": "array of available dining modes (DELIVERY, PICKUP)",
    "sortAndFilters": "array of available filter options (offers, delivery fee, delivery time)"
  }
}

About the Uber Eats API

Restaurant Search and Discovery

The search_restaurants endpoint accepts a query string (e.g., 'Pizza', 'Sushi') and an optional address parameter. Results come back as feedItems, each containing store details, ratings, images, and delivery info. The response also includes diningModes (DELIVERY, PICKUP), sortAndFilters for offer and delivery-fee filters, and a meta object with offset and hasMore for paginating through results.

Location-Based Restaurant Feed

The get_restaurant_feed endpoint takes a required address and returns the same feedItems, diningModes, and sortAndFilters structure, but scoped to a browsable feed rather than a keyword search. It additionally returns isFallbackFeed, a boolean that signals whether the results are approximate due to limited coverage at the given address. This is useful for detecting whether a location is well-served by Uber Eats.

Menu Item Details

The get_menu_item_details endpoint requires both item_uuid and store_uuid — UUIDs obtainable from store catalog data. Optionally providing section_uuid and subsection_uuid improves result accuracy when items appear in multiple sections. The response includes price (in cents as an integer), title, imageUrl, isSoldOut, itemDescription, nutritionalInfo, and a customizationsList array that enumerates modifier groups such as size, toppings, and add-ons.

Reliability & maintenanceVerified

The Uber Eats API is a managed, monitored endpoint for ubereats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ubereats.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ubereats.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a restaurant comparison tool using ratings, delivery fees, and estimated delivery times from search_restaurants.
  • Populate a location-aware food discovery app using get_restaurant_feed carousels tied to a user's delivery address.
  • Monitor menu item availability and sold-out status across stores using isSoldOut from get_menu_item_details.
  • Extract customization options and modifier pricing for menu digitization or third-party ordering integrations.
  • Aggregate nutritional information from nutritionalInfo fields across multiple restaurant menu items.
  • Detect Uber Eats coverage at a given address using the isFallbackFeed flag in the restaurant feed response.
  • Filter restaurant results by dining mode (DELIVERY vs. PICKUP) and delivery fee thresholds using sortAndFilters.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Uber Eats have an official developer API?+
Uber Eats offers the Uber Eats Orders API and Uber Direct API, but these are aimed at restaurant operators and delivery integrations rather than general restaurant or menu discovery. Documentation is at https://developer.uber.com/docs/eats/introduction. This Parse API covers the consumer-facing discovery use case — searching restaurants and browsing menus by location.
What does `get_restaurant_feed` return beyond a list of restaurants?+
It returns feedItems which include both individual restaurants and carousel groupings (e.g., featured or curated collections), alongside diningModes (DELIVERY, PICKUP), sortAndFilters for narrowing results, and isFallbackFeed — a boolean indicating whether results are approximate because Uber Eats has limited coverage at the requested address.
How should I obtain `item_uuid` and `store_uuid` for `get_menu_item_details`?+
Both UUIDs appear in store catalog data returned by restaurant-level responses. store_uuid identifies the restaurant, and item_uuid identifies a specific menu entry within that store. Providing the optional section_uuid and subsection_uuid parameters reduces ambiguity when the same item appears in multiple menu sections.
Does the API return full restaurant menus or individual store pages?+
Currently the API covers restaurant discovery via search_restaurants and get_restaurant_feed, plus single-item detail lookup via get_menu_item_details. Full menu catalogs — listing all sections and every item for a given store — are not a dedicated endpoint. You can fork this API on Parse and revise it to add a full store-menu endpoint.
Does the API cover Uber Eats data outside the United States?+
The endpoints accept any address string, so queries can target international locations where Uber Eats operates. However, feed quality and isFallbackFeed behavior will vary by region, and coverage depends on what Uber Eats serves at the given address. Real-time availability for specific international markets is not guaranteed.
Page content last updated . Spec covers 3 endpoints from ubereats.com.
Related APIs in Food DiningSee all →
postmates.com API
Browse and search Postmates restaurants to discover menus, items, and detailed restaurant information all in one place. Get category suggestions, view complete menus, and access specific item details to find exactly what you're looking for.
deliveroo.co.uk API
Search for restaurants and retrieve menus from Deliveroo UK. Look up restaurants by keyword and postcode, or fetch full menu details for any Deliveroo restaurant by URL.
doordash.com API
Search for restaurants on DoorDash and view their menus, hours, and current promotions to find exactly what you're looking for. Get detailed information about any restaurant including pricing, availability, and active discounts across the US.
resy.com, opentable.com API
Search and compare restaurants across Resy and OpenTable by cuisine, location, and price range, then sort results by price or ratings to find the best dining option. Retrieve comprehensive restaurant details including addresses, contact information, descriptions, and customer ratings all in one place.
chownow.com API
Search for nearby restaurants, view their operating hours and delivery zones, and browse complete menus with all items, modifiers, and prices. Access detailed restaurant information and locations to find exactly what you're looking for on the ChowNow marketplace.
food.grab.com API
Search for GrabFood restaurants by location and retrieve complete menu listings with prices and details for any store. Access real-time restaurant information and full dining options using a guest token obtained from the browser.
Thuisbezorgd.nl API
Search for restaurants on Thuisbezorgd.nl by location and cuisine type. Retrieve delivery times, ratings, fees, and menu details for restaurants across the Netherlands, with support for address lookup and cuisine filtering.
pedidosya.com.ar API
Browse restaurants and menus available in Argentine cities through PedidosYa, search for specific restaurants by name or food category, and retrieve complete menu offerings including items, prices, and available options.