Deliveroo API

Deliveroo stores, menus and grocery prices, address by address

Deliveroo shows a different set of stores, fees and delivery times for every address, so this API always takes a location: latitude and longitude, a postcode, or a geohash.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Deliveroo endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
D
/deliveroo/v1

4 active endpoints, on 2 and 3 credit tiers.

  • POST/deliveroo/v1/stores
  • POST/deliveroo/v1/store
  • POST/deliveroo/v1/search
  • POST/deliveroo/v1/filters

What Deliveroo endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

stores

3 cr

Restaurants, grocery stores and shops that deliver to a location (latitude+longitude, postcod…

required
country
optional
latitude, longitude, postcode, geohash, type, cuisine, dish, dietary, name, max_delivery_fee, min_rating, max_delivery_minutes, offers_only, sort, page, limit, cursor

store

3 cr

One Deliveroo store's menu or grocery catalogue.

required
store_id
optional
country, latitude, longitude, postcode, geohash, category_id, item_ids, page, limit

search

3 cr

Search dishes and grocery products by name across the stores delivering to a location, the wa…

required
country, query
optional
latitude, longitude, postcode, geohash, type

filters

2 cr

The filters Deliveroo offers at a location with live store counts.

required
country
optional
latitude, longitude, postcode, geohash

Every parameter, every allowed value →

Deliveroo API

4 of 4 endpoints, ready to run

View docs ↗

Grocery stores delivering to London W1

3 credits1 required · 2 optional
POST/deliveroo/v1/stores
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Deliveroo API works

Deliveroo is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 585 engines.

02
Call
POST /deliveroo/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From an address to a supermarket's shelf prices

List the grocery stores that deliver to the address, open one catalogue, then compare a product across stores.

01stores?country=uk&postcode=W1W%205QZ&type=grocery&sort=delivery_fee
GET/deliveroo/v1/stores?country=uk&postcode=W1W%205QZ&type=grocery&sort=delivery_fee

Supermarkets, Deliveroo HOP and convenience stores with fee, minimum order, time, distance and rating for that address.

02store?country=uk&store_id=<store_id>&limit=250
GET/deliveroo/v1/store?country=uk&store_id=<store_id>&limit=250

Every aisle and the products with price, sale price, Clubcard/Nectar price, unit price, availability and stock.

03search?country=uk&postcode=W1W%205QZ&query=milk
GET/deliveroo/v1/search?country=uk&postcode=W1W%205QZ&query=milk

The same product across the stores nearby, each with its price and a sold-out flag.

A per-address grocery price feed across every supermarket on Deliveroo.

request
curl -X POST https://api.reefapi.com/deliveroo/v1/stores \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"country":"uk","postcode":"W1W 5QZ","type":"grocery","limit":20}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "deliveroo",
    "endpoint": "stores",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What a Deliveroo field actually contains

Fields that read differently from how they look. Every row was measured against live responses on 2026-10-18.

FieldWhat it holds
delivery_fee, minimum_orderThe fee and minimum spend Deliveroo charges for the address you sent, not a store-wide constant. Each has amount, currency and the text Deliveroo prints (£0.79, KD 1.000). Matched the store page for the same address on 8 of 8 stores.
store_typerestaurant, or shop for Deliveroo's on-demand grocery and retail stores (supermarkets, Deliveroo HOP, convenience, pharmacy). The grocery tab also contains some restaurants that sell groceries (27 of 364 in London W1).
rating, rating_percentagerating is the star value Deliveroo shows (4.7); rating_percentage is Deliveroo's own score it is derived from (94.9). New stores have neither.
delivery_time_minutes, eta_range_minutesThe current estimate Deliveroo shows (15) and its range (10-20), live at the moment of the call.
price, sale_priceprice is the item's regular price; sale_price is set when the item is discounted (Waitrose carbonara £6.25, sale £5.00 with "20% off").
member_price, offer_textmember_price is the loyalty-card price a supermarket prints in its offer: Tesco "£2.00 Clubcard (£13.33/kg)" gives 2.00 with program Clubcard. Multi-buys ("3 for £10 Clubcard") stay in offer_text only.
stock_count, availablestock_count is the number of units the store shows, published by some grocers only (Deliveroo HOP and Tesco Express: most items; Sainsbury's and Waitrose: none). available false means the item cannot be ordered now.
sold_out (search)Deliveroo prints "Currently sold out" instead of the price; the price is still returned and sold_out is true.
amount (Kuwait)Kuwaiti dinar has three decimals: KD 1.450 is 1.45.

Deliveroo's recommended order is reshuffled on every request (0 of the first 100 positions repeated a minute apart), so stores are sorted by distance by default; page with pagination.next_cursor and no store is repeated. Search returns up to about 50 stores with up to 10 matching items each per query.

Deliveroo coverage, measured

Every number below was read from live responses on 2026-10-18.

Markets

Stores delivering to one city-centre address: London 3,985, Paris 3,057, Dubai 4,862, Kuwait City 1,780, Milan 1,603, Dublin 747, Brussels 649.

Tabs and filters

London W1, 3,984 stores: restaurants 3,447, grocery 358, shopping 267; burgers 589, Italian 433, vegan 38; every row returned satisfied the filter.

Fee accuracy

Delivery fee and minimum order matched Deliveroo's store page for the same address on 8 of 8 stores.

Price accuracy

Item price, sale price and availability matched Deliveroo's own menu page on 42 of 42 items across 7 stores.

Search to store

9 of 9 products found by search opened in their store with the same price and the same sold-out status.

Catalogue size

Waitrose Marylebone 11,254 products in 277 aisles; Tesco Express 4,322 items with a stock count on 3,418.

Paging

Three pages of 50 stores with next_cursor, sorted by distance or rating, twice each: no store repeated. Deliveroo shows one of several stores that share a kitchen on each request (16 of 3,965 in London W1 within a minute), so a few such stores can appear in one request and not the next.

Limits

No account data: Deliveroo Plus prices, order history and basket fees are not included; search stops at about 50 stores with up to 10 items each.

What people build with Deliveroo

The jobs this data is most often used for.

4

endpoints

2/3

credits per call

01

Track grocery prices, Clubcard and Nectar prices and promotions on Deliveroo by store and city.

02

Map which restaurants and supermarkets deliver to an address with fees, minimum order and delivery times.

03

Monitor restaurant menu prices and new dishes for a chain across its Deliveroo branches.

04

Compare a product's price across the supermarkets and convenience stores delivering to one address.

What Deliveroo data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 585 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/deliveroo/v1/stores \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"country":"uk","postcode":"W1W 5QZ","type":"grocery","limit":20}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/deliveroo/v1/stores",
    headers={"x-api-key": REEF_KEY},
    json={
  "country": "uk",
  "postcode": "W1W 5QZ",
  "type": "grocery",
  "limit": 20
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Deliveroo.

Get a free key →
Which countries does it cover?▾

The seven markets Deliveroo operates in today: United Kingdom, France, Ireland, Italy, Belgium, United Arab Emirates and Kuwait. Qatar, Singapore and Hong Kong answer that the market is closed.

Do I need an address?▾

Yes, a location is required: latitude and longitude, a postcode (W1W 5QZ, 75004) or a geohash. Deliveroo's store list, fees and times depend on it, and the response says where the location was placed.

Can I get supermarket prices from Deliveroo?▾

Yes. Use type=grocery in stores to list the supermarkets, Deliveroo HOP and convenience stores delivering to an address, then store with the store_id for the full catalogue (Waitrose Marylebone: 277 aisles, 11,254 products) with price, sale price, loyalty price, unit price and stock where published.

How do I compare one product across stores?▾

search with query=milk and the address returns the matching products from the stores nearby with each store's price; London W1 returned 356 milk products from 48 stores.

Can I get a restaurant's full menu?▾

Yes. store with the restaurant's store_id, its slug or its Deliveroo menu URL returns every category and dish with price, description, calories, dietary tags and availability, page by page.

Which filters work?▾

Deliveroo's own tabs and its cuisine, dish and dietary keys (London W1: grocery 358, burgers 589, vegan 38 of 3,984 stores), plus name, maximum delivery fee, minimum rating, maximum delivery time and offers only. A cuisine or dish key that does not exist at the address is refused instead of being ignored; the filters call lists the valid keys.

Do I need a Deliveroo account?▾

No. Everything is what a logged-out visitor sees; Deliveroo Plus member prices are not included.

How fresh is the data?▾

Every call reads Deliveroo live; nothing is cached.

What is the Deliveroo API?▾

Deliveroo API is a ReefAPI endpoint group for restaurants, supermarkets and shops that deliver to an address, with fees and times; full menus and grocery catalogues with live prices, offers and stock. It returns live JSON through POST requests under /deliveroo/v1.

Is the Deliveroo API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Deliveroo calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Deliveroo login or account?▾

No login to Deliveroo is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Deliveroo data?▾

The page example is captured from a live stores call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Deliveroo API use?▾

Deliveroo actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Deliveroo from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call deliveroo actions with the same key, credit pool and JSON envelope used by normal REST requests.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 584 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-18.