
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Deliveroo restaurants and shops near any address, postcode or area in the UK, Ireland, France, Italy, Belgium, UAE and Kuwait, with cuisine and dish filters, or from restaurant URLs: full menus with prices and modifiers, ratings, delivery fees, minimum order, ETA, address and opening status.
Get Deliveroo restaurants and shops near any address, postcode or area, with the full menu, item prices, modifiers, rating, delivery fee, minimum order, delivery time, address, coordinates and opening status. Works in the UK, Ireland, France, Italy, Belgium, the UAE and Kuwait. No login, no browser, and 20 restaurants with full menus take about half a minute.
W1D 3QU, Dubai Marina Mall, london/soho), or paste restaurant URLs.| Field | What it does |
|---|---|
locations | Addresses, UK postcodes, coordinates (51.5136, -0.1346), city/area pairs (london/soho) or area URLs. One search per line. |
maxRestaurants | Restaurants to save per location (default 20). |
startUrls | Restaurant URLs (/menu/<city>/<area>/<restaurant>). Keep ?postcode= or ?geohash= for fees at that address. |
country | Market for addresses and city/area pairs. Auto-detected from the address by default. |
storeType | All, restaurants, groceries or shopping. |
cuisines, dishes, dietary | Deliveroo filters such as Italian, pizza, vegan. |
sortBy | Recommended, distance, quickest delivery or top rated. |
offersOnly, fulfillment | Only places with offers; delivery or pickup. |
scrapeDetails, includeMenu, includeModifiers | Open each restaurant page; include the menu; include option groups. |
{
"locations": ["W1D 3QU", "Dubai Marina Mall"],
"maxRestaurants": 20,
"cuisines": ["Japanese"],
"sortBy": "RATING",
"startUrls": ["https://deliveroo.co.uk/menu/london/fitzrovia/mcdonalds-0028-oxford-street-1?postcode=W1D3QU"]
}
One row per restaurant. The Menu items view unwinds the menu by category.
| Field | Description |
|---|---|
name, url, restaurantId | Restaurant name, canonical Deliveroo URL and id |
rating, ratingLabel, reviewCount | Star rating, label (Excellent, Very good...) and review count (Deliveroo shows "500+" for large counts) |
cuisines | Cuisine tags where Deliveroo shows them on the page |
deliveryFee, minimumOrder | Amount, currency and text for the searched address |
etaMinutes, etaText, distance | Delivery time from the listing and distance from the address |
openingStatus | For example "Closes at 23:00" or "Opens at 11:00" |
promotions, offers | Offer badges and menu offers |
address, postcode, city, country, latitude, longitude | Location of the restaurant |
menu[] | Categories with items: name, description, price, originalPrice, priceFormatted, calories, imageUrl, available, popular, dietaryTags, modifierGroupIds |
modifierGroups[] | Option groups with minSelection, maxSelection and options with prices |
menuItemCount, minItemPrice, maxItemPrice, averageItemPrice | Menu summary |
searchLocation, searchFilters, position | The search that found the restaurant and its rank in the list |
Example (trimmed to one menu item):
{
"restaurantId": "91193",
"name": "Shake Shack - Burgers & Shakes - Leicester Square",
"url": "https://deliveroo.co.uk/menu/london/leicester-square/shake-shack-leicester-square",
"rating": 4.7,
"ratingLabel": "Excellent",
"reviewCount": 500,
"reviewCountText": "500+",
"cuisines": [],
"etaMinutes": 20,
"etaText": "20 min",
"deliveryFee": {
"amount": 0.49,
"currency": "GBP",
"text": "£0.49 delivery fee"
},
"deliveryFeeText": "£0.49 delivery fee",
"minimumOrder": {
"amount": 8,
"currency": "GBP",
"text": "£8.00 minimum"
},
"minimumOrderText": "£8.00 minimum",
"openingStatus": "Closes at 02:45",
"distance": "0.30 mi",
"promotions": [
"Spend £10, Get £0 delivery fee"
],
"offers": [
"Free delivery over £10.00"
],
"address": "1-2 Coventry St, London, London, W1D6BH",
"postcode": "W1D6BH",
"neighborhood": "Leicester Square",
"city": "london",
"country": "GB",
"latitude": 51.51049862750442,
"longitude": -0.13172328472137448,
"currency": "GBP",
"imageUrl": "https://rs-menus-api.roocdn.com/images/14fa87b5-4a52-4e53-b632-698a8d264245/image.jpeg?width=1200&height=800&auto=webp&format=jpg&fit=crop",
"branchType": "RESTAURANT",
"fulfillmentType": "DELIVEROO",
"deliversToLocation": true,
"menuDisabled": false,
"isFast": true,
"hygieneRatingUrl": "https://ratings.food.gov.uk/business/en-GB/938974",
"categories": [
"Limited Time Only!",
"Featured Shake",
"Burgers",
"Chicken",
"Veggie"
],
"menuItemCount": 85,
"minItemPrice": 0.2,
"maxItemPrice": 151.99,
"averageItemPrice": 18.47,
"menu": [
{
"category": "Limited Time Only!",
"items": [
{
"id": "2849625037",
"name": "The Big Shack",
"description": "Made with two 100% Aberdeen Angus cheeseburgers made to order, topped with lettuce, pickles, onions, tomatoes, and secret sauce on a three-layer toasted potato bun.",
"category": "Limited Time Only!",
"price": 16.15,
"originalPrice": null,
"priceFormatted": "£16.15",
"currency": "GBP",
"calories": "1008 kcal",
"imageUrl": "https://rs-menus-api.roocdn.com/images/3f25b128-5496-49ae-8382-84b11d49f8c1/image.jpeg?width=1200&height=800&auto=webp&format=jpg&fit=crop",
"available": true,
"popular": false,
"rating": null,
"offer": null,
"dietaryTags": [],
"modifierGroupIds": [
"2922037683",
"2922037682"
]
}
]
}
],
"modifierGroups": [
{
"id": "2626992679",
"name": "Remove:",
"minSelection": 0,
"maxSelection": 1,
"options": [
{
"id": "2605086225",
"name": "No Salt",
"description": null,
"price": 0,
"available": true,
"nestedGroupIds": null
}
]
}
],
"searchLocation": {
"query": "W1D 3QU",
"city": "London",
"neighborhood": "Soho",
"postcode": "W1D3QU",
"geohash": "gcpvhczq87yv",
"country": "GB",
"lat": 51.51465606689453,
"lon": -0.13284599781036377
},
"searchFilters": {
"fulfillment": "DELIVERY"
},
"position": 1,
"sourceUrl": null,
"scrapedAt": "2026-10-16T01:18:24.697Z"
}
You pay $6.50 per 1,000 restaurants ($0.0065 per restaurant), with the full menu and modifiers included, plus a small platform usage fee. Residential proxy traffic is light, about 0.2 MB per restaurant.
Example: 1,000 restaurants with full menus cost about $6.50 in results plus roughly $0.40 to $0.50 in proxy and compute usage.
Is it legal to scrape Deliveroo? The actor reads public pages that anyone can open without an account. Check that your use of the data complies with Deliveroo's terms and the laws that apply to you.
Do I need a Deliveroo account or my own proxy? No. No login is used. Residential proxies in the restaurant's country are used by default because Deliveroo rate limits datacenter addresses.
How many restaurants can I get?
Deliveroo returns every place that delivers to an address in one list, often 1,000 to 2,000 in a big city. Set maxRestaurants to the number you need, and add several addresses to cover a city.
Why is a field empty? Deliveroo does not show every field for every restaurant: new restaurants have no rating, many UK pages show no cuisine tags, and the delivery time is only known from a search listing (not from a pasted restaurant URL).
Can I schedule it or use the API? Yes. Schedule runs on the platform, call it through the API, or connect the dataset to your own tools.
menuNote).etaMinutes) is filled for searched locations; pasted restaurant URLs have no ETA.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
locationsarrayOptionalAddresses, postcodes or areas
Where to search. Each line is one search: a UK postcode (W1D 3QU), a street address or place ("Dubai Marina Mall", "Via Torino 1, Milano"), coordinates ("51.5136, -0.1346"), a city/area pair from a Deliveroo address bar (london/soho) or a Deliveroo area URL (https://deliveroo.co.uk/restaurants/london/soho).
maxRestaurantsintegerOptionaldefault 20Max restaurants per location
How many restaurants to save for each address or area. Restaurant URLs are always scraped. Deliveroo lists up to a few thousand places per address.
startUrlsarrayOptionalRestaurant URLs
Deliveroo restaurant (menu) links such as https://deliveroo.co.uk/menu/london/fitzrovia/mcdonalds-0028-oxford-street-1. Keep ?postcode= or ?geohash= to get the delivery fee for that address. Area URLs (/restaurants//) work here too.
countryenumOptionalCountry
Deliveroo market for addresses and city/area pairs. Leave on auto-detect to take the country from the address. Area and restaurant URLs always use their own domain.
storeTypeenumOptionaldefault "ALL"Store type
List all places, only restaurants, or only grocery or shopping stores.
cuisinesarrayOptionalCuisines
Optional cuisine filters as Deliveroo names them, e.g. Italian, Indian, Japanese, Thai, Healthy, Breakfast, Asian Fusion. Several cuisines match any of them.
dishesarrayOptionalDishes
Optional dish filters, e.g. pizza, sushi, burgers, chicken, curry, noodles, kebab, dessert.
dietaryarrayOptionalDietary
Optional dietary filters: vegan, vegetarian, halal, gluten free, kosher, organic, vegan friendly.
sortByenumOptionaldefault "RECOMMENDED"Sort by
Order of the restaurant list.
offersOnlybooleanOptionaldefault falseOnly places with offers
Keep only restaurants that run an offer right now.
fulfillmentenumOptionaldefault "DELIVERY"Delivery or pickup
Delivery lists places that deliver to the address, with delivery fees. Pickup lists places for collection.
scrapeDetailsbooleanOptionaldefault trueOpen each restaurant page
Open every restaurant page for the menu, delivery fee, minimum order, address, coordinates, opening status and cuisines. Switch off for a fast list with name, rating, ETA, distance and offers only.
includeMenubooleanOptionaldefault trueInclude menu
Save the full menu: categories and items with prices, descriptions, calories, images and dietary tags.
includeModifiersbooleanOptionaldefault trueInclude item modifiers
Save the option groups (sizes, extras, sides) with their prices, linked from each item by modifierGroupIds.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
Residential proxies in the restaurant's country are the default: Deliveroo rate limits datacenter addresses. Deliveroo pages are small, so a typical run uses only a few MB.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| restaurantId | string | null | |
| name | string | null | |
| url | string | null | |
| rating | number | null | |
| reviewCount | number | null | |
| cuisines | array | null | |
| etaMinutes | number | null | |
| deliveryFee | object | null | |
| minimumOrder | object | null | |
| menu | array | null | |
| modifierGroups | array | null | |
| menuItemCount | number | null | |
| latitude | number | null | |
| longitude | number | null | |
| position | number | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Restaurant | One restaurant saved with its menu, prices, fees, rating and opening status. | $0.0065 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/deliveroo-scraper').call({
"locations": [
"W1D 3QU"
],
"maxRestaurants": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/deliveroo-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/deliveroo-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Restaurants delivering to a postcode, with full menus.
Restaurants sorted by rating, with menus.
Restaurants from a Deliveroo France page.
Grocery stores near coordinates offering pickup.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.