Foodpanda Scraper - Restaurants, Menus & Leads
Pricing
from $4.00 / 1,000 restaurant scrapeds
Foodpanda Scraper - Restaurants, Menus & Leads
Scrape Foodpanda restaurants, menus and prices in English, the local language (e.g. Traditional Chinese) or both, plus restaurant leads: name, phone, UEN, address, geo, cuisines, rating, delivery fees. Search any area or paste restaurant URLs. Monitor mode returns new & changed restaurants only.
Pricing
from $4.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
5
Monthly active users
3 hours
Issues response
11 days ago
Last modified
Categories
Share
Foodpanda Scraper — Restaurants, Full Menus & Prices (+ Restaurant Leads)
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Delivery Hero SE or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "foodpanda" is referenced only to describe the publicly available website this Actor collects data from.
Extract complete restaurant data from Foodpanda — the full restaurant list for any city or neighbourhood with ratings, cuisines, delivery fees and exact geo-coordinates, every restaurant's complete menu with item prices and variations, and the fields that turn each listing into a ready-to-contact B2B lead: phone number, registered company name and UEN/business registration number, full address and website.
Names, addresses, cuisines and menus come back in English, in the market's own language, or in both at once — Traditional Chinese on foodpanda.hk, Chinese in Taiwan, Malay in Singapore and Malaysia, Khmer, Lao, Burmese, Bangla and Roman Urdu elsewhere — so the same dataset works for an English-speaking analyst and a local operations team.
No login, no cookies, no browser — fast JSON extraction across Singapore, Malaysia, the Philippines, Hong Kong, Taiwan, Cambodia, Laos, Myanmar, Bangladesh and Pakistan.
Why this Foodpanda scraper?
Most food-delivery scrapers grab a few visible cards and stop. This actor reads Foodpanda's own vendor and menu APIs directly and ships the richest dataset in the category — including the lead-gen fields nobody else returns:
| Data | Typical scrapers | This actor |
|---|---|---|
| Restaurant name, rating, reviews, cuisines | ✅ | ✅ |
| Exact address, postal code, lat/lng | partial | ✅ |
| Phone number | ❌ | ✅ |
| Company legal name + UEN / registration no. | ❌ | ✅ |
| Website, delivery fee, minimum order, delivery time | partial | ✅ |
| Price level, promotions, premium/new flags | ❌ | ✅ |
| Full menu — categories, items, descriptions, prices, variations | ❌ | ✅ opt-in |
| Local-language names (e.g. 繁體中文 on foodpanda.hk) — or English and local on every item | ❌ | ✅ |
| Opening hours per day | ❌ | ✅ opt-in |
| Monitor mode — only new & changed restaurants | ❌ | ✅ |
What you get
| Field group | Fields |
|---|---|
| Identity | vendorCode, vendorId, name, url, chainName, vertical, isSuperVendor |
| Languages | language (what the standard fields are in, e.g. en_HK), localLanguage (e.g. zh_HK); with Both: nameEn, nameLocal, addressEn, addressLocal, cuisinesEn, cuisinesLocal, descriptionEn, descriptionLocal |
| Ratings & positioning | rating, reviewCount, reviewWithCommentCount, budget, priceRange, cuisines, foodCharacteristics, tags, isPromoted, isPremium, isNew, hasDiscounts |
| Lead fields | phone, website, legalName, uen (UEN / business registration number), legalAddress (registered address when it differs from the shop) |
| Location | address, addressLine2, postalCode, city, latitude, longitude, country, currency |
| Commercials | minimumOrderAmount (the vendor's own minimum), smallOrderThreshold (the market's small-order-fee limit), deliveryFee, deliveryFeeType, minimumDeliveryTimeMins, minimumPickupTimeMins, isDeliveryEnabled, isPickupEnabled, isPreorderEnabled |
Menu (with scrapeMenus) | menuCategories[] → category, isPopular, items[] → name, description, price, priceMax, variations[], imageUrl, isSoldOut, dietaryAttributes; plus menuItemCount, menuPriceMin, menuPriceMax, openingHours, paymentTypes; with Both: categoryEn/categoryLocal, nameEn/nameLocal, descriptionEn/descriptionLocal on every category, item and variation |
| Media & monitoring | heroImageUrl, logoUrl, monitorStatus (new / changed), previousRating |
Use cases
- Restaurant lead generation — every listing is a vetted F&B business with phone, company UEN, address and cuisine. Build prospect lists for POS/SaaS vendors, suppliers, marketing agencies, delivery/packaging, fintech and franchising. Filter by rating, cuisine, or area.
- Menu & price intelligence — pull full menus with item-level prices to benchmark competitors, track price changes, and power menu-aggregation or recommendation apps — in the language your team or your model works in.
- Market research & expansion — map restaurant density, cuisine mix, ratings and delivery economics by city or neighbourhood across Asia.
- Local-language datasets — Hong Kong menus in Traditional Chinese, Taiwan in Chinese, Malaysia in Malay: the names customers actually search for, side by side with the English ones.
- Q-commerce & grocery — switch the vertical to scrape shops and dark stores too.
- Monitoring — schedule recurring runs to capture new openings and changes (ratings, promotions, delivery status) in a market over time.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Foodpanda Scraper, pick a Location (e.g. Hong Kong) — or paste restaurant URLs — choose the Language (Site default, English, Local or Both), choose whether to pull full menus, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"searchLocation": "hong-kong","vertical": "restaurants","searchQuery": "","maxItems": 200,"scrapeMenus": true,"language": "both","monitorMode": false}
- searchLocation — a city/area preset (Singapore, Orchard, Jurong East, Kuala Lumpur, Penang, Manila, Hong Kong, Taipei, Phnom Penh, …). Each preset sets the country and coordinates for you. Choose Custom to enter your own
latitude/longitude+country. - latitude / longitude — optional override to search around a precise point (e.g. a specific neighbourhood).
- searchQuery — optional keyword to filter by name or cuisine (
sushi,halal,McDonald's). - vertical —
restaurants(default),shop, ordarkstores(grocery). - startUrls — paste Foodpanda restaurant URLs to scrape only those (with full menus). URLs from different countries can be mixed; a language prefix in the URL (
https://www.foodpanda.hk/zh/restaurant/...) is honoured whenlanguageis left onauto. - urlsFromFile — paste a block of URLs, or one link to a .txt/.csv file, Google Sheet or Drive file that contains them.
- maxItems (default 100) — cap across the run (0 = no limit; a dense city returns 3,000+).
- scrapeMenus (default true) — enrich each restaurant with its full menu (categories, items, prices, variations), opening hours and the market's small-order threshold. Turn off for a fast, cheap listing-only run.
- language (default
auto) —autois the site's own default language (English in most countries; Chinese in Taiwan, Lao in Laos, Burmese in Myanmar).enforces English.localswitches names, addresses, cuisines and menus to the market's own language.bothkeeps the standard fields asautoand adds the*En/*Localcompanion fields on the restaurant and on every menu category, item and variation. - localLanguage (default
auto) — for markets with more than one local language (Singapore and Malaysia offer Malay and Chinese; Cambodia and Laos also offer Chinese), pick which onelocal/bothshould use. - monitorMode (default false) — only output new & changed restaurants since the previous run for the same input (state persists across runs — pairs perfectly with Schedules).
- proxyConfiguration — proxy settings (Singapore residential by default; pick the target country's residential group for the fastest runs elsewhere).
Output
One record per restaurant (type: "restaurant"), with a full menuCategories array when menu scraping is on. This is a Hong Kong record with language: "both":
{"type": "restaurant","vendorCode": "f4ro","name": "McDonald's & McCafé (Yen Chow)","nameEn": "McDonald's & McCafé (Yen Chow)","nameLocal": "麥當勞 & McCafé (欽州街) McDonald's & McCafé","url": "https://foodpanda.hk/restaurant/f4ro/mcdonalds-and-mccafe-yen-chow","chainName": "McDonald's & McCafe","cuisines": ["Burgers", "Fast Food", "American", "Drinks", "Western", "Coffee"],"cuisinesLocal": ["漢堡", "快餐", "美式", "飲品", "西式", "咖啡"],"rating": 5,"reviewCount": 2478,"priceRange": "$","legalName": "MHK Restaurants Limited","address": "G/F & M/F, 78-86 Yen Chow Street, Sham Shui Po, Kowloon","addressLocal": "深水埗欽州街78-86號地下及閣樓","city": "Hong Kong","latitude": 22.3320439,"longitude": 114.1615018,"country": "hk","currency": "HKD","language": "en_HK","localLanguage": "zh_HK","minimumOrderAmount": 120,"deliveryFee": 0,"minimumDeliveryTimeMins": 20,"isDeliveryEnabled": true,"tags": ["Free Delivery"],"hasDiscounts": true,"openingHours": [{ "day": "Monday", "slots": [{ "from": "00:00", "to": "23:59", "type": "delivering" }] }],"menuItemCount": 44,"menuPriceMin": 1,"menuPriceMax": 122,"menuCategories": [{"category": "McGriddles","categoryEn": "McGriddles","categoryLocal": "McGriddles","items": [{ "name": "McGriddles Breakfast for 2", "nameEn": "McGriddles Breakfast for 2", "nameLocal": "班戟漢堡醒晨二人餐", "price": 110, "variations": [{ "name": null, "price": 110 }] }]}],"scrapedAt": "2026-09-17T21:31:14.758Z"}
With language: "auto" or "en" the record has exactly the shape it always had (no *En / *Local fields); language and localLanguage are always present so a pipeline can tell what it received.
Good to know
- Which language is "Site default"? English on foodpanda.sg, .my, .ph, .hk, .com.bd and .pk; Chinese on foodpanda.com.tw; Lao on foodpanda.la; Burmese on foodpanda.com.mm; English on foodpanda.com.kh.
language: "en"or"local"overrides that in every market. - Local names are whatever the restaurant entered. On foodpanda.hk most vendors keep a bilingual local name ("萬波島嶼紅茶 (旺角) Wanpo Tea Shop") and translate every menu item; in Singapore and Malaysia many restaurants use the same Latin-script name in every language, so
nameLocalcan equalnamethere while cuisines and categories are translated. - Both languages cost one extra request per restaurant when menus are on (the second-language menu), and nothing extra when menus are off — the pricing events are the same either way.
- Menu items are matched across languages by Foodpanda's own product, category and variation ids, so prices, images and sold-out flags are identical in both languages and nothing is guessed.
- Company legal name and UEN / registration number appear when the restaurant published its business registration (very common in Singapore and Malaysia; Hong Kong vendors publish their legal name and 8-digit Business Registration number). Hong Kong listings carry no phone number, website or payment-type list on Foodpanda, so those fields are blank there.
- Thailand is not available — Foodpanda closed its Thai service and the site now redirects to another provider.
- A blank field means the restaurant did not publish it — never that scraping failed. If a restaurant's menu could not be loaded after retries, its row still carries every listing field and the run's status message says so.
How much does it cost to scrape foodpanda?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Restaurant Scraped - One restaurant: name, phone, company legal name & UEN / registration number, full address, postcode & geo, cuisines, food characteristics, rating & reviews, price level, delivery fee, min order, chain, promotions & website. Names in English, the local language or both.
- Restaurant Enriched With Full Menu - Adds the full menu: every category & item with name, description, price & variations, in English, the local language or both, plus opening hours, the market's small-order threshold & active deals.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
- Apify API — start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and Python — official SDKs.
- Schedules — run daily/weekly with Monitor mode to capture new openings and changes.
- Webhooks — trigger CRM import, Slack alerts or email sequences the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/foodpanda-scraper').call({searchLocation: 'hong-kong',vertical: 'restaurants',maxItems: 200,scrapeMenus: true,language: 'both',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} restaurants`);
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 area adds restaurants.
- 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. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list the top-rated halal restaurants near Orchard with their phone numbers and 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 local-business & lead-gen stack:
- SGCarMart Used Car Scraper — Singapore used-car listings, prices and dealer leads.
- MyCareersFuture Scraper — Singapore jobs with salaries and hiring-company leads.
- Eventbrite Scraper — events plus organizer leads (ticket prices, emails, socials).
- Sched Conference Scraper — speakers, sessions and sponsors as B2B leads.
- Bark Listing Scraper — service-provider leads from Bark.
- Airbnb Scraper — listings, prices and availability.
- Facebook Ad Library Scraper — competitor ad intelligence on Meta & Instagram.
- Google Ads Transparency Scraper — who's advertising what on Google.
- LinkedIn Jobs Scraper — and more on the scrapesage profile.
Tips
- Cover a whole city: set
maxItems: 0and pick a central preset; the actor paginates every restaurant the location returns (3,000+ in central Singapore). Use neighbourhood presets or custom coordinates to focus tightly — Foodpanda lists the vendors that deliver to a point, so a few well-spread points cover a whole territory. - Chinese menus for Hong Kong: set
languagetolocalfor Traditional Chinese only, orbothfor English and Chinese side by side on every item; pastinghttps://www.foodpanda.hk/zh/...URLs does the same for those restaurants. - Restaurant leads: even with
scrapeMenusoff you get name, phone, UEN, address, cuisine and rating — a complete prospect list. Turn menus on when you also need item-level prices. - Recurring monitoring: combine Schedules with Monitor mode to track new openings and changes without re-pulling everything.
- Other countries: pick a regional preset, or choose Custom and set
latitude/longitude+country(Foodpanda covers SG, MY, PH, HK, TW, KH, LA, MM, BD, PK).
FAQ
Does it need a Foodpanda login or API key? No login. The actor uses Foodpanda's public web API key (pre-filled); you can override it if Foodpanda ever rotates it.
Can I get restaurant and menu names in Chinese (or Malay, Khmer, Lao, Burmese, Bangla, Urdu)? Yes — set language to local for the market's own language, or both to receive English and the local language on every restaurant, category, menu item and variation. Every record states its language and localLanguage.
Where do the phone number and UEN come from? From the restaurant's own public Foodpanda profile, where merchants list their contact number and registered business details. They're absent only when the merchant didn't publish them.
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 find restaurants in a specific neighbourhood? Pick the nearest preset, or choose Custom and paste the exact latitude/longitude (Foodpanda lists vendors that deliver to that point).
Does Monitor mode conflict with Apify Schedules? No — they're complementary. The Schedule decides when a run starts; Monitor mode decides which restaurants are new or changed within that run (state persists in a named key-value store).
Is scraping Foodpanda legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. PDPA/GDPR for personal data) and Foodpanda's terms.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Delivery Hero SE or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"foodpanda" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official foodpanda product, is not authorised or certified by Delivery Hero SE, and does not distribute foodpanda software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
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.