Lieferando & Takeaway Scraper: Restaurants and Menus
Pricing
from $2.00 / 1,000 result scrapeds
Lieferando & Takeaway Scraper: Restaurants and Menus
Scrape food delivery restaurants from Lieferando.de, Lieferando.at, Thuisbezorgd.nl, Pyszne.pl and Takeaway.com (Belgium): names, cuisines, ratings, review counts, delivery fees and times, minimum order values, plus full menus with item prices. Search by city or postcode. No login, no cookies.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
5
Monthly active users
3 days ago
Last modified
Categories
Share
Lieferando & Takeaway Scraper: Restaurants, Ratings and Menus
Get every restaurant that delivers to a city or postcode on Lieferando.de, Lieferando.at, Thuisbezorgd.nl, Pyszne.pl and Takeaway.com (Belgium). Each row has the name, cuisines, rating, review count, delivery fee, delivery time and minimum order value. Switch on scrapeMenus and you also get every dish with its price.
No login and no cookies. Pick a country, type a city, run.
Why use this actor?
A single run on a big city returns the full restaurant list in under a minute. In our test runs Berlin returned 1,584 restaurants in 60 seconds, Vienna 1,280 in 45 seconds, Amsterdam 930, Warsaw 927 and Brussels 855. Typical uses:
- Delivery fee and minimum order benchmarking per city
- Menu price monitoring across competitors
- Restaurant lead lists per city and cuisine
- Market entry research for a city
What it covers
| Brand | Country | Input value | Currency |
|---|---|---|---|
| Lieferando.de | Germany | de | EUR |
| Lieferando.at | Austria | at | EUR |
| Thuisbezorgd.nl | Netherlands | nl | EUR |
| Pyszne.pl | Poland | pl | PLN |
| Takeaway.com | Belgium | be | EUR |
All five brands use the same data model, so rows look the same in every country.
Input
| Field | Type | Required | Description |
|---|---|---|---|
country | String | No | de (Lieferando.de), nl (Thuisbezorgd), pl (Pyszne), be (Takeaway.com) or at (Lieferando.at). Default: de |
location | String | No | City name (Berlin, München, Warszawa), postcode (10115) or coordinates (52.52,13.40). Default: Berlin |
serviceType | String | No | delivery (default) or collection |
maxResults | Integer | No | Maximum restaurants to return (default: 100, maximum: 5000) |
scrapeMenus | Boolean | No | Also fetch each restaurant's full menu, one row per menu item (default: false) |
proxyConfiguration | Object | No | Proxy settings. The default works |
City names are matched against a built-in list of the 50 largest places per country. Native names and English names both work (München and Munich, Den Haag and The Hague, Warszawa and Warsaw, Brussel, Bruxelles and Brussels). Postcodes and smaller towns are looked up through OpenStreetMap, and a test with the Belgian town Tienen returned restaurants in Tienen. Coordinates skip the lookup. A location that cannot be found (for example Qwertzville) makes the run fail with an error instead of returning an empty dataset.
Output
One row per restaurant. With scrapeMenus enabled, one row per menu item, with the restaurant fields repeated on every row. Rows load straight into a spreadsheet or database.
| Field | Type | Example |
|---|---|---|
restaurantId | String | "10113323" |
name | String | "Seydo's Back 'N Späti" |
brand | String | "lieferando" (also thuisbezorgd, pyszne, takeaway) |
cuisines | Array | ["Groceries", "Offers"] |
rating | Number | 4.6 (0 to 5 scale) |
ratingCount | Integer | 82 |
deliveryFee | Number | 10 |
deliveryTimeMinutes | Integer | 35 |
minimumOrderValue | Number | 30 |
currency | String | "EUR" |
address | String | "Ollenhauerstraße 23" |
city | String | "Berlin" |
postcode | String | "13403" |
latitude / longitude | Number | 52.568115 / 13.329784 |
isOpen | Boolean | true if the restaurant is open at the time of the run |
url | String | Menu page on the brand site |
logoUrl | String | Restaurant logo image |
country | String | "de" |
serviceType | String | "delivery" or "collection" |
scrapedAt | String | ISO timestamp |
Menu rows add menuCategory, itemId, itemName, itemDescription, itemPrice, itemVariations and itemImageUrl. itemVariations lists the sizes and their prices and is filled only for items that have more than one size. itemDescription and itemImageUrl are empty on part of the items, because many restaurants do not add them. In a Hamburg run with 12 restaurants, 1,036 of 1,268 menu rows had a description.
Example output
Restaurant row (scrapeMenus off):
{"restaurantId": "10113323","name": "Seydo's Back 'N Späti","brand": "lieferando","cuisines": ["Groceries", "Offers"],"rating": 4.6,"ratingCount": 82,"deliveryFee": 10,"deliveryTimeMinutes": 35,"minimumOrderValue": 30,"currency": "EUR","address": "Ollenhauerstraße 23","city": "Berlin","postcode": "13403","latitude": 52.568115,"longitude": 13.329784,"isOpen": true,"url": "https://www.lieferando.de/speisekarte/seydos-back-n-spati","country": "de","serviceType": "delivery","scrapedAt": "2026-10-17T04:00:43.080Z"}
Menu row (scrapeMenus on), restaurant fields shortened:
{"restaurantId": "13007062","name": "Eni's Burger","brand": "lieferando","city": "Hamburg","menuCategory": "Pizza","itemId": "53ba06b1-c240-4811-8c48-d62aa14b0a0d","itemName": "Pizza Chicken","itemDescription": "mit Hähnchenfilet, Tomatensauce & Käse","itemPrice": 12.99,"itemVariations": [{ "name": "Ø 26cm", "price": 12.99 },{ "name": "Ø 32cm", "price": 16.99 }]}
How to scrape Lieferando data
- Set
countrytode. - Set
locationto a German city (Berlin,Hamburg,München,Köln,Frankfurt) or a postcode such as10115. - Run. Berlin returned 1,584 restaurants.
- Enable
scrapeMenusto also get every dish and its price.
The other brands work the same way. Only the country value changes.
How to scrape Thuisbezorgd.nl data
Set country to nl and location to a Dutch city (Amsterdam, Rotterdam, Den Haag, Utrecht) or postcode. Amsterdam returned 930 restaurants. Prices are in EUR.
How to scrape Pyszne.pl data
Set country to pl and location to a Polish city (Warszawa, Kraków, Wrocław, Gdańsk). Warsaw returned 927 restaurants. Prices are in PLN.
How to scrape Takeaway.com Belgium data
Set country to be and location to a Belgian city (Brussel, Antwerpen, Gent, Liège). Dutch and French spellings both work. Brussels returned 855 restaurants. Prices are in EUR.
How to scrape Lieferando.at (Austria) data
Set country to at and location to an Austrian city (Wien or Vienna, Graz, Linz, Salzburg, Innsbruck) or postcode. Vienna returned 1,280 restaurants. Menus work the same as for Germany. Prices are in EUR.
Menu scraping
With scrapeMenus on, every restaurant produces one row per menu item: dish name, description, menu category, price and size variations. maxResults still caps the number of restaurants. Menu sizes vary a lot. In test runs, 12 restaurants in Hamburg gave 1,268 rows (from 12 to 500 per restaurant), 8 in Kraków gave 983 rows and 3 in Amsterdam gave 677 rows. Plan for roughly 100 to 125 rows per restaurant on average.
Menu runs take longer than restaurant lists, about 65 seconds for the 3-restaurant Amsterdam run. If the platform moves a long run to another server, it continues where it stopped.
Tips
- One run covers one delivery point. For full coverage of a large city, run a few postcodes spread across the city and deduplicate on
restaurantId. isOpenreflects the moment of the run. A run at 04:00 in Berlin showed 2 of 100 restaurants open, so schedule runs for the hours you care about.serviceType: "collection"returns restaurants for pickup, and every row carriesserviceType: "collection".- Empty input works. It runs Lieferando.de around Berlin with 100 results.
Related scrapers
- Just Eat Scraper: restaurants from Just Eat in Ireland, Italy and Spain
- Wolt Scraper: restaurants and menus from Wolt across Northern and Eastern Europe
- Albert Heijn Scraper: the largest Dutch supermarket
- Tesco Scraper: full UK grocery catalogue with prices
- ASDA Scraper: UK grocery products and prices
- Waitrose Scraper: UK grocery with barcodes
- Picnic Scraper: Dutch online supermarket
Browse all our European scrapers on the Studio AMBA profile.
Legal
This actor scrapes publicly available data only. It does not log in and does not access personal data. You are responsible for how you use the data, so check the applicable terms and laws for your use case.
Pricing and cost
The actor charges $0.005 per run start plus $0.002 per dataset row. Restaurant lists are one row per restaurant: Berlin with 1,584 restaurants costs about $3.17, and 100 restaurants cost about $0.21.
With scrapeMenus enabled, every menu item is a row. 12 restaurants in Hamburg produced 1,268 rows, about $2.54. At 100 to 125 rows per restaurant, the default maxResults of 100 can reach $20 to $25 per run. Set maxResults before you enable menus. A run's usage cost only settles after it reports SUCCEEDED.