GET/wolt/citiesapiKey1 credit/request
Returns Wolt's own live directory of every city it operates in, each with the coordinate pair the rest of the Wolt endpoints take, plus its slug, country codes, and timezone. Every other Wolt endpoint is resolved purely from a coordinate, so this is the discovery step that makes them usable without an external geocoder. Optionally restrict to one country, or pass a reference coordinate to have each city carry its distance and the list returned nearest-first.
Optional: country, latitude, longitude.
Sampled 14 Oct 2026: 964 items. Not in every item: id (500), name (500), slug (500), country (500), country_iso3 (500), timezone (500), latitude (500), longitude (500). In the sample: name: “Durrës” and 499 other values; country: “AL” and 13 other values; country_iso3: “ALB” and 13 other values; timezone: “Europe/Tirane” and 17 other values.
Open in Playground
GET/wolt/collectionsapiKey1 credit/request
Returns Wolt's own curated homepage restaurant/store lists for a location (e.g. top-rated, newest, hot-this-week -- whichever collections Wolt's own ops team currently curates for that market), read from Wolt's anonymous homepage endpoint. Each restaurant carries the same fields /wolt/search returns. The response also carries is_serviceable, which says whether Wolt delivers to the requested coordinates at all: false means the coordinates are outside Wolt's delivery coverage, so the empty collections list is a coverage answer rather than a served location whose homepage happens to carry no curated lists.
Required: latitude, longitude.
Sampled 14 Oct 2026: 13 items. Filled in every item: id, title, restaurants. In the sample: title: “Fastest delivery” and 12 other values; restaurants: median 24 entries.
Open in Playground
GET/wolt/restaurantapiKey1 credit/request
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.
Required: slug.
Sampled 14 Oct 2026: 7 items. Filled in every item: day, formatted_times. In the sample: day: “Monday” and 6 other values.
Open in Playground
GET/wolt/restaurant/availabilityapiKey1 credit/request
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.
Required: slug. Optional: latitude, longitude.
Sampled 14 Oct 2026: 18 fields returned with a value. In the sample: open_status.now: 2026-10-13; delivery_fee: 1.89; open_status.label: “Open all day”; online: true; estimates: 1 entry; open_status.is_open: true; delivery_open_status.is_open: true; delivery_open_status.label: “Open all day”.
Open in Playground
GET/wolt/restaurant/menuapiKey1 credit/request
Returns one restaurant/store's menu grouped into categories, plus its restaurant summary. Each item carries a name, description, price, dietary tags, and image, read from Wolt's own anonymous menu API in a single call. The response's loading_strategy field reports whether the items are included: full means every category carries its items, while partial means Wolt does not bulk-load this venue's assortment, so the categories come back real but with empty item lists and the venue's items are reachable only by keyword through /wolt/restaurant/menu/search. Large stores of any type -- supermarkets, pharmacies, drugstores, DIY and toy stores -- are commonly partial; restaurants are full.
Required: slug.
Sampled 14 Oct 2026: 7 items. Filled in every item: day, formatted_times. In the sample: day: “Monday” and 6 other values.
Open in Playground
GET/wolt/restaurant/menu/searchapiKey1 credit/request
Searches one restaurant's or store's own items by keyword, using Wolt's own in-venue item search. This is the only way to reach the items of a large grocery or retail store: /wolt/restaurant/menu returns those venues' categories with no items, because Wolt itself only loads such an assortment a slice at a time. Matching works across languages, so an English keyword finds locally-named products. Each item carries a name, description, price, dietary tags, image, and -- for packaged retail products -- a barcode, pack size, and per-unit comparison price. A keyword is required; a no-match keyword returns an empty item list rather than an error.
Required: slug, query. Optional: limit.
Sampled 14 Oct 2026: 30 items. Filled in every item: id, name, description, price, image_url. Not in every item: tags (3). In the sample: price: 2.65 to 16.8, median 7.85; name: “Chicken Burger” and 29 other values; image_url: wolt-menu-images-cdn.wolt.com; description: median 116 characters; tags: median 1 entry.
Open in Playground
GET/wolt/searchapiKey2 credits/request
Returns restaurants and stores near a coordinate, optionally filtered by a keyword or browsed by category. With none of those, this reads Wolt's own plain location browse; with a query it uses Wolt's own keyword search across restaurant/store names, dishes, and cuisines; with a category it browses Wolt's own per-category listing (the same page a homepage cuisine tile links to) -- call /wolt/search/filters for the current, complete, location-scoped list of valid category values. category and query cannot be combined. A keyword search additionally accepts sort, product_line, and open_now; those three apply to keyword search only and return a 400 without query. Each result carries its slug (the value the restaurant and menu endpoints take), name, address, coordinates, tags, price range, rating, and delivery estimate; the two browse modes additionally carry each venue's own category ids. The response also carries is_serviceable, which says whether Wolt delivers to the requested coordinates at all: false means the coordinates are outside Wolt's delivery coverage, so the empty results list is a coverage answer rather than a no-matches answer. A keyword that simply matches nothing inside a covered area returns an empty list with is_serviceable true. Call /wolt/cities for the coordinates of every city Wolt operates in.
Required: latitude, longitude. Optional: query, category, limit, sort (5 allowed values: recommended, distance, rating, delivery_fee, delivery_estimate), product_line (15 allowed values: restaurant, grocery, alcohol, pharmacy, pet_supply, health_and_beauty, electronics, toys_games_and_kids, home_and_diy, florist, general_merchandise, gift_card, charity, subscription, other), open_now.
Sampled 14 Oct 2026: 30 items. Filled in every item: id, slug, name, address, country, currency, product_line, short_description and 12 more. In the sample: estimate_range: 20-30 (12), 25-35 (7), 15-25 (6) and 2 more; price_range: 1 to 3, median 2; name: “Kotipizza Kamppi” and 29 other values; image_url: imageproxy.wolt.com; online: true in 30 of 30; tags: median 3 entries; short_description: “Kuuma, kuumempi, Kotipizza” and 28 other values; rating_score: 8 to 9.4, median 8.8.
Open in Playground
GET/wolt/search/filtersapiKey2 credits/request
Returns the current, location-scoped catalog of every value /wolt/search's category parameter accepts, each with a live restaurant count when Wolt's own homepage currently features that category as one of its curated tiles -- the same data Wolt's own search page's cuisine tiles are populated from.
Required: latitude, longitude.
Sampled 14 Oct 2026: 71 items. Filled in every item: id, name. Not in every item: count (24). In the sample: count: 18 to 277, median 118; name: “Salad” and 70 other values.
Open in Playground