Menu Guide

Use Wolt’s Menu API to fetch menu data, update item details (e.g., price, availability), and push real-time inventory updates — all without managing full menu structures.

Rate Limits

All limits are enforced per venue:

OperationLimit
Get Menu / Update  Items1 request per 15 minutes
Update Inventory1 request per 5 minutes

Exceeding rate limits may result in a 429 error (too many requests).


API Workflows

1. Create a Venue Menu

Use this to create a full menu structure, including categories, items, and options. This is useful for syncing your POS or ERP system’s menu to be the live menu on Wolt.

POST https://pos-integration-service.wolt.com/v1/restaurants/{{venue_id}}/menu

Authorization: Bearer {{access_token}}

Use this endpoint to:

  • Set a whole menu - categories, items, options (modifiers)

  • NOTE: this sets your menu on Wolt and controls the data used in multiple Wolt systems. identifiers used by your system (POS ID and\or SKUs\GTINs) must be unique to each item.

2. Fetch Venue Menu

Use this to retrieve the full menu structure, including categories, items, and options. This is useful for syncing your POS or ERP system with the live menu.

GET https://pos-integration-service.wolt.com/venues/{{venue_id}}/menu

Authorization: Bearer {{access_token}}

Use this endpoint to:

  • Get all active categories and items

  • Track item and option availability

  • Keep local copies of venue menus up to date

3. Update Menu Items

Use this to:

  • Change item pricing (including discounted prices)

  • Update item visibility

  • Mark items as temporarily unavailable

  • Update item’s image

PATCH https://pos-integration-service.wolt.com/venues/{{venue_id}}/menu/items

Authorization: Bearer {{access_token}}

Content-Type: application/json

Payload Example:

{

  "items": [

    {

      "id": "item_id_123",

      "price": 1090,

      "discount_price": 990,

      "is_available": true

    }

  ]

}

4. Update Inventory

Use this endpoint to dynamically update stock levels from your POS or ERP system.

PATCH https://pos-integration-service.wolt.com/venues/{{venue_id}}/menu/inventory

Authorization: Bearer {{access_token}}

Content-Type: application/json

Payload Example:

{

  "inventory": [

    {

      "item_id": "item_id_123",

      "is_in_stock": false

    }

  ]

}

Best used for time-sensitive updates to avoid overselling.

Best Practices

  • Respect rate limits to avoid request blocks.

  • Cache menus locally and only re-fetch if significant updates are expected.

  • Use inventory updates for frequent availability changes.

Use menu item updates for pricing and availability adjustments that don’t happen often.