Uber Eats restaurants and stores near an address
Restaurants and stores that deliver to an address or point, as the site lists them, or the results of a dish/cuisine search (q). Each store: id, name, link, rating, rating score and count, delivery fee, ETA range, accepting-orders flag, offers, badges, coordinates, image and, for searches, matching dishes. Filters: offers, delivery-fee tier, under 30 minutes, top rated, minimum rating, price range, SNAP and benefits-eligible, open now, pickup instead of delivery; sorts: recommended, rating, delivery time. The response also lists the area's available filters with their local labels. Pass next_offset back as offset; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
address | string | Delivery address in any form (e.g. 350 5th Ave, New York); resolved by the site. Or pass lat and lon. |
lat | number | Latitude of the delivery point (with lon). Example: 40.758 |
lon | number | Longitude of the delivery point (with lat). Example: -73.9855 |
q | string | Search for a dish, cuisine or store name (e.g. sushi, burger, Starbucks); omit for the full feed. Example: pizza |
sort | string | recommended (default), rating or delivery_time. |
min_rating | string | Minimum rating: 3, 3.5, 4, 4.5 or 5. |
max_delivery_fee | integer | Delivery-fee tier 1-4, as the site's filter (US: up to $2, $3, $4, any; UK: up to £1, £2, £3, any). |
price | string | Price range: 1-4 or $-$$$$, comma-separated (e.g. 1,2). |
offers | boolean | Only stores with offers (true/false). |
under_30_min | boolean | Only stores delivering in under 30 minutes. |
top_rated | boolean | Only the site's top-rated stores. |
open_now | boolean | Only stores taking orders now. |
snap | boolean | US only: stores accepting SNAP (EBT). |
benefits | boolean | US only: stores eligible for benefits cards (FLEX). |
dining_mode | string | delivery (default) or pickup. |
offset | integer | Paging offset: pass next_offset from the previous page (default 0). |
locale | string | Language and market of the texts, e.g. en-US, en-GB, fr-FR, es-MX (default en-US). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/ubereats/v1/stores" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/ubereats/v1/stores",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/ubereats/v1/stores");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).