Endpoint Playground
Test Crawlora's Deliveroo Search API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/deliveroo/search?latitude=<latitude>&longitude=<longitude>&market=uk&min_rating=3.5&max_delivery_minutes=20&max_delivery_fee_pounds=1&sort=recommended" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| latitude | number | Yes | Search center latitude | |
| longitude | number | Yes | Search center longitude | |
| market | string | No | uk | Deliveroo national market to search (default uk) |
| limit | integer | No | Restaurants to return, clamped to 100 (default 20) | |
| collection | string | No | Optional, passed straight through to the upstream. Selects the Deliveroo partner vertical: omit for restaurants/takeaways (default), grocery for supermarkets and convenience stores, shopping for non-food retail -- both confirmed live; other values may exist and are not rejected. Every result uses the same uname contract for /deliveroo/restaurant and /deliveroo/restaurant/menu. | |
| cuisine | array | No | Optional, repeatable Deliveroo cuisine filter, e.g. cuisine=american&cuisine=asian. Passed straight through to the upstream; call /deliveroo/search/filters for the current, complete, location-scoped list of valid values. An unrecognized value is silently ignored by the upstream, not rejected. | |
| dietary | array | No | Optional, repeatable Deliveroo dietary filter passed straight through to the upstream, e.g. dietary=vegan. Call /deliveroo/search/filters for the current, complete list of valid values. An unrecognized value is silently ignored by the upstream, not rejected. | |
| dish | array | No | Optional, repeatable Deliveroo dish-level filter passed straight through to the upstream, e.g. dish=pizza&dish=sushi. Call /deliveroo/search/filters for the current, complete, location-scoped list of valid values. An unrecognized value is silently ignored by the upstream, not rejected. | |
| top_rated | boolean | No | When true, only returns results Deliveroo itself marks top-rated (its own 4.5+ threshold). Equivalent to min_rating=4.5; ignored if min_rating is also set. | |
| min_rating | number | No | 3.5 | Minimum star rating filter |
| max_delivery_minutes | integer | No | 20 | Maximum estimated delivery time in minutes |
| max_delivery_fee_pounds | integer | No | 1 | Maximum delivery fee in GBP |
| has_offer | boolean | No | When true, only returns results currently running an offer/promotion | |
| sort | string | No | recommended | Result ordering |
{
"code": 200,
"msg": "OK",
"data": {
"restaurants": [
{
"restaurant_id": "489952",
"name": "Five Guys - Burgers, Fries & Shakes",
"uname": "five-guys-victoria",
"image_url": "https://rs-menus-api.roocdn.com/images/386c4679-3a15-49ec-ad59-59182b2a11fa/image.jpeg",
"rating": 4.8,
"delivery_time_minutes": 15,
"distance_miles": 0.2
}
]
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Returns the restaurants (or, with collection set, grocery/shopping stores) Deliveroo's own home feed serves for a latitude/longitude in the given market -- a curated feed of every distinct card the location's page carries, not an exhaustive paginated search. Each result carries its uname (the value the restaurant and menu endpoints take), name, image, and, when the upstream page includes it, rating, delivery time, and distance. Optional collection, cuisine, dietary, dish, min_rating, max_delivery_minutes, max_delivery_fee_pounds, has_offer, and sort parameters narrow and order the same feed -- call /deliveroo/search/filters for the current, complete, location-scoped list of every valid cuisine/dietary/dish value with live result counts. A location with no coverage returns an empty list rather than an error.
{
"code": 200,
"msg": "OK",
"data": {
"restaurants": [
{
"restaurant_id": "489952",
"name": "Five Guys - Burgers, Fries & Shakes",
"uname": "five-guys-victoria",
"image_url": "https://rs-menus-api.roocdn.com/images/386c4679-3a15-49ec-ad59-59182b2a11fa/image.jpeg",
"rating": 4.8,
"delivery_time_minutes": 15,
"distance_miles": 0.2
}
]
}
}curl "https://api.crawlora.net/api/v1/deliveroo/search?latitude=<latitude>&longitude=<longitude>" \
-H "x-api-key: $CRAWLORA_API_KEY"