Deliveroo API endpoint
Returns the exact same "Choose a day" / "Choose a time" scheduled-ordering data the real site's own order-ahead picker shows for a location, for both delivery and pickup: an ASAP option plus every day currently open for a scheduled order, each with its real time slots and UNIX timestamps.
/deliveroo/fulfillment-timesReturns Deliveroo's own live delivery and pickup scheduling windows for a latitude/longitude in the given national market -- the exact same "Choose a day" / "Choose a time" data the real site's own order-ahead picker shows.
Query parameters:
latitude (required) — search center latitude, e.g. 51.4975.longitude (required) — search center longitude, e.g. -0.1357.market (optional, default uk) — Deliveroo national market to search. One of uk, ie, fr, it, be, ae, kw.Response includes methods[], one entry per fulfillment method (DELIVERY, COLLECTION). Each method has method, label, asap (the immediate-order option, when available -- label and a UNIX timestamp), and days[]. Each day has day (e.g. TODAY, TOMORROW), label, and times[] -- every selectable scheduled window for that day, each with a label (e.g. "16:00 - 16:30") and a UNIX timestamp.
The number of days offered and how early the first slot on a given day is both reflect this location's real coverage and hours -- this is not a generic fixed schedule.
Example response (trimmed):
{"code":200,"msg":"OK","data":{"methods":[{"method":"DELIVERY","label":"Delivery","asap":{"label":"Now","timestamp":1788447150},"days":[{"day":"TODAY","label":"Today","times":[{"label":"16:00 - 16:30","timestamp":1788448500},{"label":"16:15 - 16:45","timestamp":1788449400}]},{"day":"TOMORROW","label":"Tomorrow","times":[{"label":"11:15 - 11:45","timestamp":1788516900}]}]},{"method":"COLLECTION","label":"Pickup","asap":{"label":"Now","timestamp":1788447150},"days":[]}]}}
| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| method | 2 | “DELIVERY” and 1 other value |
| label | 2 | “Delivery” and 1 other value |
| asap | 2 | |
| days | 2 | median 2 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| latitude | number | Yes | Search center latitude | 51.4975 | |
| longitude | number | Yes | Search center longitude | -0.1357 | |
| market | string | No | Deliveroo national market to search (default uk) Allowed values: uk, ie, fr, it, be, ae, kw. | uk | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/deliveroo/fulfillment-times?latitude=51.4975&longitude=-0.1357&market=uk" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"methods": [
{
"method": "DELIVERY",
"label": "Delivery",
"asap": {
"label": "Now",
"timestamp": 1788447150
},
"days": [
{
"day": "TODAY",
"label": "Today",
"times": [
{
"label": "16:00 - 16:30",
"timestamp": 1788448500
},
{
"label": "16:15 - 16:45",
"timestamp": 1788449400
}
]
},
{
"day": "TOMORROW",
"label": "Tomorrow",
"times": [
{
"label": "11:15 - 11:45",
"timestamp": 1788516900
}
]
}
]
},
{
"method": "COLLECTION",
"label": "Pickup",
"asap": {
"label": "Now",
"timestamp": 1788447150
},
"days": []
}
]
}
}Request schema
No body schema
Response schema
#/definitions/deliveroo.fulfillmentTimesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | deliveroo.FulfillmentTimesResponse | No | ||||
| data.methods | array | No | ||||
| data.methods[].asap | deliveroo.FulfillmentTimeSlot | No | ||||
| data.methods[].asap.label | string | No | ||||
| data.methods[].asap.timestamp | integer | No | ||||
| data.methods[].days | array | No | ||||
| data.methods[].days[].day | string | No | ||||
| data.methods[].days[].label | string | No | ||||
| data.methods[].days[].times | array | No | ||||
| data.methods[].days[].times[].label | string | No | ||||
| data.methods[].days[].times[].timestamp | integer | No | ||||
| data.methods[].label | string | No | ||||
| data.methods[].method | string | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/deliveroo/fulfillment-times?latitude=51.4975&longitude=-0.1357&market=uk" \
-H "x-api-key: $CRAWLORA_API_KEY"