Open documentation ↗Overview
# Just Eat API Just Eat offers services for our various business partners and our consumer applications. How you interact with the API depends on the services you wish to interact with. ## Security ### HTTPS All api calls and callbacks require HTTPS. Your service will need a valid SSL certificate and be accessible via the standard SSL port (port 443). ## Making an API request Some API calls require an API key, to authenticate the partner calling the API. ``` PUT https://uk-partnerapi.just-eat.io/orders/abcd1234 HTTP/1.1 Authorization: JE-API-KEY abcd123456789 ``` Other calls require a user token in the form of a JWT. ``` GET https://uk.api.just-eat.io/consumer/me/orders/uk HTTP/1.1 Authorization: Bearer abcd123456789 ``` ## Date Formats ### Date and time formats All dates and times should use the [ISO 8601 standard for representation of dates and times](https://en.wikipedia.org/wiki/ISO_8601). #### For instance: * DueDateWithUtcOffset: `"2015-05-26T14:52:35.5444292+01:00"` - Local time: `14:52` - UTC time: `13:52` - UTC offset: `+1hr` (due to daylight time saving) * DueDateWithUtcOffset: `"2015-02-03T11:10:00.0000000+00:00"` - Local time: `11:10` - UTC time: `11:10` - UTC offset: `0` (no daylight time saving, local time is equivalent to UTC) Note that the offset may be for a timezone different to your own, so you should alway convert to your own local time for display purposes (e.g. on receipts and terminals). ### Callback timestamps Timestamps sent to Just Eat should be recorded as the current local time (including any changes needed to account for daylight saving) with an accompanying offset that shows the difference between the recorded local time and the current UTC time. If it is not possible to record timestamps in local time, timestamps may be recorded in UTC time with a 00:00 offset. ## Async Webhooks Some of the webhooks on the platform are configured as being 'async' webhooks. These are for long-running operations, and work as follows: 1. Your webhook is invoked with a `?callback={returnUrl}` query string parameter. The `returnUrl` is a unique URL that you will need to send the async response to. 2. Return an immediate `202 Accepted` response from the webhook endpoint, to indicate that you have received the request. 3. Perform the long-running operation. This can be deemed either a _success_; or a _failure_. 4. If the result is a _**success**_, return the following: ``` POST {returnUrl} HTTP/1.1 { "status": "Success", "message": "{successMessage}", "data": {} // webhook-specific response object } ``` 5. Otherwise, if the result is a _**failure**_, return the following: ``` POST {returnUrl} HTTP/1.1 { "status": "Failure", "message": "{failureMessage}", "data": {} // webhook-specific response object } ```
Just Eat UK is a shopping API from just-eat.co.uk. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 98 endpoints.
At a glance
- Authentication
- API key
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Shopping
- Base URL
https://uk.api.just-eat.io- Version
- 1.0.0
- Endpoints
- 98
- OpenAPI
- Specification ↗
- Spec updated
- 2021-06-21
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://uk.api.just-eat.io/delivery/pools" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch("https://uk.api.just-eat.io/delivery/pools", {
method: "GET",
headers: {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://uk.api.just-eat.io/delivery/pools",
headers={
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /acceptance-requested | Acceptance requested |
| PUT | /attempted-delivery-query-resolved | Attempted delivery query resolved |
| GET | /checkout/{tenant}/{checkoutId} | Get Checkout |
| PATCH | /checkout/{tenant}/{checkoutId} | Update Checkout |
| GET | /checkout/{tenant}/{checkoutId}/fulfilment/availabletimes | Get Available Fulfilment Times |
| GET | /consumers/{tenant} | Get consumers details |
| POST | /consumers/{tenant} | Create consumer |
| GET | /consumers/{tenant}/me/communication-preferences | Get communication preferences |
| GET | /consumers/{tenant}/me/communication-preferences/{type} | Get channel subscriptions for a given consumer's communication preference type |
| PUT | /consumers/{tenant}/me/communication-preferences/{type} | Set only the channel subscriptions for a given consumer's communication preference type |
| POST | /consumers/{tenant}/me/communication-preferences/{type}/subscribedChannels/{channel} | Subscribe to a specific communication preference channel |
| DELETE | /consumers/{tenant}/me/communication-preferences/{type}/subscribedChannels/{channel} | Remove subscription of a specific communication preference channel |
| PUT | /delivery-failed | Delivery Attempt Failed |
| GET | /delivery-fees/{tenant} | Get restaurant delivery fees |
| GET | /delivery/estimatedeprecated | Get delivery estimate |
| GET | /delivery/pools | Get your delivery pools |
| POST | /delivery/pools | Create a new delivery pool |
| GET | /delivery/pools/{deliveryPoolId} | Get an individual delivery pool |
| PUT | /delivery/pools/{deliveryPoolId} | Replace an existing delivery pool |
| PATCH | /delivery/pools/{deliveryPoolId} | Modify a delivery pool |
| DELETE | /delivery/pools/{deliveryPoolId} | Delete a delivery pool |
| GET | /delivery/pools/{deliveryPoolId}/availability/relative | Get availability for pickup |
| PUT | /delivery/pools/{deliveryPoolId}/availability/relative | Set availability for pickup |
| PUT | /delivery/pools/{deliveryPoolId}/hours | Set the delivery pools daily start and end times |
| PUT | /delivery/pools/{deliveryPoolId}/restaurants | Add restaurants to an existing delivery pool |
| DELETE | /delivery/pools/{deliveryPoolId}/restaurants | Remove restaurants from a delivery pool |
| PUT | /driver-assigned-to-delivery | Driver Assigned to Delivery |
| PUT | /driver-at-delivery-address | Driver at delivery address |
| PUT | /driver-at-restaurant | Driver at restaurant |
| PUT | /driver-has-delivered-order | Driver has delivered order |
| PUT | /driver-location | Driver Location |
| PUT | /driver-on-their-way-to-delivery-address | Driver on their way to delivery address |
| POST | /late-order-compensation-query | late order compensation query, restaurant response required |
| POST | /late-order-query | late order query, restaurant response required |
| POST | /menu-ingestion-complete | Menu ingestion complete |
| POST | /order-accepted | Order accepted |
| POST | /order-cancelled | Order cancelled |
| POST | /order-eligible-for-restaurant-compensation | Order Eligible For Restaurant Compensation |
| PUT | /order-is-ready-for-pickup | Order ready for pickup |
| POST | /order-ready-for-preparation-async | Order ready for preparation (async) |
| POST | /order-ready-for-preparation-sync | Order ready for preparation (sync) |
| POST | /order-rejected | Order rejected |
| PUT | /order-requires-delivery-acceptance | Order requires delivery acceptance |
| POST | /order-time-updated | Order time updated |
| POST | /orders | Create order |
| PUT | /orders/deliverystate/driverlocation | Update current driver locations (bulk upload) |
| PUT | /orders/{orderId}/accept | Accept order |
| PUT | /orders/{orderId}/cancel | Cancel order |
| POST | /orders/{orderId}/complete | Complete order |
| PUT | /orders/{orderId}/deliverystate/atdeliveryaddress | Update order with driver at delivery address details |
| PUT | /orders/{orderId}/deliverystate/atrestaurant | Update order with driver at restaurant details |
| PUT | /orders/{orderId}/deliverystate/atrestauranteta | Update the driver's estimated time to arrive at the Restaurant |
| PUT | /orders/{orderId}/deliverystate/delivered | Update order with delivered details |
| PUT | /orders/{orderId}/deliverystate/driverassigned | Update order with driver assigned details |
| PUT | /orders/{orderId}/deliverystate/driverlocation | Update the driver's current location |
| PUT | /orders/{orderId}/deliverystate/driverunassigned | Update order with driver unassigned details |
| PUT | /orders/{orderId}/deliverystate/onitsway | Update order with driver on its way details |
| PUT | /orders/{orderId}/duedate | Update order ETA |
| PUT | /orders/{orderId}/ignore | Ignore order |
| POST | /orders/{orderId}/readyforcollection | Mark order as ready for collection |
| PUT | /orders/{orderId}/reject | Reject order |
| POST | /orders/{tenant}/{orderId}/consumerqueries/lateorder/restaurantresponse | Response to Late Order Update Request |
| POST | /orders/{tenant}/{orderId}/consumerqueries/lateordercompensation/restaurantresponse | Update late order compensation request with Restaurant response |
| POST | /orders/{tenant}/{orderId}/restaurantqueries/compensation | Create Compensation requests |
| PUT | /redelivery-requested | Customer Requested Redelivery |
| PUT | /restaurant-offline-status | Restaurant Offline Status |
| PUT | /restaurant-online-status | Restaurant Online Status |
| GET | /restaurants/bylatlong | Get restaurants by location |
| GET | /restaurants/bypostcode/{postcode} | Get restaurants by postcode |
| PUT | /restaurants/driver/eta | Set ETA for pickup |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue | Get product catalogue |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/availabilities | Get all availabilities |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/categories | Get all categories |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/categories/{categoryId}/items | Get all category item IDs |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/items | Get all menu items |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/items/{itemId}/dealgroups | Get all menu item deal groups |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/items/{itemId}/dealgroups/{dealGroupId}/dealitemvariations | Get all deal item variations for a deal group |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/items/{itemId}/modifiergroups | Get all menu item modifier groups |
| GET | /restaurants/{tenant}/{restaurantId}/catalogue/items/{itemId}/variations | Get all menu item variations |
| GET | /restaurants/{tenant}/{restaurantId}/customerclaims | Get claims |
| GET | /restaurants/{tenant}/{restaurantId}/customerclaims/{id} | Get order claim |
| POST | /restaurants/{tenant}/{restaurantId}/customerclaims/{id}/restaurantresponse | Submit a restaurant response for the claim |
| PUT | /restaurants/{tenant}/{restaurantId}/customerclaims/{id}/restaurantresponse/justification | Add reason and comments to the response |
| GET | /restaurants/{tenant}/{restaurantId}/fees | Get Restaurant Fees |
| PUT | /restaurants/{tenant}/{restaurantId}/fees | Create or Update Restaurant Fees |
| GET | /restaurants/{tenant}/{restaurantId}/menu | Get the latest version of the restaurant's full menu |
| PUT | /restaurants/{tenant}/{restaurantId}/menu | Create or update a menu |
| GET | /restaurants/{tenant}/{restaurantId}/ordertimes | Get the restaurant's delivery and collection lead times |
| PUT | /restaurants/{tenant}/{restaurantId}/ordertimes/{dayOfWeek}/{serviceType} | Update the restaurant's delivery and collection lead times |
| GET | /restaurants/{tenant}/{restaurantId}/servicetimes | Get service times |
| PUT | /restaurants/{tenant}/{restaurantId}/servicetimes | Create or update service times |
| GET | /search/autocomplete/{tenant} | Get auto-completed search terms |
| GET | /search/restaurants/{tenant} | Search restaurants |
| POST | /send-to-pos-failed | Send to POS failed |
| POST | /v1/{tenant}/restaurants/event/offline | Create Offline Event |
| DELETE | /v1/{tenant}/restaurants/{id}/event/offline | Delete Offline Event |
| POST | /{tenant}/orders/{orderId}/queries/attempteddelivery | Delivery Attempt Failed |
| POST | /{tenant}/orders/{orderId}/queries/attempteddelivery/resolution/redeliverorder | Request Redelivery of the Order |
Questions
Does the Just Eat UK API need an API key?
Yes. The Just Eat UK API uses API key authentication; the documentation explains how to get credentials.
Does the Just Eat UK API support HTTPS?
Yes, the Just Eat UK API is served over HTTPS.
How many endpoints does the Just Eat UK API have?
Its OpenAPI description lists 98 endpoints in version 1.0.0. All of them are shown on this page.
What are alternatives to the Just Eat UK API?
Other Shopping APIs include Etsy, eBay, Flipkart Marketplace, Inventory Management, Intel Product Catalogue Service.
Similar shopping APIs
Compare alternatives →Etsy
ShoppingManage shop and interact with listings
eBay
ShoppingSell and Buy on eBay
Flipkart Marketplace
ShoppingProduct listing management, Order Fulfilment in the Flipkart Marketplace
Inventory Management
ShoppingMaintaining up-to-date inventory for your items on Walmart.com ensures a great experience for your customers and greater sales opportunities for you.
Intel Product Catalogue Service
ShoppingThis is the documentation for PIM Micro services. In order to use this tool you need to have Basic Auth credentials and a client id. If you dont have one, please make sure to request one by sending an email to the PIM MS team: [[email protected]](mailto:[email protected]?subject=PIMServices)
Item API
ShoppingPlease make sure you use the correct version of the APIs for your use case. To find out the appropriate version, go to the API Docs drop down on the menu.
Listed from APIs.guru (CC0).