Just Eat Scraper - UK Restaurants, Ratings & Delivery avatar

Just Eat Scraper - UK Restaurants, Ratings & Delivery

Pricing

from $1.49 / 1,000 results

Go to Apify Store
Just Eat Scraper - UK Restaurants, Ratings & Delivery

Just Eat Scraper - UK Restaurants, Ratings & Delivery

Scrape restaurants from Just Eat UK by postcode: name, cuisines, star rating, delivery fee, minimum order, delivery ETA, live offers, address and coordinates. Every restaurant in an area in one pass. Export to JSON, CSV or Excel.

Pricing

from $1.49 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

Just Eat Scraper 🍔🇬🇧 — Restaurants, Ratings, Delivery Fees & Offers by Postcode

The fastest way to scrape Just Eat UK — one of Britain's largest food-delivery platforms — into clean, structured data. This Just Eat scraper turns any UK postcode into a dataset of every restaurant that delivers to or collects in that area, with cuisines, star rating, number of ratings, delivery fee, minimum order, delivery & collection ETA, live offers, address, coordinates and live open status. No login, no coding — it reads the same Just Eat API the website uses and returns ready-to-use records.

Export to JSON, CSV, Excel, or API.

Built for food-delivery analysts, restaurant & aggregator competitors, delivery marketplaces, FMCG/CPG brands, market researchers, investors and agencies that need live UK restaurant, pricing and offer data by area.

Actor Market Delivery data Ratings Offers Output By postcode No code


🔎 Why scrape Just Eat?

Just Eat is one of the UK's biggest online food-delivery marketplaces, listing tens of thousands of restaurants and takeaways across every city and town. Each listing is a goldmine of commercial signal: what a restaurant charges to deliver, the minimum order it will accept, how fast it delivers, how customers rate it, which cuisines it serves and whether it is running a promotion right now. That data drives pricing decisions, competitive strategy, supply mapping and lead lists — but it is spread across thousands of individual pages that change throughout the day.

Collecting it by hand is painful and pointless: you would have to open the Just Eat app, type in a postcode, scroll an endless list and copy fields one restaurant at a time — and it would all be stale within hours as restaurants open, close, change fees and launch offers. There is also no official public Just Eat API, so there is no sanctioned way to pull the data in bulk.

This Just Eat scraper solves that. Give it one UK postcode and it returns every restaurant serving that area in a single pass — often hundreds to nearly 2,000 restaurants per postcode — as clean, de-duplicated JSON. It behaves like an unofficial Just Eat API: postcode in, structured restaurant data out.

Common reasons people scrape Just Eat:

  • 📊 Market research — map restaurant density, cuisine mix and delivery pricing across a city or region.
  • 🥊 Competitor monitoring — track rivals' ratings, delivery fees, minimum orders and live offers over time.
  • 🎯 Lead generation — build targeted lists of restaurants and takeaways by area and cuisine for B2B sales.
  • 💷 Pricing & fee analytics — benchmark delivery costs, minimum spends and ETAs at scale.
  • 📍 Location & expansion analysis — assess local supply and competition before opening or partnering.
  • 🏷️ Promotion tracking — monitor who is discounting, and by how much, across an area.
  • 🍱 FMCG / brand intelligence — understand where and how brands and cuisines are represented on the platform.

✨ What this Just Eat scraper does

Give it a postcode (or several) and it will:

  • 🔎 Return every restaurant that delivers to or collects in that area — in one pass, no page-by-page crawling.
  • ⭐ Include the star rating and the total number of ratings for each restaurant.
  • 🚚 Capture full delivery intelligence: delivery fee, minimum order value, delivery ETA range and collection ETA.
  • 🏷️ Add live offers and deals (percentage off, stamp cards, spend-and-save) when a restaurant is running a promotion.
  • 🍜 List each restaurant's cuisines (e.g. Pizza, Chinese, Halal, Burgers, Indian).
  • 📍 Provide address, city, postcode and latitude/longitude for mapping and geo-analysis.
  • 🟢 Flag live open status for delivery, collection and pre-order, plus an isTemporarilyOffline flag.
  • ⏰ Include a next-availability timestamp so you can see when a currently-closed restaurant reopens for delivery.
  • 🚩 Expose new-listing and premier-partner flags and the drive distance from the searched area.
  • 🍽️ Let you filter by cuisine and keep only restaurants open now for delivery.
  • 🧹 Deliver clean, deduplicated, structured records — each restaurant once, keyed by its unique Just Eat ID.
  • ⬇️ Export to JSON, CSV, Excel, HTML, RSS or via API in one click.

Only fields the Just Eat API actually returns are included — no invented data, no HTML clutter.


🎯 Use cases

  • Food-delivery market research — size a market by counting restaurants, cuisines and price points per postcode.
  • Aggregator & restaurant competitor monitoring — watch ratings, fees, minimums and offers across a whole city.
  • Lead generation for B2B — sell to restaurants/takeaways using fresh, cuisine-segmented contact targets by area.
  • Delivery-fee & minimum-order benchmarking — compare deliveryCost and minimumDeliveryValue at scale.
  • Promotion & discount tracking — capture live deals to see who is running offers and how aggressive they are.
  • Location & expansion planning — assess supply and competition before launching a brand or dark kitchen.
  • Investor & analyst dashboards — feed clean Just Eat data into BI tools for coverage and pricing trends.
  • Geo & logistics analysis — use coordinates and drive distances to model catchment and delivery radius.

📥 Input

The actor accepts a simple, no-code input form. The only required field is postcodes.

Option A — by postcode (easiest)

{
"postcodes": ["EC4M7RF", "M1", "B1"],
"maxItems": 1000
}

Option B — filter by cuisine, open restaurants only

{
"postcodes": ["SW1A"],
"cuisines": ["Pizza", "Italian"],
"onlyOpenForDelivery": true,
"maxItems": 500
}

Input parameters

FieldTypeDescription
postcodesarrayRequired. One or more UK postcodes or outcodes to search (e.g. EC4M7RF, SW1A, M1, B1). Each returns every restaurant that delivers to or collects in that area.
cuisinesarrayOptional cuisine filter (e.g. Pizza, Chinese, Indian, Halal, Burgers). Leave empty for all cuisines. Matching is case-insensitive and substring-based.
onlyOpenForDeliverybooleanKeep only restaurants currently open for delivery. Default false.
maxItemsintegerMaximum number of restaurants to collect across all postcodes. Default 1000.
proxyConfigurationobjectProxy settings. The actor runs reliably without a proxy (the default). For heavy multi-postcode jobs you can enable Apify Proxy — pick the Residential group with country GB.

📤 Output

Each restaurant is returned as one clean JSON object. Empty/unavailable fields are omitted to keep records tidy. Example from a live run (postcode EC4M7RF):

{
"id": "158035",
"name": "Tops Pizza - Islington",
"url": "https://www.just-eat.co.uk/restaurants-tops-pizza---islington/menu",
"cuisines": ["Pizza", "Italian"],
"rating": 5,
"ratingCount": 2408,
"address": "Ground Floor 22 Penton Street",
"city": "London",
"postalCode": "N1 9PS",
"latitude": 51.53225,
"longitude": -0.11115,
"deliveryCost": 0,
"minimumDeliveryValue": 9.99,
"deliveryEtaRange": "20-35",
"collectionEtaMinutes": 10,
"driveDistanceMeters": 1844,
"isDelivery": true,
"isCollection": true,
"isOpenNowForDelivery": true,
"isOpenNowForCollection": false,
"isOpenNowForPreorder": false,
"nextDeliveryAvailability": "2026-11-02T11:00:00",
"isNew": false,
"isPremier": false,
"isTemporarilyOffline": false,
"logoUrl": "https://d30v2pzvrfyzpo.cloudfront.net/uk/images/restaurants/158035.gif",
"searchedPostcode": "EC4M7RF"
}

Output fields

FieldDescription
idUnique Just Eat restaurant ID (the natural key — used for deduplication).
nameRestaurant name.
urlRestaurant page URL on just-eat.co.uk.
cuisinesArray of cuisine tags (e.g. Pizza, Italian, Halal).
ratingStar rating (0–5).
ratingCountTotal number of customer ratings.
address / city / postalCodeRestaurant street address, city and postcode.
latitude / longitudeGeo-coordinates for mapping.
deliveryCostDelivery fee in GBP (0 means free delivery).
minimumDeliveryValueMinimum order value required for delivery (GBP).
deliveryEtaRangeDelivery ETA as a "lower-upper" minute range (e.g. "20-35").
deliveryEtaMinutesSingle-estimate delivery ETA in minutes — present when the API provides a point estimate.
collectionEtaMinutesEstimated collection time in minutes — present when collection is offered.
driveDistanceMetersDistance from the searched area to the restaurant.
isDelivery / isCollectionWhether delivery / collection is offered.
isOpenNowForDelivery / isOpenNowForCollection / isOpenNowForPreorderLive open-status flags.
isTemporarilyOfflineWhether the restaurant is temporarily offline.
nextDeliveryAvailabilityISO timestamp of when delivery next opens (useful for currently-closed restaurants).
isNew / isPremierNew-listing / premier-partner flags.
dealsArray of live offers (type + description) — present only when a restaurant is running a promotion.
logoUrlRestaurant logo image URL.
searchedPostcodeThe postcode this result came from.

Field coverage (verified on a fresh 500-restaurant run): all core fields — id, name, url, cuisines, rating, ratingCount, address, city, postalCode, latitude, longitude, deliveryCost, minimumDeliveryValue, logoUrl and every status flag — were populated on 100% of records, with 0 duplicates. deliveryEtaRange and nextDeliveryAvailability populated on ~99% of records; collectionEtaMinutes on ~70% (only where collection is offered). deliveryEtaMinutes and deals are data-dependent: the Just Eat API returns them only for some restaurants / when a promotion is live, so they appear "when available" rather than on every record. That is expected behaviour, not missing data.

You can download the dataset as JSON, CSV, Excel, HTML, RSS or XML, or fetch it programmatically through the Apify API.


🔁 Pagination & scale

There is no page-by-page crawling — the actor calls Just Eat's area-discovery endpoint, which returns every restaurant for a postcode in a single response. In testing, one dense London postcode (EC4M7RF) alone returned 1,978 restaurants, and other UK cities returned 500–1,000+ each:

  • Add more postcodes to the postcodes array to widen coverage across a city or region.
  • Results are deduplicated by restaurant id, so overlapping postcodes never create duplicate rows.
  • Use maxItems to cap the total collected across all postcodes (default 1000).
  • A full 500-restaurant run completes in a few seconds; collecting several whole cities still takes only one request per postcode.

Because each postcode is a single request, scaling is simply a matter of how many postcodes you feed in — not how deep the actor has to paginate.


⚙️ How to use

  1. Click Try for free / Start on the actor's Apify page.
  2. Enter one or more UK postcodes or outcodes (e.g. EC4M7RF, M1, SW1A).
  3. (Optional) Add a cuisine filter or tick Only open for delivery now.
  4. Set maxItems to how many restaurants you want.
  5. Click Save & Start.
  6. When the run finishes, open the Dataset tab and Export to JSON, CSV, Excel, HTML, RSS or XML — or pull it via the Apify API.

You can also run it on a schedule (daily/weekly) to keep a live restaurant, fee and offer feed, call it from your backend with the Apify API / SDKs, or wire results into Make, Zapier, Google Sheets, Airtable, Slack or any webhook.

Call via API

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postcodes": ["EC4M7RF"],
"maxItems": 1000
}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('YOUR_ACTOR_ID').call({
postcodes: ['SW1A', 'M1'],
cuisines: ['Pizza'],
maxItems: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

💡 Tips

  • Use outcodes for breadth. A short outcode like M1, B1 or SW1A covers a wide area and returns the most restaurants.
  • Combine postcodes for a city. Add several postcodes to map a whole city — results are deduplicated by id automatically.
  • Filter by cuisine for focus. Pass cuisines (e.g. ["Pizza", "Halal"]) to keep only the segment you're analysing.
  • Use deliveryEtaRange and nextDeliveryAvailability as your primary timing fields — they're populated on nearly every record; deliveryEtaMinutes is a bonus point-estimate when available.
  • Run without a proxy for the fastest results; switch to Residential (GB) only for very large multi-postcode jobs.
  • Schedule for freshness. Fees, ETAs, ratings and offers change throughout the day — a scheduled run keeps your data current.

❓ FAQ

Is scraping Just Eat legal? This actor collects publicly available listing data for lawful purposes such as market research, analytics and lead generation. You are responsible for how you use the data — respect Just Eat's Terms of Service and applicable laws, and don't use it for spam or unlawful purposes.

Do I need a Just Eat account or API key? No. Just provide one or more UK postcodes. There's no login and no API key.

Is there an official Just Eat API? Just Eat doesn't offer a public API, so this actor acts as an unofficial Just Eat API: send a postcode, get back clean JSON for every restaurant in that area.

How many results can I get, and how fast? A single dense postcode can return hundreds to nearly 2,000 restaurants in one pass — a 500-restaurant run finishes in a few seconds. Add more postcodes for wider coverage and use maxItems to cap the total.

Does it include delivery fees, minimum order and ETA? Yes — deliveryCost, minimumDeliveryValue, deliveryEtaRange and collectionEtaMinutes are included for each restaurant (ETA fields appear when the API provides them).

Does it include ratings and offers? Yes — rating and ratingCount are on every record. Live deals (percentage off, stamp cards, spend-and-save) are included when a restaurant is running a promotion.

Can I see when a closed restaurant reopens? Yes. Each record includes nextDeliveryAvailability (an ISO timestamp) plus live isOpenNowForDelivery, isOpenNowForCollection and isOpenNowForPreorder flags.

Can I filter by cuisine or open-now? Yes — pass cuisines to keep only matching restaurants, and set onlyOpenForDelivery: true to keep only those open for delivery right now.

Are results deduplicated? Yes. Each restaurant is uniquely identified by its id and appears once per run, even across overlapping postcodes.

Do I need a proxy? No. The actor reads a fast public endpoint and runs reliably without a proxy by default, and automatically falls back to a direct request if a proxy IP is ever throttled. For very large jobs you can enable Residential (GB) proxy for IP rotation.

What export formats are supported? JSON, CSV, Excel, HTML, RSS and XML — via the dashboard or the API.

How fresh is the data? Every run returns the current live listings, fees, ETAs and offers. Schedule the actor to keep your dataset up to date.


Scraping other food-delivery and restaurant platforms? Pair the Just Eat scraper with these actors to build a cross-platform view of restaurants, menus, pricing, ratings and offers:


This actor is intended for lawful data collection such as market research, analytics and lead generation. You are responsible for how you use the collected data. Only collect publicly available information, respect the target website's Terms of Service and robots.txt, and comply with all applicable laws and regulations. Do not use the data for spam or any unlawful purpose. This actor is an independent tool and is not affiliated with, endorsed by, or connected to Just Eat or its parent companies. All trademarks belong to their respective owners.


🛟 Support

Questions, feature requests or an issue with the data? Open an issue on the actor's page — feedback is welcome and helps improve the tool.


⭐ If this Just Eat scraper saves you time, please leave a review — it really helps!