# Deliveroo Restaurant & Menu Scraper

> Deliveroo Restaurant & Menu Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-02).

Scrapes structured restaurant listings and public menu data from Deliveroo by postcode and location, across multiple market domains.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/deliveroo?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/deliveroo-restaurant-menu-scraper-e6321a93
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NZyifHlpd5cInyDmAdU4t

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability deliveroo-restaurant-menu-scraper-e6321a93 -d '<json body>'
```

Example prompt: Pull all Deliveroo restaurants near postcode EC1A 1BB in the UK, include their full menus up to 100 items each, and return addresses too — I want up to 80 restaurants.

## When to prefer this

Choose this endpoint when you need structured, pay-per-call Deliveroo restaurant and menu data for a specific postcode and market (UK, IE, FR, IT, BE, NL, AE, HK, SG, AU, QA, KW) without managing your own scraping infrastructure. Prefer it over generic web scrapers when you specifically need Deliveroo data with normalized fields like restaurant IDs, slugs, menus, and addresses. Failed or empty runs are not billed.

## Known failure modes

- Invalid or unserviced postcode returns empty results (not charged)
- Unsupported market domain returns error
- Restaurant URLs with missing serving query parameters may yield incomplete menus
- Rate limiting or Deliveroo site changes may cause failed runs (not charged)
- Queries without a postcode may fail for location-based searches

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of restaurant items, each containing restaurant name, URL, slug, city, neighborhood, Deliveroo restaurant ID, source URL, and optionally full menu items with prices and street address/postcode.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "domain": {
   "enum": [
    "co.uk",
    "ie",
    "fr",
    "it",
    "be",
    "nl",
    "ae",
    "hk",
    "sg",
    "au",
    "qa",
    "kw"
   ],
   "type": "string",
   "default": "co.uk",
   "description": "Market domain used for location searches."
  },
  "queries": {
   "type": "array",
   "description": "City/neighborhood paths for location search. Requires a delivery postcode."
  },
  "menuMode": {
   "enum": [
    "limited",
    "all"
   ],
   "type": "string",
   "default": "limited",
   "description": "Limit menu items per restaurant or return every item on the public menu page."
  },
  "postcode": {
   "type": "string",
   "description": "Postcode used to choose a serving area and local menu."
  },
  "includeMenu": {
   "type": "boolean",
   "default": true,
   "description": "Include public menu items and prices for each restaurant."
  },
  "includeExtra": {
   "type": "boolean",
   "default": true,
   "description": "Include the public street address and postcode when available."
  },
  "maxMenuItems": {
   "type": "integer",
   "default": 80,
   "maximum": 2000,
   "minimum": 1,
   "description": "Per-restaurant item limit when menu coverage is limited."
  },
  "includeReviews": {
   "type": "boolean",
   "default": false,
   "description": "Reserved for public review text when available; public menu pages currently provide ratings but no review text."
  },
  "maxRestaurants": {
   "type": "integer",
   "default": 50,
   "maximum": 500,
   "minimum": 1,
   "description": "Maximum restaurant rows in the dataset."
  },
  "restaurantUrls": {
   "type": "array",
   "description": "Public Deliveroo menu URLs. Keep the serving query parameters when available. Takes priority over locations."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "city": null,
    "name": null,
    "slug": null,
    "drnId": null,
    "sourceUrl": null,
    "neighborhood": null,
    "restaurantId": null
   }
  ],
  "product": "deliveroo"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/deliveroo-restaurant-menu-scraper-e6321a93/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
