# Monitor Lieferando Menu Prices in Berlin

**Use case:** 

Track Berlin restaurant menus on Lieferando by postcode, including dish prices, categories, delivery fees, minimum orders, and changes across runs.

## Input

```json
{
  "postalCodes": [
    "10115"
  ],
  "maxRestaurantsPerPostalCode": 2,
  "includeMenus": true,
  "trackPriceHistory": true,
  "generateAnalytics": true,
  "maxConcurrency": 3,
  "maxRequestRetries": 3,
  "qualityThresholds": {
    "maxFailedRequestRate": 0.2,
    "maxRetryRate": 0.5,
    "maxNullPriceRate": 0.05,
    "minCuisineCoverage": 0.8,
    "minMenuItemsPerRestaurant": 5
  },
  "customProductAliases": {},
  "failOnQualityIssues": false,
  "sendSuccessWebhook": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}
```

## Output

```json
{
  "recordType": {
    "label": "Record type",
    "format": "string"
  },
  "observedAt": {
    "label": "Observed at",
    "format": "string"
  },
  "searchPostalCode": {
    "label": "Search postal code",
    "format": "string"
  },
  "chainName": {
    "label": "Chain name",
    "format": "string"
  },
  "restaurantName": {
    "label": "Restaurant name",
    "format": "string"
  },
  "restaurantUrl": {
    "label": "Restaurant URL",
    "format": "string"
  },
  "deliveryTimeMin": {
    "label": "Minimum delivery time",
    "format": "number"
  },
  "deliveryTimeMax": {
    "label": "Maximum delivery time",
    "format": "number"
  },
  "deliveryFee": {
    "label": "Delivery fee",
    "format": "number"
  },
  "minimumOrder": {
    "label": "Minimum order",
    "format": "number"
  },
  "category": {
    "label": "Menu category",
    "format": "string"
  },
  "productName": {
    "label": "Product name",
    "format": "string"
  },
  "canonicalName": {
    "label": "Canonical product name",
    "format": "string"
  },
  "comparableProductId": {
    "label": "Comparable product ID",
    "format": "string"
  },
  "normalizationVersion": {
    "label": "Normalization version",
    "format": "string"
  },
  "price": {
    "label": "Product price",
    "format": "number"
  },
  "isAvailable": {
    "label": "Available",
    "format": "boolean"
  },
  "priceChange90d": {
    "label": "90-day price change",
    "format": "number"
  },
  "priceChangePercent90d": {
    "label": "90-day price change percent",
    "format": "number"
  },
  "postalCodeCount": {
    "label": "Comparable postal codes",
    "format": "number"
  },
  "priceSpread": {
    "label": "Price spread",
    "format": "number"
  },
  "priceSpreadPercent": {
    "label": "Price spread percent",
    "format": "number"
  },
  "menuInflation90d": {
    "label": "Menu inflation 90d",
    "format": "number"
  },
  "retryRate": {
    "label": "Recovered retry rate",
    "format": "number"
  },
  "status": {
    "label": "Run status",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Lieferando Menu Scraper - Restaurant Menus, Prices & Delivery](https://apify.com/kamerozkan/german-delivery-menu-price-intelligence) with a specific input configuration. Visit the [Actor detail page](https://apify.com/kamerozkan/german-delivery-menu-price-intelligence) to learn more, explore other use cases, and run it yourself.