{
  "openapi": "3.0.1",
  "info": {
    "title": "Deliveroo Scraper",
    "description": "Scrape Deliveroo restaurants and shops by area, keyword search or URL in 7 countries: rating, review count, delivery fee, ETA, price band, offers and GPS, with optional full menus and customer reviews. Fast, no browser or proxy. Pay only for results.",
    "version": "1.0",
    "x-build-id": "MXUSYDl4lrBxnj5jB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axlymxp~deliveroo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axlymxp-deliveroo-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/axlymxp~deliveroo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axlymxp-deliveroo-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/axlymxp~deliveroo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axlymxp-deliveroo-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Deliveroo URLs",
            "type": "array",
            "description": "Area pages (e.g. https://deliveroo.co.uk/restaurants/london/soho) return every restaurant and shop that delivers there. Restaurant pages (https://deliveroo.co.uk/menu/<city>/<area>/<name>) return that one restaurant. Any supported market: deliveroo.co.uk, .ie, .fr, .it, .be, .ae, .com.kw.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Optional. Search like the Deliveroo app's search box: dishes, cuisines or restaurant names (e.g. 'sushi', 'vegan burger', 'Wagamama'). Each keyword is searched in every location (below) or, if no locations are given, in every area URL above. Returns up to ~50 best matches per keyword and location, with the matching dishes.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional. Where to search or which areas to list: an area URL, 'city/area' slugs as in Deliveroo URLs (e.g. 'london/soho', 'bristol/clifton'), or 'latitude,longitude' (e.g. '51.5136,-0.1365'). Slugs and coordinates use the Market setting below.",
            "items": {
              "type": "string"
            }
          },
          "market": {
            "title": "Market",
            "enum": [
              "uk",
              "ie",
              "fr",
              "it",
              "be",
              "ae",
              "kw"
            ],
            "type": "string",
            "description": "Country for 'city/area' and coordinate locations. Deliveroo URLs carry their own market.",
            "default": "uk"
          },
          "includeMenu": {
            "title": "Include full menu",
            "type": "boolean",
            "description": "Add every menu item (name, description, price, category, calories, dietary tags, availability, popularity, image) and the restaurant's street address to each row. Billed as an extra 'Full menu' event per restaurant.",
            "default": false
          },
          "maxMenuItemsPerRestaurant": {
            "title": "Max menu items per restaurant",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on menu items stored per restaurant row when the full menu is included (supermarkets can list 8,000+ products). 0 = no cap. For complete catalogues, one row per product, use the Deliveroo Menu Items Scraper.",
            "default": 500
          },
          "maxReviewsPerRestaurant": {
            "title": "Reviews per restaurant",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Add up to this many customer reviews (star rating, comment, tags, date) to each row. 0 = no reviews. Billed as an extra 'Reviews' event per restaurant that has reviews.",
            "default": 0
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "newest",
              "oldest",
              "highest_rated",
              "lowest_rated"
            ],
            "type": "string",
            "description": "Which reviews to take first.",
            "default": "newest"
          },
          "onlyAvailable": {
            "title": "Only orderable restaurants",
            "type": "boolean",
            "description": "Skip branches that are not taking orders right now or for a scheduled slot (Deliveroo status UNAVAILABLE).",
            "default": false
          },
          "fulfillmentMethod": {
            "title": "Delivery or pickup",
            "enum": [
              "DELIVERY",
              "COLLECTION"
            ],
            "type": "string",
            "description": "Area feeds for delivery or for collection (pickup).",
            "default": "DELIVERY"
          },
          "maxItems": {
            "title": "Max restaurants",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many restaurant rows in total (duplicates across inputs are removed).",
            "default": 100
          },
          "maxItemsPerSource": {
            "title": "Max restaurants per area or search",
            "minimum": 0,
            "type": "integer",
            "description": "Optional cap per area, keyword search or batch of URLs, so several inputs share the total. 0 = no cap.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed: Deliveroo's API works without a proxy. Only set this if you see repeated errors.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}