Just Eat Scraper - Restaurants, Menus, Prices & Offers
Pricing
from $4.00 / 1,000 restaurant scrapeds
Just Eat Scraper - Restaurants, Menus, Prices & Offers
Scrape Just Eat UK restaurants by postcode: ratings, cuisines, delivery fees, minimum order, ETA, deals, address & geo — plus full menus with item prices, variations, dietary labels, calories and modifiers. Monitoring mode for only-new/changed data. No API key, no browser.
Pricing
from $4.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Just Eat Scraper — Restaurants, Menus, Prices, Deals & Delivery Data
Extract complete Just Eat restaurant data for any UK postcode — including the fields most scrapers skip: real item-level menu prices, every size/variation, dietary labels, calories, modifiers, deals/offers, delivery fees, minimum order, ETA and full geo. One clean row per restaurant, with the full menu nested underneath.
No login, no API key, no browser — fast JSON extraction straight from Just Eat's own public endpoints, with 99%+ reliability.
Why this Just Eat scraper?
Most Just Eat scrapers return a restaurant name and a rating and stop there. This actor reads Just Eat's discovery API and the public menu CDN, so every row is a complete commercial picture of the restaurant — what it sells, at what price, with which offers, and how it delivers.
| Data | Typical scrapers | This actor |
|---|---|---|
| Restaurant name, rating, cuisines | ✅ | ✅ |
| Full address + geo (lat/lng) | partial | ✅ |
| Delivery fee, minimum order, ETA | partial | ✅ |
| Deals / offers (with type) | ❌ | ✅ |
| Open-now (delivery & collection), new, premier | ❌ | ✅ |
| Full menu — every item | ❌ | ✅ |
| Item price per size / variation | ❌ | ✅ |
| Dietary labels (vegan, halal, vegetarian…) | ❌ | ✅ |
| Calories / nutrition per item | ❌ | ✅ |
| Modifier / add-on groups & deal groups | ❌ | ✅ |
| Live fees, badges & throttling status | ❌ | ✅ opt-in |
| Only-new / changed monitoring | ❌ | ✅ |
Use cases
- Menu & price intelligence — track item prices, delivery fees, minimum-order values and offers across competitors in any postcode; spot price changes over time with monitoring mode.
- Restaurant lead generation — build prospect lists of restaurants by area, cuisine and rating for POS, marketing, packaging, ingredient-supply or delivery-platform sales (
name,firstLine,city,postalCode, geo). - Market & coverage analysis — measure how many restaurants serve a postcode, the cuisine mix, average delivery economics and how aggressively venues discount.
- Catalogue & aggregation — feed food-discovery apps, price-comparison sites and dashboards with structured restaurant + menu data.
- New-entrant monitoring — schedule recurring runs to catch restaurants newly listed in a market, or price/offer changes, without re-paying for unchanged rows.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Just Eat Scraper, enter one or more UK postcodes (e.g.
EC1A 1BB,M1 1AE), and click Start. - Watch restaurants — each with its full menu — stream into the dataset.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"postcodes": ["EC1A 1BB", "M1 1AE"],"maxRestaurants": 100,"includeMenu": true,"includeModifiers": true,"cuisineFilter": "pizza","minRating": 4,"openNowOnly": false,"monitorMode": false}
- postcodes — UK postcodes to scrape. Just Eat lists by delivery area, so a postcode is the way in; each returns every restaurant serving it.
- startUrls (optional) — Just Eat area URLs like
https://www.just-eat.co.uk/area/ec1a/london(the postcode is read from the URL). - maxRestaurants (default 100) — cap per postcode (a busy postcode can list 2,000+).
- includeMenu (default true) — fetch the complete menu (items, prices, variations, dietary labels, calories) per restaurant.
- includeModifiers (default true) — also fetch item modifier/add-on groups and deal groups.
- includeLiveData (default false) — fetch live granular fees, badges, current rating and throttling/offline status.
- cuisineFilter / minRating / openNowOnly / deliveryOnly — filters.
- monitorMode (default false) — emit only NEW and CHANGED restaurants (see below).
Output
One record per restaurant (type: "restaurant"), with the full menu nested under menu:
{"type": "restaurant","id": "139485","name": "German Doner Kebab & Grill","uniqueName": "germandonerkebabandgrill-london","url": "https://www.just-eat.co.uk/restaurants-germandonerkebabandgrill-london/menu","firstLine": "68 Cleveland Street","city": "London","postalCode": "W1T 6LX","latitude": 51.521813,"longitude": -0.140164,"starRating": 5,"ratingCount": 242,"cuisines": ["Kebab", "Burgers", "Halal"],"isDelivery": true,"isCollection": true,"isOpenNowForDelivery": true,"deliveryEtaLowerMinutes": 20,"deliveryEtaUpperMinutes": 35,"deliveryCost": 3.69,"minimumDeliveryValue": 0,"driveDistanceMeters": 1975,"deals": [{ "description": "Save 20% • Spend £10", "offerType": "Percent" }],"dealCount": 1,"searchPostcode": "EC1A1BB","searchArea": "City of London","menu": {"currency": "GBP","itemCount": 77,"minItemPrice": 1.15,"maxItemPrice": 38.3,"items": [{"name": "Tuna Lover","description": "Served with mushroom, jalapenos, tuna and sweetcorn.","dietaryLabels": ["vegetarian"],"minPrice": 15.5,"maxPrice": 15.5,"variations": [{ "name": "Medium", "price": 15.5, "calories": "205 kcal" }]}],"modifierGroupCount": 28},"scrapedAt": "2026-06-16T23:30:00.000Z"}
Monitoring — only new & changed restaurants
Turn on monitorMode and the actor remembers every restaurant it has seen (in a named key-value store) and, on the next run, emits only:
- new restaurants that appeared in the postcode, and
- updated restaurants whose rating, delivery fee, minimum order, offer count, offline status or menu price range changed (tagged with
changeType).
This is perfect for tracking a postcode on a schedule without re-paying for unchanged rows — and it works alongside Apify Schedules: the schedule decides when the run fires, monitorMode decides what is emitted. Use a different monitorStoreName per tracked postcode to keep histories separate.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily/weekly to monitor a postcode's restaurants, prices and offers.
- Webhooks — trigger downstream actions (CRM import, Slack alert, price-change email) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/just-eat-scraper').call({postcodes: ['EC1A 1BB'],includeMenu: true,maxRestaurants: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} restaurants with menus`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new restaurant leads straight into your CRM.
- Slack — get notified when a monitored postcode gains a restaurant or changes prices.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list every pizza place delivering to EC1A 1BB with their menu prices" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete food, delivery & local-business intelligence stack:
- Uber Eats Scraper — restaurants, menus, prices and phone leads (US & global).
- Zomato Scraper — restaurants, menus, ratings and phone leads (India & UAE).
- Foodpanda Scraper — restaurants and menus across APAC.
- Fresha Scraper — salons, spas & wellness venues with prices and contacts.
- Booksy Scraper — barbers & beauty pros with services and lead contacts.
- Weedmaps Scraper — dispensaries, menus and product prices.
- Craigslist Scraper — local classifieds, services and gigs.
Tips
- Big postcodes: a central-city postcode can list 2,000+ restaurants. Raise
maxRestaurantsto go deeper, or run several postcodes to cover a whole city. - Faster, cheaper runs: turn
includeMenuoff for a listing-only pass (ratings, delivery economics, deals, geo) when you don't need item prices. - Cost control: menus are fetched per restaurant only when
includeMenuis on, and modifiers only whenincludeModifiersis on. - Proxies: the default datacenter proxy works well; switch to RESIDENTIAL only if you see rate-limiting on very large runs.
FAQ
How do I scrape Just Eat for a specific area? Put one or more UK postcodes in postcodes (e.g. EC1A 1BB, M1 1AE). Just Eat lists restaurants by delivery area, so a postcode returns every restaurant serving it. You can also paste a Just Eat area URL like https://www.just-eat.co.uk/area/ec1a/london.
Does it get real menu prices? Yes — with includeMenu on, the actor pulls each restaurant's full menu (every item, every size/variation, with prices, dietary labels and calories) from Just Eat's public menu source.
Does it need the Just Eat API or a login? No. It reads the same public endpoints the Just Eat website uses — no API key, no account, no browser.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor new restaurants or price changes automatically? Turn on monitorMode and create a Schedule; each run emits only new and changed restaurants. Add a webhook to push them into your CRM or a Slack channel.
A field is null — why? Some restaurants genuinely don't publish a particular field (e.g. no calories on a menu item, or no offers). Fields are null only when the data doesn't exist, not because the scraper skipped them.
Is scraping Just Eat legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR for personal data) and Just Eat's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.