Deliveroo Scraper — Menus, Prices, Ratings & Address
Pricing
from $5.00 / 1,000 restaurant scrapeds
Deliveroo Scraper — Menus, Prices, Ratings & Address
Deliveroo restaurants from menu URLs or city/neighborhood search. One row per store: name, rating, delivery time, address, and menu items with prices when includeMenu is on. UK, EU, UAE, Asia-Pacific markets.
Pricing
from $5.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn Deliveroo menu URLs — or a city/neighborhood + postcode search — into one restaurant row: name, rating, delivery time, street address, and menu items with prices.
UK, Ireland, France, Italy, Benelux, UAE, Qatar, Kuwait, Hong Kong, Singapore, Australia. One billed row per restaurant.
How it works

Why Use This Scraper?
- HTTP, not a $1.75 browser start. Menu URLs and listing pages come from
__NEXT_DATA__over Impit / scrape.do. - Menus with real prices.
£7.79lands as7.79plus the formatted string. Cap withmaxMenuItems, or setmenuModetoall. - URL mode or area search. Paste menu links, or
london/soho+W1D3QU. - Same optional flags as iFood.
includeMenu,includeExtra,includeReviews,menuMode. Extra / menu / reviews are billed only when those fields land. Public Deliveroo pages usually publish no review text.
Overview
Built for analysts and dark-kitchen operators who need public Deliveroo cards plus the catalog. Paste menu URLs (keep day / postcode / geohash / time) or search a neighborhood. Each restaurant becomes at most one dataset row.
Supported Inputs
| Input | Example | Returns |
|---|---|---|
| Menu URL | https://deliveroo.co.uk/menu/London/fitzrovia/mcdonalds-0028-oxford-street-1?day=today&postcode=W1D3QU&time=ASAP | That restaurant + menu |
| Location query | london/soho + postcode W1D3QU | Nearby restaurants |
Not supported: logged-in Plus prices, driver tracking, or order placement.
Use Cases
| You are a… | Use it to… |
|---|---|
| Market researcher | Density + ratings for a postcode |
| Chain analyst | Track item prices across cities |
| Dark-kitchen operator | See what already delivers to a street |
| Dietary app | Pull tags and descriptions when Deliveroo publishes them |
How It Works
- Resolve restaurants from menu URLs, or from
/restaurants/{city}/{neighborhood}?postcode=. - Parse
__NEXT_DATA__on the listing (cards) and/or the menu page (metas.root). - Merge rating/ETA from the card with address + items from the menu.
- Apply flags (
includeExtra/includeMenu/includeReviews/menuMode) and push one row. Extra, menu, and reviews fire only when those fields are present.
Input Configuration
| Field | Type | Description |
|---|---|---|
restaurantUrls | array | Menu URLs. Skips search when filled. |
queries | array | city/neighborhood pairs. Search mode only. |
domain | string | Market TLD for search (co.uk, fr, ae, …). |
postcode | string | Delivery postcode. |
maxRestaurants | integer | Cap on rows. Default 50. |
includeMenu | boolean | Menu items + prices. Default true. |
menuMode | string | limited (cap) or all. Default limited. |
maxMenuItems | integer | Cap per restaurant when menuMode is limited. Default 80. |
includeReviews | boolean | Customer reviews when the page publishes them. Default false. |
includeExtra | boolean | Street address + postcode. Default true. |
maxConcurrency | integer | Parallel fetches, 1–8. Default 4. |
One restaurant
{"restaurantUrls": ["https://deliveroo.co.uk/menu/London/fitzrovia/mcdonalds-0028-oxford-street-1?day=today&postcode=W1D3QU&time=ASAP"],"maxRestaurants": 1}
Neighborhood search
{"queries": ["london/soho"],"postcode": "W1D3QU","domain": "co.uk","includeMenu": true,"includeExtra": true,"includeReviews": false,"menuMode": "limited","maxRestaurants": 10}
Output Overview
The dataset holds one row per restaurant. Listing cards contribute rating, ETA, and distance. The menu page contributes address, menu[], and reviews[] when Deliveroo publishes them.
Output Samples
{"restaurantId": "445861","name": "McDonald's - Oxford Street 1","slug": "mcdonalds-0028-oxford-street-1","url": "https://deliveroo.co.uk/menu/london/fitzrovia/mcdonalds-0028-oxford-street-1","city": "london","neighborhood": "Fitzrovia","address": "8/10 Oxford Street, London, W1D1AW","currency": "GBP","rating": 4.5,"deliveryTime": "10 min","menu": [{"name": "Quarter Pounder® Deluxe","price": 7.79,"priceFormatted": "£7.79","category": "What's New","available": true}],"menuItemCount": 80,"reviews": []}
Key Output Fields
Identity: restaurantId, drnId, name, slug, url, sourceUrl
Commerce: rating, reviewsCount, deliveryTime, distance, deliveryFee, currency
Location: city, neighborhood, address, postcode, country
Menu: menu[], menuItemCount
Reviews: reviews[] (customerName, rating, comment, commentedAt) — usually empty on public pages
FAQ
Do I need a Deliveroo account? No. The actor reads public pages.
Why keep day / postcode / geohash? They pick which serving Deliveroo returns. A bare /menu/... path often 403s.
Are menu items billed one-by-one? No. One restaurant-menu event when menu[] is non-empty.
Are reviews billed one-by-one? No. One restaurant-reviews event per restaurant when reviews[] is non-empty. Public menu pages usually have no review text, so the array stays empty and the event is not charged.
What if a URL is dead? That restaurant is skipped and not billed. Zero successful rows fail the run.
Support
Open an issue on the Apify Store listing or email contact@data-slayer.com.
Additional Services
Need a scheduled postcode monitor or a merge with Uber Eats / iFood? Email the same address.
Explore More Scrapers
🤖 For AI Agents & LLM Apps
Compact reference for agents calling this actor via the Apify MCP server or the Apify API (memo23/deliveroo-scraper).
Purpose: Public Deliveroo restaurant records. URL mode or city/neighborhood + postcode search. One row per store, optional menu / extra / reviews.
Minimal input:
{"restaurantUrls": ["https://deliveroo.co.uk/menu/London/fitzrovia/mcdonalds-0028-oxford-street-1?day=today&postcode=W1D3QU&time=ASAP"],"maxRestaurants": 5}
Output: restaurantId, name, url, address, rating, deliveryTime, menu[{name, description, category, price, priceFormatted, imageUrl, available, popular, dietaryTags}], reviews[{customerName, rating, comment, commentedAt}], scrapedAt.
Behaviors an agent should know:
- Always set
maxRestaurants. Each written row is billed ($0.005). - Extra ($0.003) fires when
addressis present. Menu ($0.005) fires whenmenu[]is non-empty. Reviews ($0.003) fire whenreviews[]is non-empty. includeReviewsdefaults false.includeMenuandincludeExtradefault true.restaurantUrlswins overqueries.- Keep serving query params on menu URLs.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Deliveroo plc or its subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available Deliveroo pages — no authenticated endpoints or paid Plus pricing. Users are responsible for ensuring their use complies with Deliveroo's Terms of Service and applicable data-protection law (UK GDPR, GDPR, etc.).
SEO Keywords
deliveroo scraper, deliveroo menu scraper, deliveroo restaurant scraper, deliveroo prices, deliveroo uk, deliveroo dubai, food delivery intelligence, restaurant menu api, deliveroo postcode search, dark kitchen research