Deliveroo is the one food-delivery site in our catalogue where the browser earns its cost. On 28 September 2026 we fetched deliveroo.co.uk through residential exits in the United Kingdom, the United States, France and Italy. A plain HTTP client gets 200 OK and 195 words from every one of them; a rendered browser gets 2,247 words for 3,903,291 bytes. That is 11.5 times the words for 16.8 times the bytes, and it is the setting for Deliveroo proxies: residential, rendered, UK exit.
The search term has no answer, so we measured one
Type Deliveroo proxies into Google from the UK and autocomplete returns nothing. Type Deliveroo scraper and it offers "deliveroo facts". The first page for the head term is two proxy-vendor guides, a PDF of Deliveroo plc's AGM proxy form, a reviews scraper, the careers site and an engineering post about proxy metrics for OKRs. There is no People Also Ask block and no AI Overview. Nobody on that page weighs a response.
The better of the two vendor guides gets the architecture right: Cloudflare at the edge, PerimeterX scoring behind it, nine markets at the time DoorDash bought the company. What it never says is how many bytes a page costs or how many words each fetch mode returns. That is the number a buyer needs before choosing a plan, so this post is built around it.
One fact frames everything below. DoorDash completed its acquisition of Deliveroo on 2 October 2025, so the UK's largest delivery marketplace is now a subsidiary of the US one we measure in DoorDash proxies. The two sites behave in opposite ways, which is the point of measuring them separately.
Plain HTTP gets 195 words, from any country
We ran the audit on deliveroo.co.uk twice, once from a UK residential exit and once from a US one, with no Accept-Language header and no cookies.
| Fetch | Exit | Status | Bytes | Words | Seconds |
|---|---|---|---|---|---|
| Home, plain HTTP | United Kingdom | 200 | 232,708 | 195 | 10.4 |
| Home, plain HTTP | United States | 200 | 232,708 | 195 | 2.1 |
| Home, plain HTTP | France | 200 | 233,052 | 195 | 1.8 |
| Home, plain HTTP | Italy | 200 | 232,870 | 195 | 0.9 |
| Home, rendered | United Kingdom | 200 | 3,903,291 | 2,247 | 58.5 |
| Soho restaurant listing, plain HTTP | United Kingdom | 200 | 3,383,469 | 583 | 12.4 |
The plain response is small and honest. It carries the canonical, the meta description, a Website JSON-LD block and the h1 "Restaurants, takeaways, supermarkets and shops. Delivered." It also carries a server-timing header with an ssr entry of 22.7 milliseconds, which is Deliveroo telling you the shell was server-rendered and nothing else was. Two hundred kilobytes of HTML, 195 words.
The country column is the part we expected to vary and it did not. Deliveroo operates separate sites per market, but deliveroo.co.uk does not redirect a French or Italian or American exit anywhere. It serves the UK shell to everyone, byte-for-byte within 350 bytes. On bet365 the exit country cuts the page from 987 words to 149; on Deliveroo the exit does not move the number at all. What moves it is JavaScript.
The browser turns 195 words into 2,247
Rendered from the same UK exit, the homepage grew to 3,903,291 bytes and 2,247 words. The extra 2,052 words are the parts of the site a person actually uses: the city and cuisine navigation, the restaurant carousels, the grocery and pharmacy partners, the Deliveroo Plus block. None of it exists in the HTML; all of it arrives from Deliveroo's own API calls after the script runs.
That is a ratio of 11.5 in words and 16.8 in bytes, the largest useful gain from rendering in our catalogue after Trustpilot. On most sites we tell you to skip the browser because it costs more and returns the same or less. Deliveroo is the exception where the render is the product, and we say so with the numbers rather than the adjective.
The render is slow. Our browser waited 58.5 seconds for the page to settle, against 0.9 to 10.4 seconds for the plain fetch. If you are pricing a job, the time budget matters as much as the byte budget: a residential session that holds a postcode for a minute is a different pool shape from one that fires two hundred plain requests in that minute. Our note on how much proxy data you need does the sizing arithmetic.
Restaurant listings are server-rendered, and they tell you the rate limit
The homepage is a shell, but the listing pages are not. deliveroo.co.uk/restaurants/london/soho answered a plain HTTP client with 3,383,469 bytes and 583 extractable words: restaurant names, cuisines, delivery estimates, the Soho h1 and the meta description. The server-timing header this time shows ssr at 1,591 milliseconds, because the server built the whole list before sending it.
The same response carried a header we have not seen on any other target: x-roo-cf-rl: simulate_25_in_10_seconds. Read literally, Deliveroo's edge is evaluating a rule of 25 requests per 10 seconds per client in simulation mode. That is the platform stating its own tolerance. Stay under 2.5 requests per second per exit and you are inside the number the site itself wrote on the response. Rotate exits above that, and if you do meet a 429, our guide to 429 Too Many Requests covers the backoff.
So the honest fetch plan has two modes. Listings by area come over plain HTTP at 3.4 MB a page with no browser and 583 words of structure. The homepage, and any surface built from a postcode entered in the session, wants the render. A price-monitoring job that starts from area listings and only renders the storefronts it needs to re-check spends its bandwidth where the words are.
What robots.txt and the Terms of Use close off
deliveroo.co.uk/robots.txt is 717 bytes. It allows Twitterbot everything and gives the wildcard agent a short list: no /admin/, no /api/, no /account, no orders, no login or password paths, no /graphql and no /graphql/ under any locale, plus Noindex lines for login and tracking parameters. It ends with one sitemap, deliveroo.co.uk/en/sitemap-index.xml.
Two of those lines matter for a scraper. /api/ and /graphql are the endpoints the rendered page calls to fill the shell, and Deliveroo has told automated clients not to call them directly. Reading the rendered page is reading what the site serves a visitor; hitting the internal API with a script is what the file forbids. The sitemap, on the other hand, is an invitation to the public listing pages, and those are the ones that arrive server-rendered.
The Terms of Use for Website and Applications state that access is permitted on a temporary basis and that Deliveroo can withdraw or amend it without notice, and they carry an acceptable-use section that governs automated access. Where the terms are plain we are plain: rider accounts, promotion credits and consumer accounts are identity-bound and off the table, and no proxy changes that. For the public-data question, the UK position is covered in is web scraping legal in the UK.
The cost of a Deliveroo page on residential bandwidth
Every fetch in this post went through residential proxies on the Basic line at $0.80/GB. Counting a gigabyte as 10^9 bytes:
| Job | Bytes per request | Requests per GB | Cost per request |
|---|---|---|---|
| Homepage, plain HTTP (195 words) | 232,708 | 4,297 | $0.00019 |
| Homepage, rendered (2,247 words) | 3,903,291 | 256 | $0.00312 |
| Area listing, plain HTTP (583 words) | 3,383,469 | 295 | $0.00271 |
The trap is the first row. Four thousand plain homepage fetches cost under a dollar and return exactly nothing you can price a menu with. Budget by words returned, not bytes spent. At $0.00312 a rendered page, a thousand rendered storefronts is $3.12 of bandwidth, and the browser time is the larger cost.
Mobile exits at $2.30/GB would put the rendered page at $0.00898, 2.9 times more. Nothing in our fetches scored the network: every request from every exit returned 200 with the same shell. The barrier on Deliveroo is JavaScript and a postcode, not IP reputation, so the cheaper residential line is the right one.
The setting that works on Deliveroo
- Network: residential proxies, Basic line, $0.80/GB. No fetch in sixteen requests was challenged on the IP, so the premium line buys nothing here.
- Fetch mode: rendered for the homepage and any postcode-scoped storefront, because the browser returns 2,247 words where plain HTTP returns 195.
engine: tlsfor area listing pages such as /restaurants/london/soho, which arrive server-rendered at 583 words and 3.4 MB. - Country: pin
country=gb. The exit does not change the homepage, which returned 195 words from four countries, but the storefront a postcode unlocks is UK inventory and a UK exit keeps the session consistent with it. For deliveroo.fr or deliveroo.it, pin that country. - Rate: the site itself evaluates 25 requests per 10 seconds per client; stay under 2.5 per second per exit.
- When the proxy is not enough: there is no Deliveroo collector in our catalogue. Use the web scraping API with rendering, which runs the browser and the residential exit for you at $0.001 per rendered page and bills only on success. For the US side of the same company, the DoorDash restaurants collector returned 50 restaurants for Austin in 6.0 seconds, and needs no browser at all.
- The free tier is real: every account gets $2 of free API usage per month, which is 2,000 rendered pages at the rate above before you pay anything.