APIs / Marketplaces / Uber Eats
1 credit per call2 endpoints4 datapoints
Uber Eats API
Uber Eats API for store search by location and store menus, hours, fees, ETAs, ratings and reviews in 8 markets as JSON. From 1 credit per call.
{
"success": true,
"data": {
"store": {
"id": "17d03e07-66ca-460f-a290-077407cbb382",
"slug": "joes-pizza-times-square-1435-broadway",
"url": "https://www.ubereats.com/store/joes-pizza-times-square-1435-broadway/F9A-B2bKRg-ikAd0B8uzgg",
"name": "Joe's Pizza - Time's Square (1435 Broadway)",
"currency": "USD",
"phone": "+16465594878",
"price_bucket": "$$",
"cuisines": [
"Pizza",
"American",
"Italian"
],
"address": {
"full": "1435 Broadway, New York, NY 10018",
"street": "1435 Broadway",
"city": "New York",
"region": "NY",
"postal_code": "10018",
"country": "US"
},
"latitude": 40.7546509,
"longitude": -73.9868254,
"is_open": true,
"is_orderable": true,
"eta": {
"min": 30,
"max": 30,
"text": "30–30 Min"
},
"delivery_fee": {
"amount": 3.99,
"currency": "USD",
"text": "$3.99 Delivery Fee"
},
"rating": 4.6,
"review_count_text": "15000+",
"review_count_approx": 15000,
"distance": "0.2 mi",
"hours": [
{
"days": "Sunday - Wednesday",
"opens": "10:00",
"closes": "03:00",
"closes_next_day": true
},
{
"days": "Thursday",
"opens": "10:00",
"closes": "04:00",
"closes_next_day": true
},
{
"days": "Friday - Saturday",
"opens": "10:00",
"closes": "04:15",
"closes_next_day": true
}
],
"images": [
"https://tb-static.uber.com/prod/image-proc/processed_images/6f67fd8dc603a197abf91eba0288129f/fb86662148be855d931b37d6c1e5fcbe.jpeg",
"https://tb-static.uber.com/prod/image-proc/processed_images/6f67fd8dc603a197abf91eba0288129f/783282f6131ef2258e5bcd87c46aa87e.jpeg",
"https://tb-static.uber.com/prod/image-proc/processed_images/6f67fd8dc603a197abf91eba0288129f/8a42ee7a692dfa4155879820804a277f.jpeg"
],
"reviews": [
{
"text": "Outstanding true NY style pizza. The cheese pizza is my pick. The crust is always crispy and chewy, the cheese to sauce ratio is just right, and the ingredients are of a good quality. Joe's is a favorite for a reason.",
"author": "Charles K.",
"date": "2023-06-04T00:00:00Z"
},
{
"text": "Super fast delivery. They were faster than the had the status shown. We were staying in a hotel but loved the fact that the driver called me and didn’t make the hotel call me added that extra touch. Thanks Joe’s Pizza!",
"author": "Enrique P.",
"date": "2023-10-05T00:00:00Z"
},
{
"text": "The delivery arrived before the store even got a chance to change status to “delivered”. Amazing service and the pizza was still hot and bomb when we got it.",
"author": "Puja P.",
"date": "2023-06-07T00:00:00Z"
}
],
"popular_items": [
{
"id": "ea3c025f-b35d-497b-ad17-4aaf7974d5e0",
"name": "Plain Cheese Pie with One Topping",
"description": "Classic cheese pie with your choice of one topping.",
"price": 33,
"currency": "USD",
"image": "https://tb-static.uber.com/prod/image-proc/processed_images/731b84fdc692ab6ed62d88648e8d4bc4/a19bb09692310dfd41e49a96c424b3a6.jpeg",
"is_sold_out": false,
"has_options": true,
"popular": false
},
{
"id": "a20a4ca0-cf8c-4d44-87dd-0a0edabcb40d",
"name": "Plain Cheese Pie with Half Topping",
"description": "Includes one left half topping.",
"price": 31,
"currency": "USD",
"image": "https://tb-static.uber.com/prod/image-proc/processed_images/04d1527315f30d4b3675eaaebcb70210/c67fc65e9b4e16a553eb7574fba090f1.jpeg",
"is_sold_out": false,
"has_options": true,
"popular": false
},
{
"id": "5c1b5f9c-e601-40aa-ba70-1c982ee08fe1",
"name": "Plain Cheese Pizza",
"description": "Melted cheese on a classic pizza crust.",
"price": 29,
"currency": "USD",
"image": "https://tb-static.uber.com/prod/image-proc/processed_images/b895264c7b08a62db0ea665169aab91d/a19bb09692310dfd41e49a96c424b3a6.jpeg",
"is_sold_out": false,
"has_options": false,
"popular": false
}
],
"categories": [
{
"id": "53035974-0f12-4ac2-a8c2-586370d24ec8",
"name": "Salads",
"items": [
"…",
"…"
]
},
{
"id": "d04dd111-e058-4c47-9977-30f7e690d49c",
"name": "Pies",
"items": [
"…",
"…",
"…"
]
},
{
"id": "90b74f51-adc5-4a97-8057-49abe6c6436a",
"name": "Beverages",
"items": [
"…",
"…",
"…"
]
}
],
"item_count": 24,
"menu_complete": true
},
"market": "us"
},
"meta": {
"endpoint_family": "store",
"request_id": "req_5d8c0e0a1430436db8dc02f28bacef72",
"credits_charged": 1,
"credits_remaining": 1905
}
}Sample data
What one call returns
A recorded run of store: the fields and shapes you will get, shortened to 3 items.
| # | daysstring | opensstring | closesstring | closes_next_dayboolean |
|---|---|---|---|---|
| 1 | Sunday - Wednesday | 10:00 | 03:00 | true |
| 2 | Thursday | 10:00 | 04:00 | true |
| 3 | Friday - Saturday | 10:00 | 04:15 | true |
[
{
"days": "Sunday - Wednesday",
"opens": "10:00",
"closes": "03:00",
"closes_next_day": true
},
{
"days": "Thursday",
"opens": "10:00",
"closes": "04:00",
"closes_next_day": true
},
{
"days": "Friday - Saturday",
"opens": "10:00",
"closes": "04:15",
"closes_next_day": true
}
]days,opens,closes,closes_next_day Sunday - Wednesday,10:00,03:00,true Thursday,10:00,04:00,true Friday - Saturday,10:00,04:15,true
Recorded from our API · 3 items shown · 4 datapoints per itemGET /v1/uber-eats/store?store=17d03e07-66ca-460f-a290-077407cbb382&lat=40.758&lng=-73.9855
4 datapoints
Other
- daysstring
- opensstring
- closesstring
- closes_next_dayboolean
Playground
Run this API
curl "https://api.perceptlayer.com/v1/uber-eats/store?store=17d03e07-66ca-460f-a290-077407cbb382&lat=40.758&lng=-73.9855" \
-H "X-API-Key: $API_KEY"Uber Eats · 2 endpoints
Endpoints
Every endpoint takes the same key. Open one for its parameters and an example request.
| Endpoint | Required parameters | Cost |
|---|---|---|
GET/v1/uber-eats/store | storelatlng+2 optional | 1–11 credits |
GET/v1/uber-eats/stores | querylatlng+5 optional | 1 credit |
Overview
About the Uber Eats API
What you can get
The Uber Eats API returns Uber Eats store and menu data as JSON through 2 endpoints. Both take a lat and lng, and a market (us, ca, mx, gb, fr, de, jp or au).
- Store search:
storestakes aquery, withsort(rating or delivery_time),min_rating,offsetandpage_size. - Stores:
storetakes astore, withinclude_optionsto load item options.
The recorded store call returns market and a store with id, slug, name, cuisines, price_bucket, address, latitude, longitude, phone, is_open, is_orderable, eta, delivery_fee, rating, review_count_text, distance, hours, images, reviews, popular_items, categories, item_count (24 in that recording) and menu_complete. Each popular item has id, name, description, price, currency, is_sold_out and has_options.
How a call works
Look up a store near a point: GET /v1/uber-eats/store?store=17d03e07-66ca-460f-a290-077407cbb382&lat=40.758&lng=-73.9855 with your key in the X-API-Key header. stores?query=pizza&lat=40.758&lng=-73.9855 finds stores to pass to store; page it with offset and page_size. Every successful call costs 1 credit. store with include_options costs 1 more for each of the first 10 items whose options load, so 11 at most. Failed calls cost nothing.
More marketplaces APIs
Use cases
Track menu prices for a restaurant or chain
Use the Uber Eats API to track menu prices for a restaurant or chainCompare delivery fees and ETAs across stores near an address
Use the Uber Eats API to compare delivery fees and ETAs across stores near an addressMap delivery coverage for a cuisine in a city
Use the Uber Eats API to map delivery coverage for a cuisine in a cityWatch which items sell out with `is_sold_out`
Use the Uber Eats API to watch which items sell out with `is_sold_out`FAQ
Questions
How much does the Uber Eats API cost?
Each successful call costs one credit. `store` with `include_options` adds one credit for each of the first 10 items whose options load, so 11 at most. New accounts get free credits to start, and credit packs bring the price down as you scale.
Which markets can I query?
`market` takes us, ca, mx, gb, fr, de, jp or au.
Do I need an Uber Eats account?
No. You call this Uber Eats API with your Perceptlayer key in the `X-API-Key` header, with no Uber Eats login.
What format are responses in?
Every endpoint returns JSON, with no HTML parsing on your side.
Should I build an Uber Eats scraper instead?
You can, but an Uber Eats scraper is code you maintain: page changes break it, requests get blocked, and Uber Eats's terms govern how you collect data. The Uber Eats API gives you 2 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.
Try the Uber Eats API with 100 free credits
No credit card. Failed calls are never billed.