Deliveroo Scraper

Every restaurant on a Deliveroo page,
as rows.

Paste a Deliveroo search or restaurant-list URL and get every restaurant on it back as rows: the name, its cuisines, the rating and review count, the price range, a split address, the phone number, and links to the page and the image. Point it at a single restaurant instead and you get that one row.

one-time 500 free rows$0.002 per row after13 columnsCSV · XLSX · JSON
How it works

A whole listing page,
or one restaurant.

Build the search on Deliveroo the way you normally would - a city, a cuisine, a postcode - then hand us the address from the bar.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the Deliveroo Scraper.
  3. STEP 3Paste Deliveroo search or restaurant URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query, or leave it at zero to take everything.
  5. STEP 5Choose your output format.
  6. STEP 6Click Get Data.

One row per restaurant, tagged with the query it came from. Deliveroo sits behind Cloudflare, so live runs need a residential proxy.

Why teams use it

A delivery market
you can actually see.

One URL, every restaurant on it

A restaurant-list or search URL fans out to all the restaurants listed on it, not just the first. That is the difference between reading a market and reading a page - and it is the same run either way.

The address arrives split

Street, city, postcode and country come as four columns rather than one line to parse. That is what makes a postcode-level view of who delivers where a sort rather than a regex.

Cuisine and price range as their own fields

The two things you would otherwise eyeball across a hundred cards - what a restaurant cooks and roughly what it costs - arrive as columns you can group by.

What you get back

Thirteen columns,
named and nothing more.

What a Deliveroo listing carries about a restaurant: who it is, what it cooks, how it scores, where it is and how to reach it.

Two things we would rather state than let you assume. The first: the table below names the thirteen columns and says what each field is for - and it stops there. It does not tell you what scale rating uses, what vocabulary price_range uses, or whether cuisines holds one value or several. Those are answers a populated export gives, and every run export we hold came back with a header row and no data rows.

One structural point is worth making, because it is verifiable and it matters: this export carries no companion scale column for rating. Our reviews export does - it ships max_rating next to the score - but this one does not, which means the scale cannot be recovered from the file itself. That is a reason to check it against a real run rather than to assume, and it is why this page prints no number.

The second: Deliveroo sits behind Cloudflare. Live results need a residential proxy, and that is why the exports we hold are empty rather than because the column set is uncertain - the column set is corroborated twice over. Run a small free-tier job against a search you care about; the header row and first few rows of that file are the definitive answer.

Data dictionary

Thirteen columns,
in export order.

The export's header row, in order. Descriptions say what each field is for; they deliberately claim nothing about its format, scale or vocabulary - see the note above.

query
The Deliveroo URL you submitted, repeated on every row that came from it. A search URL produces many rows; a single restaurant URL produces one.
name
The restaurant name, as Deliveroo lists it.
cuisines
The cuisine tags Deliveroo files the restaurant under. We have not seen this field populated, so do not assume whether it holds one value or several, or how several would be joined.
rating
The restaurant's score. There is no companion scale column in this export - unlike our Deliveroo reviews export, which ships max_rating - so confirm the scale against a real run before you compare these against another platform.
reviews
The review figure Deliveroo shows against the restaurant.
price_range
Deliveroo's price band for the restaurant. We have not seen its vocabulary in a populated export, so do not code against a fixed set of values.
address
The street line of the restaurant's address.
city
The city or town.
postcode
The postal code.
country
The country the restaurant is listed in.
phone
The contact number on the listing.
url
Link to the restaurant on Deliveroo. This is also accepted as input, so a search run gives you the URLs to pull individual restaurants later.
image
The restaurant's image, on Deliveroo's CDN.

The names are solid; the contents are not yet. The thirteen columns above and their order are corroborated by two independent sources - the XLSX header row of four separate run exports and the published column array - so build your schema around those names with confidence. What this page will not tell you is what the cells hold: every export we hold is a header with no rows beneath it. Note the one structural gap: there is no max_rating here the way there is in the reviews export, so the rating's scale is not recoverable from the file and needs confirming against a real run. And Deliveroo sits behind Cloudflare, so a live run needs a residential proxy - that is the reason those exports are empty, not any doubt about the column set.

What it accepts

A whole search,
or a single restaurant.

Point it at a restaurant-list or search page to take every restaurant on it, or at one restaurant when you already know which. Both come back in the same thirteen columns, one row per restaurant.

deliveroo.co.uk/restaurants/… deliveroo.co.uk/menu/… Paste one per line CSV upload XLSX upload TXT upload Parquet upload Limit per query One row per restaurant
Common workflows

Three jobs people
most often run here.

A few examples of what a delivery listing is worth once it is a table rather than an infinite scroll.

Market mapping

See who actually delivers in a postcode

Take the restaurant-list URL for an area and every restaurant on it comes back as a row, with the address already split. Counting the competition in a delivery radius stops being a scrolling exercise and becomes a group-by.

Expansion · Market research
Category analysis

Find the gap in a cuisine

Group the rows by cuisine and price band and you can see which combination an area is short of. That is a question about the whole listing, which is exactly the thing a page of cards will not answer.

Strategy · Positioning
Lead building

Build a contactable list of restaurants

Name, split address and phone number arrive as their own columns, so a search becomes a call list. If you sell to restaurants - packaging, POS, ingredients - this is the shape you actually want.

Sales · Prospecting
Pricing

Pay only for the restaurants
you actually pull.

No subscription, no minimum, no recurring bill. Your first 500 rows are on us - after that, pay-as-you-go at the same flat rate as every other scraper here.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Per-query limits, file upload and every export format included.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 restaurants. The pre-flight estimator shows the row count and credit cost before a run starts - no surprise bills, no compute units to translate.

Most popular
Volume

Custom · high volume

Volume pricing, dedicated workers and an SLA for mapping many areas on a schedule. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The restaurants,
and what people said about them.

This one gives you the list. These three tell you how each name on it is doing.

The legal bit

Is it legal to scrape
Deliveroo?

Short answer: these listings are public business information - which makes this one of the more straightforward pages on the site.

Everything collected here is shown on a public Deliveroo page to any visitor, signed in or not: the restaurant name, its cuisines, the rating and review figure, the price band, the address, the phone number and the image. No login, no paywall, nothing behind an account.

This export is about businesses, not people. There are no reviewer names, no review text, no customer details and no columns for any of them - the restaurant's phone number and address are the contact details it publishes precisely so customers can use them. That makes this materially lighter on data-protection obligations than our reviews export, which does carry reviewer names. If you load these rows into a CRM for outreach, ordinary marketing rules still apply, but you are not handling review authors' personal data here.

One practical note that is technical rather than legal: Deliveroo sits behind Cloudflare, so live results need a residential proxy. And as always, Deliveroo's own terms govern automated collection from their site - read them before you scale rather than relying on the fact that the pages are public. We run no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Public listing pages only
No logins, no accounts touched
Business details, not customer data
Exports auto-delete (30 days)
Cloudflare - a residential proxy is needed!
Check Deliveroo's own terms before scaling.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

How do I scrape Deliveroo?+
Using the Deliveroo Scraper: Sign in to the platform. Open the Deliveroo Scraper. Paste Deliveroo search or restaurant URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file. Set a limit per query, or leave it at zero to take everything. Choose your output format. Click Get Data.
What can I use as input?+
Two kinds of URL, and the difference decides how many rows you get. A restaurant-list or search URL returns every restaurant listed on it. A single restaurant or menu URL returns just that one. Paste them one per line or upload a CSV, XLSX, TXT or Parquet file - you can mix both kinds in the same run.
Do I need a residential proxy?+
For live results, yes. Deliveroo sits behind Cloudflare, which is why this is called out on the page rather than left for you to discover. The run goes through our proxy pool and never your real IP, but a residential exit is what gets you past the challenge reliably. If you do not have one, this is worth sorting before you sign up rather than after.
Is this the same as the Deliveroo Reviews Scraper?+
No - different service and a different export. This one returns one row per restaurant with thirteen columns describing the business: name, cuisines, rating, review figure, price range, address, phone and links. The reviews scraper returns one row per review, with the author, the score, the text and the date. A common pattern is to run this first to get the restaurant URLs, then feed those into the reviews scraper.
What is the rating out of?+
This export does not tell you, and that is worth knowing before you compare these numbers against another platform. Our Deliveroo reviews export ships a max_rating column next to the score for exactly this reason, but this listing export has no equivalent column - so the scale is not recoverable from the file. Take a small free-tier run and check it against the live page before you normalise anything.
Why does the data dictionary not say what the fields contain?+
Because we have not seen a populated export. The thirteen column names and their order are corroborated by two independent sources - the header row of our run exports and the published column array - so we publish those with confidence. The formats and vocabularies are a different question, and every export we hold came back empty because Deliveroo's Cloudflare challenge needs a residential proxy. Take a small free-tier run and the file will tell you.
Does it return the menu or the prices of dishes?+
No. The export describes the restaurant as the listing presents it - including a price_range band for the restaurant as a whole - but there is no dish, no menu item and no individual price anywhere in it, and no column for one.
How much does it cost?+
The first 500 rows are free and one-time, with no credit card. After that it is $0.002 per row - about $2 per 1,000 restaurants - which is the same flat rate as every other scraper on the platform. The estimator shows the cost of a run before it starts. A residential proxy, if you need one, is separate.

Turn a delivery listing
into a table you can sort.

Your first 500 rows are free - no card, no subscription. After that it is $0.002 per row, flat.

Activates instantly · no card required

Scrape Deliveroo restaurants

A Deliveroo listing page is a market in a scroll: every restaurant that delivers to an area, with its cuisines, its rating, its price band and its address, shown a card at a time. The Deliveroo Scraper turns that page into rows. You submit a restaurant-list or search URL and every restaurant on it comes back as a record - or point it at a single restaurant and get that one row. Thirteen columns either way, one row per restaurant, with the address already split into street, city, postcode and country.

The two input modes are the thing worth understanding before your first run, because they decide what a run costs. A search URL fans out to the whole listing; a single restaurant URL returns one row. You can mix both in the same job, and because billing is per row, mapping one postcode is cheap enough to do before you commit to mapping a city. The url column that comes back is itself valid input, so a search run hands you the addresses you need to go deeper on individual restaurants later.

Two honest notes before you start. Deliveroo sits behind Cloudflare, so live results need a residential proxy; that is stated up front rather than left to be discovered. And this page's data dictionary names the thirteen columns and says what each is for, but claims nothing about their formats or vocabularies, because every run export we hold came back as a header row with no data rows. One structural point is verifiable and stated: there is no companion scale column for rating in this export, unlike our Deliveroo reviews export which ships max_rating - so the scale cannot be recovered from the file and should be confirmed against a real run.

Take a small free-tier run against a search you care about and the header row and first few rows are the definitive answer for the area you are actually mapping. Your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat.