Wolt API

Every Wolt venue, menu and grocery shelf for a delivery point

The Wolt API reads Wolt's public catalogue in seven actions.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Wolt endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
W
/wolt/v1

7 active endpoints, on 2 and 3 credit tiers.

  • POST/wolt/v1/venues
  • POST/wolt/v1/search
  • POST/wolt/v1/venue
  • POST/wolt/v1/menu
  • POST/wolt/v1/venue_search
  • POST/wolt/v1/items
  • POST/wolt/v1/cities

What Wolt endpoints does ReefAPI ship?

7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

7 endpoints

venues

3 cr

Every venue Wolt lists for a delivery point.

required
—
optional
lat, lon, city, country, type, product_line, category, price_range, open_now, sort, page, limit

search

3 cr

Wolt's own search for a delivery point.

required
query
optional
lat, lon, city, country, target, product_line, sort, language

venue

2 cr

One venue's record.

required
venue
optional
lat, lon, language

menu

3 cr

A venue's menu or product catalogue.

required
venue
optional
category, page_token, language

venue_search

3 cr

Search inside one venue's catalogue (the search box on a Wolt Market or supermarket page).

required
venue, query
optional
language

items

2 cr

Read products/dishes of one venue by item id.

required
venue, item_ids
optional
language

cities

3 cr

Every city Wolt operates in, with Wolt's city slug, country and centre coordinates.

required
—
optional
country

Every parameter, every allowed value →

Wolt API

4 of 7 endpoints, ready to run

View docs ↗

Restaurants or shops that deliver to a point, with delivery fee, time, rating and open now.

3 credits0 required · 4 optional
POST/wolt/v1/venues
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Wolt API works

Wolt is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 585 engines.

02
Call
POST /wolt/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Compare grocery prices around one address

Three calls from a point on the map to every shop's price for a product.

01venues?lat=60.1699&lon=24.9384&type=retail&product_line=grocery&sort=distance
POSTvenues?lat=60.1699&lon=24.9384&type=retail&product_line=grocery&sort=distance

The 144 grocery shops Wolt lists for central Helsinki, nearest first, Wolt Market stores flagged.

02search?query=milk&lat=60.1699&lon=24.9384&product_line=grocery
POSTsearch?query=milk&lat=60.1699&lon=24.9384&product_line=grocery

200 milk products across those shops, each with price, shop, delivery fee as listed and delivery time.

03items?venue=wolt-market-kamppi&item_ids=4660b15711616001d9a48b39
POSTitems?venue=wolt-market-kamppi&item_ids=4660b15711616001d9a48b39

The full product row from the shop itself: 2.55 EUR, 6.38 EUR per kg, barcode, 26 in stock.

Shop-by-shop prices for the same product, from Wolt's own catalogue, with the location they apply to.

request
curl -X POST https://api.reefapi.com/wolt/v1/venues \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"lat":60.1699,"lon":24.9384,"type":"retail","product_line":"grocery"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "wolt",
    "endpoint": "venues",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

The delivery fee Wolt lists is the new-visitor offer, not the base fee

Before you build a delivery-fee comparison on Wolt, know which fee you are reading. Measured on 2026-10-18.

What was comparedVenue list (venues, search)Venue record (venue)
Wolt Market Kamppi, Helsinki0.00 EUR with a "0 € delivery fee" promotionbase delivery 1.49 EUR, order minimum 18.00 EUR
Helsinki restaurants listed1 076 venues, every priced one at 0.00 EURbase fee differs per venue
Budapest shops344 of 368 at 0 HUFbase delivery 349 HUF on the venues checked
Rating count, Wolt Market Kamppi7 093 in the venue list, 0 in search500 in the venue record

delivery_fee_listed is published together with the promotions behind it; delivery_base_fee comes from venue. Neither is what a signed-in returning customer pays at checkout.

What Wolt publishes without an account — measured 2026-10-18

Live calls across 12 countries. The lines that go against us are here too.

Countries / cities

30 countries, 965 cities (cities action)

Live calls

34 of 34 succeeded (venues, search, venue, menu, venue_search, items, cities)

Search results read back by id

30 of 43 same price; 13 no longer sold by the shop (returned as not_returned)

Product fields filled (1 031 products, 6 shops)

price 1 031 · stock 977 · barcode 782

Venue list

every venue Wolt lists for the point (Helsinki: 1 076 restaurants, 328 shops), 1-100 per page

Search ceiling

Wolt returns at most 200 products or 100 venues per search, no further pages

Delivery fee

listed fee includes the new-visitor promotion; base fee from venue; checkout fee not published

Not published

review texts, a signed-in customer's own delivery fee, address-to-coordinates lookup

What people build with Wolt

The jobs this data is most often used for.

7

endpoints

2/3

credits per call

01

Grocery price trackers compare the same product across Wolt Market and the supermarkets on Wolt in one search call per city.

02

FMCG brands monitor their shelf price, discount depth, stock and barcode coverage in Wolt Market catalogues across countries.

03

Delivery market analysts map which restaurants and shops deliver to a point, with delivery time, rating and price level.

04

Restaurant groups benchmark menus and option pricing against competitors on Wolt.

What Wolt data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 585 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/wolt/v1/venues \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"lat":60.1699,"lon":24.9384,"type":"retail","product_line":"grocery"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/wolt/v1/venues",
    headers={"x-api-key": REEF_KEY},
    json={
  "lat": 60.1699,
  "lon": 24.9384,
  "type": "retail",
  "product_line": "grocery"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Wolt.

Get a free key →
Do I have to give a location?▾

Yes, for venues and search. Pass lat and lon of the delivery point, or a Wolt city slug such as helsinki, berlin, warsaw, tel-aviv or almaty, which is resolved to Wolt's own city centre. The point used is echoed in every response under location, together with whether Wolt serves it. There is no hidden default location.

Which countries are covered?▾

Every country Wolt operates in: 965 cities in 30 countries on 2026-10-18, including Finland, Sweden, Norway, Denmark, Estonia, Latvia, Lithuania, Poland, Czechia, Slovakia, Hungary, Germany, Austria, Greece, Cyprus, Malta, Croatia, Slovenia, Serbia, Romania, Bulgaria, Israel, Kazakhstan, Azerbaijan, Georgia, Iceland and Luxembourg. The cities action lists them. A point Wolt does not serve returns no venues and served: false.

How do I get Wolt Market prices?▾

Call venues with type=retail and product_line=grocery to find the Wolt Market stores near a point (is_wolt_market marks them), then menu with that venue: grocery catalogues load by category, so the first call returns the category tree and the next call with a category slug returns its products. venue_search finds products in that store by keyword in one call, 200 rows for coffee at Wolt Market Kamppi.

What does a product row contain?▾

item_id, name, description, price, original_price and discount_pct when discounted, the discount period when Wolt publishes it, lowest_price_30d, unit_info such as 400 g, unit price and its unit, gtin, stock, available, sold-by-weight details, deposit, VAT rate, dietary tags, images and the categories it sits in. On 2026-10-18, across 1 031 products in six shops, price was filled on 1 031, barcode on 782 and stock on 977; one Czech supermarket published no barcodes.

Is lowest_price_30d the price before the discount?▾

No. It is the lowest price Wolt shows for the previous 30 days under EU price-indication rules, and it can be higher than today's price: a 400 g bag of domestic apples cost 2.55 EUR with a 30-day lowest of 2.80 EUR. The struck-through price, when there is one, is original_price.

Why does items return some ids under not_returned?▾

Because the venue does not sell them right now. Wolt's search across venues can list a product a shop has since stopped selling: of 43 search results read back by id on 2026-10-18, 30 came back with the same price and 13 were no longer sold by that shop, which the shop's own catalogue confirmed. The rest of the ids are returned normally.

Are prices in euros?▾

In the venue's own currency: EUR, SEK, NOK, DKK, PLN, CZK, HUF, ILS, KZT, RSD, ISK and the others Wolt uses, with currency on every row. Amounts are decimals in that currency; Icelandic krona has no minor unit and is returned as whole kronur.

How are restaurant menus returned?▾

In full in one call: every dish with price, description, images and its option groups (size, extras, sauces) with each choice's price and how many choices are allowed. category narrows the menu to one section.

What is the Wolt API?▾

Wolt API is a ReefAPI endpoint group for restaurants, wolt market and shops that deliver to any point in 30 countries, with menus and grocery catalogues: price, discount, unit price, barcode and live stock. It returns live JSON through POST requests under /wolt/v1.

Is the Wolt API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Wolt calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Wolt login or account?▾

No login to Wolt is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Wolt data?▾

The page example is captured from a live venues call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Wolt API use?▾

Wolt actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Wolt from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call wolt actions with the same key, credit pool and JSON envelope used by normal REST requests.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 584 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-18.