Wolt API endpoint
Returns one Wolt restaurant or store's public detail by its slug: name, address, coordinates, timezone, phone, website, rating, currency, price range, cuisine tags, category ids (the values /wolt/search's category parameter accepts), opening hours, delivery hours, delivery methods, pickup availability, order minimum, and service fee estimate.
/wolt/restaurantQuery parameters:
slug (required) — Wolt restaurant/store slug, from /wolt/search's slug field, e.g. mcdonalds-forum-katutaso.An unrecognized slug returns a 404.
Response includes id, slug, name, brand_name, description, address, city, country, post_code, phone, website, currency, product_line, rating_score (0-10), rating_count, delivery_base_price (in the restaurant's minor currency unit, e.g. cents), image_url, share_url, opening_times[] (each with day and formatted_times), delivery_times[] (same shape as opening_times, but the hours delivery is actually available -- may differ from when the venue is open), delivery_methods[] (e.g. homedelivery), pickup_friendly (whether the venue supports pickup), order_minimum (Wolt's own formatted display string for the minimum order value in this venue's currency, e.g. "€10.00" -- not parsed into a number, since the format varies by market), and service_fee_min/service_fee_max/service_fee_percent (the estimated service fee range, in the restaurant's minor currency unit, and its percentage), latitude/longitude (the venue's own coordinates), timezone (the IANA zone opening_times/delivery_times are expressed in, e.g. Europe/Helsinki), brand_slug (a grouping key shared by every location of a chain -- Wolt exposes no brand listing endpoint, so it is not accepted as a parameter anywhere), price_range (the same 1-4 tier /wolt/search returns), tags[] (the same free-text display cuisine list /wolt/search returns), categories[] (each with id -- the value /wolt/search's category parameter accepts -- plus name and primary), city_id (the id of the matching /wolt/cities entry), and wolt_plus (whether the venue participates in Wolt's subscription programme).
| Field | Filled in, of 7 checked | Values in the sample |
|---|---|---|
| day | 7 | “Monday” and 6 other values |
| formatted_times | 7 | All day in all 7 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Wolt restaurant/store slug, from /wolt/search's slug field | mcdonalds-forum-katutaso | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wolt/restaurant?slug=mcdonalds-forum-katutaso" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "5ae605a7349077000b1f5ef4",
"slug": "mcdonalds-forum-katutaso",
"name": "McDonald's Helsinki Forum Katutaso",
"brand_name": "McDonald's",
"description": "I'm lovin' it.",
"address": "Mannerheimintie 16",
"city": "Helsinki",
"country": "FIN",
"post_code": "00100",
"phone": "+358407170258",
"website": "http://mcdonalds.fi",
"currency": "EUR",
"product_line": "restaurant",
"rating_score": 8.2,
"rating_count": 500,
"delivery_base_price": 189,
"image_url": "https://imageproxy.wolt.com/assets/67332fcc40111921ceedb4f4",
"share_url": "https://wolt.com/fi/fin/helsinki/restaurant/mcdonalds-forum-katutaso",
"opening_times": [
{
"day": "Friday",
"formatted_times": "05:00–24:00"
},
{
"day": "Saturday",
"formatted_times": "All day"
}
],
"delivery_times": [
{
"day": "Friday",
"formatted_times": "05:00–23:30"
}
],
"delivery_methods": [
"homedelivery"
],
"pickup_friendly": false,
"order_minimum": "€10.00",
"service_fee_min": 100,
"service_fee_max": 399,
"service_fee_percent": 10,
"latitude": 60.16883307,
"longitude": 24.93949592,
"timezone": "Europe/Helsinki",
"brand_slug": "mcdonalds",
"price_range": 1,
"tags": [
"hamburger",
"fries",
"salad"
],
"categories": [
{
"id": "burgers",
"name": "Burger",
"primary": true
},
{
"id": "american",
"name": "American"
}
],
"city_id": "58da504ba3284104e807127d",
"wolt_plus": true
}
}Request schema
No body schema
Response schema
#/definitions/wolt.restaurantResponseDoc
| 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.RestaurantResponse | No | ||||
| data.address | string | No | ||||
| data.brand_name | string | No | ||||
| data.brand_slug | string | No | BrandSlug is a grouping key shared by every location of a chain (e.g. "mcdonalds"). Wolt publishes no brand listing, so it is not accepted as a parameter anywhere -- it is useful for collapsing results by chain. | |||
| data.categories | array | No | Categories are the venue's own categories, each with the id /wolt/search's category parameter accepts, a display name, and a flag for the venue's primary category. | |||
| data.categories[].id | string | No | ||||
| data.categories[].name | string | No | ||||
| data.categories[].primary | boolean | No | ||||
| data.city | string | No | ||||
| data.city_id | string | No | CityID is the id of the /wolt/cities entry this venue belongs to. | |||
| data.country | string | No | ||||
| data.currency | string | No | ||||
| data.delivery_base_price | integer | No | ||||
| data.delivery_methods | array | No | ||||
| data.delivery_times | array | No | ||||
| data.delivery_times[].day | string | No | ||||
| data.delivery_times[].formatted_times | string | No | ||||
| data.description | string | No | ||||
| data.id | string | No | ||||
| data.image_url | string | No | ||||
| data.latitude | number | No | Latitude/Longitude are the venue's own coordinates. | |||
| data.longitude | number | No | ||||
| data.name | string | No | ||||
| data.opening_times | array | No | ||||
| data.opening_times[].day | string | No | ||||
| data.opening_times[].formatted_times | string | No | ||||
| data.order_minimum | string | No | ||||
| data.phone | string | No | ||||
| data.pickup_friendly | boolean | No | ||||
| data.post_code | string | No | ||||
| data.price_range | integer | No | PriceRange is Wolt's own 1-4 price tier and Tags its free-text display cuisine list -- the same two fields /wolt/search returns per result. | |||
| data.product_line | string | No | ||||
| data.rating_count | integer | No | ||||
| data.rating_score | number | No | ||||
| data.service_fee_max | integer | No | ||||
| data.service_fee_min | integer | No | ||||
| data.service_fee_percent | integer | No | ||||
| data.share_url | string | No | ||||
| data.slug | string | No | ||||
| data.tags | array | No | ||||
| data.timezone | string | No | Timezone is the IANA zone (e.g. "Europe/Helsinki") the venue's opening and delivery hours are expressed in. | |||
| data.website | string | No | ||||
| data.wolt_plus | boolean | No | WoltPlus reports whether the venue participates in Wolt's subscription programme. | |||
| 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?slug=mcdonalds-forum-katutaso" \
-H "x-api-key: $CRAWLORA_API_KEY"