Wolt API endpoint
Returns one restaurant/store's live availability for a delivery coordinate: whether it is open and online right now, the next open and close times, delivery and pickup time estimates in minutes, the delivery fee, the order minimum, the venue's distance, and any discount campaign labels Wolt currently shows on its public page. Coordinates are optional but change the answer materially -- Wolt resolves delivery availability, the fee, the estimate, and the distance against them; without coordinates the venue's generic, location-independent status is returned and delivery_method_default is UNAVAILABLE.
/wolt/restaurant/availabilityThis is the live counterpart to /wolt/restaurant, which returns the venue's static detail (address, phone, weekly opening hours, rating).
Query parameters:
slug (required) — Wolt restaurant/store slug, from /wolt/search's slug field, e.g. kotipizza-kamppi. An unknown slug returns a 404.latitude (optional) — delivery-address latitude, e.g. 60.1699. Must be given together with longitude.longitude (optional) — delivery-address longitude, e.g. 24.9384. Must be given together with latitude.Coordinates are optional but change the answer materially: Wolt resolves delivery availability, the delivery fee, the delivery estimate, and the distance against them. Without coordinates the venue's generic, location-independent status is returned and delivery_method_default is UNAVAILABLE. The delivery fee scales with distance — the same venue returned 1.99 for an address 474 m away and 7.99 for one 16.2 km away, where it also dropped to pickup-only.
Response fields:
slug, id, online — venue identity and whether Wolt currently has it online at all.open_status and delivery_open_status — the venue's opening hours and its delivery hours, which can differ. Each has is_open, label (Wolt's own localized string, e.g. Open until 23:59), now, previous_open, next_open, and next_close (RFC 3339 timestamps in the venue's own UTC offset).delivery_method_default — the fulfilment method Wolt itself would preselect for this coordinate. One of DELIVERY, PICKUP, UNAVAILABLE.delivery_enabled, self_delivery — whether the venue delivers at all, and whether the restaurant delivers itself rather than using Wolt's couriers.estimates[] — per fulfilment method, each with method (homedelivery or takeaway), label (e.g. 20-30 min), minutes (the mean), min_minutes, and max_minutes.delivery_fee and order_minimum — in major currency units (e.g. euros). delivery_fee_label and order_minimum_label are Wolt's own locale-formatted renderings of what the venue page actually shows, which can differ from the list price while a campaign is running (e.g. €0.00 against a delivery_fee of 1.99).distance_label — Wolt's own formatted venue distance, e.g. 474 m, 16.2 km. Only present when coordinates were supplied.promotions[] — the discount campaign labels Wolt currently shows on the venue's public page, e.g. 0 € delivery fee. Display text only.| Field | In the sample | Value in the sample |
|---|---|---|
| slug | Has a value | |
| id | Has a value | |
| online | Has a value | true |
| open_status.is_open | Has a value | true |
| open_status.label | Has a value | “Open all day” |
| open_status.now | Has a value | 2026-10-13 |
| delivery_open_status.is_open | Has a value | true |
| delivery_open_status.label | Has a value | “Open all day” |
| delivery_open_status.now | Has a value | 2026-10-13 |
| delivery_method_default | Has a value | “DELIVERY” |
| delivery_enabled | Has a value | true |
| self_delivery | Has a value | false |
| estimates | Has a value | 1 entry |
| delivery_fee | Has a value | 1.89 |
| delivery_fee_label | Has a value | “€0.00” |
| order_minimum | Has a value | 10 |
| order_minimum_label | Has a value | “Min. order €10.00” |
| promotions | Has a value | 4 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Wolt restaurant/store slug, from /wolt/search's slug field | kotipizza-kamppi | |
| latitude | number | No | Optional delivery-address latitude. Must be given together with longitude. | 60.1699 | |
| longitude | number | No | Optional delivery-address longitude. Must be given together with latitude. | 24.9384 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wolt/restaurant/availability?slug=kotipizza-kamppi" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "kotipizza-kamppi",
"id": "67d00e2de8ee162ad64719e6",
"online": true,
"open_status": {
"is_open": true,
"label": "Open until 23:59",
"now": "2026-09-05T18:59:51+03:00",
"next_open": "2026-09-06T11:00:00+03:00",
"next_close": "2026-09-05T23:59:00+03:00"
},
"delivery_open_status": {
"is_open": true,
"label": "Open until 23:59",
"next_close": "2026-09-05T23:59:00+03:00"
},
"delivery_method_default": "DELIVERY",
"delivery_enabled": true,
"self_delivery": true,
"estimates": [
{
"method": "homedelivery",
"label": "20-30 min",
"minutes": 25,
"min_minutes": 20,
"max_minutes": 30
},
{
"method": "takeaway",
"label": "10-30 min",
"minutes": 20,
"min_minutes": 10,
"max_minutes": 30
}
],
"delivery_fee": 1.99,
"delivery_fee_label": "€0.00",
"order_minimum": 10,
"order_minimum_label": "Min. order €10.00",
"distance_label": "474 m",
"promotions": [
"3x5 €",
"0 € delivery fee"
]
}
}Request schema
No body schema
Response schema
#/definitions/wolt.availabilityResponseDoc
| 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 | wolt.AvailabilityResponse | No | ||||
| data.delivery_enabled | boolean | No | ||||
| data.delivery_fee | number | No | DeliveryFee is the base delivery price for this caller's coordinate, in major currency units (e.g. euros). Wolt scales it with distance -- confirmed live 2026-09-05: the same venue returned 1.99 for a 474m coordinate and 7.99 for a 16.2km one. | |||
| data.delivery_fee_label | string | No | DeliveryFeeLabel is Wolt's own locale-formatted rendering of the fee actually shown on the venue page (e.g. "€0.00" while a free-delivery campaign is running), which can differ from DeliveryFee's list price. | |||
| data.delivery_method_default | string | No | DeliveryMethodDefault is the fulfilment method Wolt itself would preselect for this caller's coordinate: "DELIVERY", "PICKUP", or "UNAVAILABLE" when no coordinate was supplied (or the venue does not deliver there at all). Confirmed live 2026-09-05. | |||
| data.delivery_open_status | wolt.OpenStatus | No | ||||
| data.delivery_open_status.is_open | boolean | No | ||||
| data.delivery_open_status.label | string | No | ||||
| data.delivery_open_status.next_close | string | No | ||||
| data.delivery_open_status.next_open | string | No | ||||
| data.delivery_open_status.now | string | No | ||||
| data.delivery_open_status.previous_open | string | No | ||||
| data.distance_label | string | No | DistanceLabel is Wolt's own formatted venue distance from the caller's coordinate (e.g. "474 m", "16.2 km"). Only present when coordinates were supplied. | |||
| data.estimates | array | No | ||||
| data.estimates[].label | string | No | ||||
| data.estimates[].max_minutes | integer | No | ||||
| data.estimates[].method | string | No | ||||
| data.estimates[].min_minutes | integer | No | ||||
| data.estimates[].minutes | integer | No | ||||
| data.id | string | No | ||||
| data.online | boolean | No | ||||
| data.open_status | wolt.OpenStatus | No | ||||
| data.open_status.is_open | boolean | No | ||||
| data.open_status.label | string | No | ||||
| data.open_status.next_close | string | No | ||||
| data.open_status.next_open | string | No | ||||
| data.open_status.now | string | No | ||||
| data.open_status.previous_open | string | No | ||||
| data.order_minimum | number | No | OrderMinimum is the venue's minimum order value in major currency units, and OrderMinimumLabel Wolt's own locale-formatted rendering of it (e.g. "Min. order €10.00"). | |||
| data.order_minimum_label | string | No | ||||
| data.promotions | array | No | Promotions are the discount campaign labels Wolt currently shows on the venue's own public page (e.g. "0 € delivery fee", "3x5 €"). This is display text only -- no campaign is claimed, redeemed, or applied. | |||
| data.self_delivery | boolean | No | ||||
| data.slug | 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 |
| 404 | Not Found | #/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/wolt/restaurant/availability?slug=kotipizza-kamppi" \
-H "x-api-key: $CRAWLORA_API_KEY"