Deliveroo Scraper | Menus Restaurants Markets avatar

Deliveroo Scraper | Menus Restaurants Markets

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Deliveroo Scraper | Menus Restaurants Markets

Deliveroo Scraper | Menus Restaurants Markets

Scrape Deliveroo restaurant feeds (geohash), full menus, and city/cuisine/brand SEO pages across 11 markets (UK, IE, FR, BE, IT, ES, NL, AE, KW, SG, HK). Extract drnId, titles, prices, ETA, /menu/ permalinks. Export Excel/CSV/JSON. Unofficial — not affiliated with Deliveroo.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

4

Monthly active users

13 hours ago

Last modified

Share

Deliveroo Scraper | Restaurants, Menus & City/Cuisine Pages

Scrape Deliveroo restaurant listings (geohash feed), full menus, and city/cuisine/brand SEO pages — then download structured food-delivery data as Excel, CSV, or JSON.

Use this Actor as a practical Deliveroo data API for multi-market restaurant discovery, cuisine research, menu monitoring, and delivery-market tracking. Pick a market and mode, then get Dataset rows with drnId, titles, prices, ETA, cuisine slugs, and /menu/ permalinks.

  • Cover 11 Deliveroo markets: UK, Ireland, France, Belgium, Italy, Spain, Netherlands, UAE, Kuwait, Singapore, Hong Kong
  • Modes: restaurants (addressized geohash feed), menu, cities, cuisines, brands, zones, startUrls
  • Extract drnId, titles, menu prices (priceFormatted / fractional), ETA/distance when present, /menu/ permalinks
  • Short cuisine inputs (e.g. burger) resolve to live SEO slugs (e.g. burgers-takeaway)
  • Feed continuation via consumer GraphQL when SSR rows are short of maxResults
  • Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or the Apify API
  • Pay per event — Actor start + each Dataset result; platform usage is included (you do not pay separate Apify compute on top)

Unofficial tool. This Actor is not affiliated with, endorsed by, or sponsored by Deliveroo. It collects publicly reachable listing and menu surfaces and does not place orders, checkout, or access private Deliveroo accounts.


What does the Deliveroo Scraper do?

Deliveroo Scraper lets you extract structured restaurant and menu data from Deliveroo without operating your own anti-bot browser fleet. Give it a market (uk, fr, ae, …) and a mode (for example restaurants, menu, or cuisines), then start a run.

Under the hood, the Actor:

  1. Validates your input (mode, market, city, neighborhood, geohash, cuisine, URLs)
  2. Enforces free-tier caps when you are on a free Apify plan
  3. Collects public Deliveroo surfaces through a managed scrape backend with residential egress
  4. Normalizes restaurant / menu-item / SEO seed rows into a clean Dataset
  5. Writes INPUT_ECHO, RUN_SUMMARY (and ERROR_SUMMARY on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.


What Deliveroo data can I extract?

DataRestaurants feedMenuCitiesCuisinesBrands / zones
drnId / uuid
title / name
/menu/ URL
ETA / offer / rating text
priceFormatted / priceFractional✅ items
categories / cuisineSlug
city / neighborhood / uname

Why scrape Deliveroo?

Deliveroo is a major food-delivery marketplace across Europe, the Middle East, and Asia. Teams scrape Deliveroo for competitor menus, cuisine density, price monitoring, and market research:

  • Monitor geohash restaurant feeds near a delivery address (city + neighborhood + geohash)
  • Pull full menus with item prices and categories
  • Seed research from city / cuisine / brand / zone SEO pages
  • Compare markets (London vs Paris vs Dubai vs Singapore) with the same field shape
  • Feed CRM, BI dashboards, Google Sheets, BigQuery, or AI agents with clean rows

Compared with Deliveroo Actors that only cover one country, menu URLs only, or generic HTML dumps, this Actor focuses on 11-market coverage with addressized feed, menu detail, cuisine SEO (including short-slug resolution), and startUrls in one input form.


More Actors like this

Need restaurant / local / travel data outside Deliveroo, or a different vertical? Use a dedicated Actor below for structured fields. Use this Actor for Deliveroo multi-market restaurants, menus, cities, and cuisines.

Similar food-delivery, local & travel scrapers

Prefer another specialized scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.

Jobs & Freelance

Real Estate

E-commerce

Social & Content

Ads Intelligence

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to scrape Deliveroo (no code required)

  1. Create a free Apify account
  2. Open Deliveroo Scraper
  3. Choose a mode: restaurants, menu, cities, cuisines, brands, zones, or startUrls
  4. Choose a market (default uk)
  5. Fill the fields for that mode (see table below)
  6. Click Start and download the Dataset as JSON, CSV, Excel, or JSONL

Start with maxResults: 5–15 to verify the query, then scale up.

ModeRequired inputs
restaurantscitySlug + neighborhoodSlug + geohash
menumenuUrl or citySlug + neighborhoodSlug + restaurantSlug
citiescitySlug
cuisinescuisineSlug + citySlug
brands / zonesbrandSlug / zoneSlug
startUrlsstartUrls[]

How much does it cost to scrape Deliveroo?

This Actor uses pay-per-event pricing. You are charged for:

EventPrice
Actor Start (apify-actor-start)$0.005 per start
Result (apify-default-dataset-item)$3.00 / 1,000 results ($0.003 each on FREE/BRONZE)

Platform usage costs are included — you do not pay separate Apify compute/proxy usage for this Actor on top of the event prices above (User pays platform usage costs = No).

Volume discount tiers (per result)

Tier$/1,000per result
FREE*$3.00$0.003
BRONZE$3.00$0.003
SILVER$2.60$0.0026
GOLD$2.20$0.0022
PLATINUM$2.00$0.002
DIAMOND$1.60$0.0016

*FREE matches BRONZE for this Actor.

Example cost estimates (FREE/BRONZE)

Results collectedApprox. event cost*
100~$0.31
1,000~$3.01
10,000~$30.01

*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free plan limits

On a free Apify plan, this Actor enforces developer limits of 10 runs and 200 results per run. Upgrade to a paid Apify plan for unlimited runs (event prices still apply).


Input examples

UK restaurants near Soho (geohash feed)

{
"mode": "restaurants",
"market": "uk",
"citySlug": "london",
"neighborhoodSlug": "soho",
"geohash": "gcpvj0",
"maxResults": 20
}

Cuisine SEO (short slug burgerburgers-takeaway)

{
"mode": "cuisines",
"market": "uk",
"cuisineSlug": "burger",
"citySlug": "london",
"maxResults": 15
}
{
"mode": "menu",
"market": "uk",
"menuUrl": "https://deliveroo.co.uk/menu/london/soho/cay-tre",
"includeMenuItems": true,
"maxResults": 50
}

France restaurants

{
"mode": "restaurants",
"market": "fr",
"citySlug": "paris",
"neighborhoodSlug": "le-marais",
"geohash": "u09tv0",
"maxResults": 15
}

startUrls

{
"mode": "startUrls",
"startUrls": [
"https://deliveroo.co.uk/cities/london/",
"https://deliveroo.co.uk/cuisines/vietnamese-takeaway/london"
],
"maxResults": 30
}

Output

Each Dataset item is a normalized Deliveroo row. Common fields:

FieldMeaning
itemTyperestaurant, menu_item, or SEO seed shape
drnId / uuidDeliveroo resource id when present
title / nameDisplay name
urlPermalink (usually /menu/…)
unameRestaurant slug
market / domain / sourceMarket host
priceFormatted / priceFractionalMenu item price
etaDelivery time text when present
cuisineSlug / cuisineSlugInputResolved vs original cuisine slug
scrapedAtISO timestamp

Preview columns are defined in .actor/dataset_schema.json (overview view).

Lead and contact fields

Every Dataset row includes the same lead keys, including menu-item rows that inherit the verified merchant context from their restaurant detail page.

FieldTypeDeliveroo meaning and source
phones[{value, type, e164?}]Merchant phone numbers. Empty on the opened UK guest restaurant and menu surfaces because no merchant phone or reveal control was present.
emails[{value, type}]Merchant email addresses. Empty on the opened UK guest surfaces because no merchant email or reveal control was present.
address{street, unit, locality, region, postalCode, country, full}Merchant address from a successfully opened menu detail. unit is the street number. The accepted UK sample is unit 67, street CHAPEL MARKET, locality London, postcode N1 9ER, country GB.
geo{lat, lng} or nullMerchant coordinates when the detail provides them. Delivery-location/feed coordinates are not relabeled as merchant coordinates.
person{name, role?} or nullA named merchant contact. No person was exposed on the opened UK guest surfaces.
org{name, id?} or nullThe restaurant or shop. The accepted detail sample exposes McDonald's - ISLINGTON with Deliveroo restaurant id 445581.
web{website, socials[]} or nullMerchant-owned website and social links only. Deliveroo platform support links and platform social accounts are excluded.
leadSourceenumWhere the merchant context came from: search, detail, entity, contact, or reveal-xhr. Successful menu enrichment uses detail.
leadRevealenumHow the lead was exposed: visible, click, xhr, gated, image, or absent. The accepted UK menu address and organization were already visible in page hydration.
leadAbsencesobject/mapPer-field reason for an empty value, using 本站无, 闸门锁, or 未验证 with surface context. This prevents an empty value from being presented as a verified lead.

Example lead context from the accepted UK menu detail:

{
"phones": [],
"emails": [],
"address": {
"street": "CHAPEL MARKET",
"unit": "67",
"locality": "London",
"region": null,
"postalCode": "N1 9ER",
"country": "GB",
"full": "67 CHAPEL MARKET, London, N19ER"
},
"geo": null,
"person": null,
"org": {
"name": "McDonald's - ISLINGTON",
"id": "445581"
},
"web": {
"website": null,
"socials": []
},
"leadSource": "detail",
"leadReveal": "visible",
"leadAbsences": {
"phones": "本站无(已打开详情面)",
"emails": "本站无(已打开详情面)",
"person": "本站无(已打开详情面)",
"web": "本站无(已打开详情面)",
"geo": "本站无(已打开详情面)"
}
}

Lead reveal cost

  • No phone/email click-to-reveal or reveal XHR was found on the opened UK guest surfaces, so the Actor does not perform a paid or interactive reveal.
  • enrichDetails defaults to true. Restaurant/search rows may follow their live /menu/ link once to obtain detail-level merchant address and organization data. It never invents a menu URL from an id or another market.
  • Detail enrichment adds page requests and can increase run time, proxy traffic, and exposure to site rate limits. It does not add a separate lead reveal charge; normal Actor start and Dataset-result event pricing applies.
  • Menu mode already starts on a detail surface. Menu-item rows reuse that restaurant context rather than opening the same detail once per item.

Honest lead limitations

  • Current lead verification is limited to the opened UK surfaces. Ireland, Belgium, Italy, Spain, the Netherlands, UAE, Kuwait, Singapore, Hong Kong, and most France business surfaces remain 未验证; UK results are not extrapolated to them.
  • On the opened UK guest restaurant/menu surfaces, merchant phone, email, named person, merchant website/socials, and merchant coordinates were not exposed. Empty values retain the matching leadAbsences reason.
  • UK list/search cards expose merchant organization identity but not a full door address. A door-level address is available only after a live menu detail is successfully enriched. A failed or untested detail is not labeled as a site-wide absence.
  • The France Paris URL shapes measured during research returned deterministic 404 pages. The Actor does not parse those error documents as business data or construct France menu URLs from UK templates.
  • Deliveroo support details and platform accounts such as deliveroo, deliveroo.uk, or deliveroo_fr are platform contacts, not merchant leads, and are never copied into web.socials.
  • City/cuisine/brand/zone pages can be taxonomy or seed rows without a merchant detail. The presence of a title or platform URL alone is not proof of a merchant contact.

Coverage matrix

MarketHost
ukdeliveroo.co.uk
iedeliveroo.ie
frdeliveroo.fr
bedeliveroo.be
itdeliveroo.it
esdeliveroo.es
nldeliveroo.nl
aedeliveroo.ae
kwdeliveroo.com.kw
sgdeliveroo.com.sg
hkdeliveroo.hk

Tips for better results

  • restaurants always needs a real delivery geohash for the addressized feed
  • Prefer live cuisine SEO slugs (vietnamese-takeaway, burgers-takeaway); short forms like burger / pizza are auto-resolved when possible
  • Use includeMenuItems: true on menu mode when you need item-level prices
  • Keep maxResults modest on first runs; raise it after you confirm the location/cuisine
  • SEO city/cuisine pages are seed surfaces — some markets return fewer /menu/ links than a geohash feed

FAQ

Is this an official Deliveroo API?

No. It is an unofficial scraper for publicly reachable Deliveroo pages. Not affiliated with Deliveroo.

Do I need to bring my own proxies?

No for normal use. Residential egress is handled by the managed scrape backend (WORKER_PROVIDES_PROXY=1).

Why do I need a geohash for restaurants mode?

Deliveroo’s addressized restaurant feed is keyed by delivery location. Without citySlug + neighborhoodSlug + geohash, the feed does not resolve to nearby partners.

Can I scrape grocery / alcohol verticals?

Grocery isomorphism is not separately validated. Use startUrls or cuisine SEO where those surfaces exist and validate with a small maxResults first.

What is written to the key-value store?

  • INPUT_ECHO — sanitized input (no internal backend URLs)
  • RUN_SUMMARY — counts, warnings, free-tier flags
  • ERROR_SUMMARY — only on failure

Integrations

Use Apify integrations / webhooks / API to push results into Google Sheets, Slack, Make, n8n, Zapier, BigQuery, or your own warehouse. Schedule daily/weekly runs for menu or competitor monitoring.

API start example:

curl "https://api.apify.com/v2/acts/lentic_clockss~deliveroo-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"restaurants","market":"uk","citySlug":"london","neighborhoodSlug":"soho","geohash":"gcpvj0","maxResults":10}'

Results:

GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json

Live-view Standby API

This Actor enables Apify Standby and ships .actor/openapi.json for Live-view:

  • GET / / GET /health — Actor readiness (no scrape)
  • GET /input-example — safe low-cost example input
  • GET /openapi.json — OpenAPI document
  • POST /search — optional Live-view preview (capped maxResults); persist production results with a normal Actor run

Full jobs should be launched as normal Apify Actor runs so Dataset rows plus INPUT_ECHO, RUN_SUMMARY, and ERROR_SUMMARY are persisted.


Runtime

SettingValue
Default memory1024 MB
Timeout default3600 s
StandbyEnabled (lightweight Live-view)
Free plan caps10 runs / 200 results per run

Keywords: Deliveroo scraper, Deliveroo API, Deliveroo restaurant scraper, Deliveroo menu scraper, Deliveroo UK scraper, Deliveroo France scraper, food delivery data, drnId, geohash feed, cuisine slug, pay per event


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss