What you get backThirteen 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.
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.