GrabFood Restaurant Scraper: Menus, Ratings & Delivery Data avatar

GrabFood Restaurant Scraper: Menus, Ratings & Delivery Data

Pricing

from $1.00 / 1,000 restaurant results

Go to Apify Store
GrabFood Restaurant Scraper: Menus, Ratings & Delivery Data

GrabFood Restaurant Scraper: Menus, Ratings & Delivery Data

Scrape GrabFood restaurants across Southeast Asia, including SG, MY, TH, VN, PH, ID, KH, and MM. Search by keyword or URL and extract 45+ fields: restaurant name, address, GPS, cuisine, ratings, reviews, promos, delivery time, fees, opening hours, and full menus with item prices and images.

Pricing

from $1.00 / 1,000 restaurant results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

Share

GrabFood Restaurants Scraper

Pull restaurants and full menus from GrabFood across Southeast Asia. Returns 45+ fields per restaurant: name, chain, address, GPS, cuisine tags, star rating and review count, promotions, delivery time and fee, opening hours, price tier, and the complete menu (categories, items, descriptions, prices, discounted/takeaway prices, images, modifier counts). Search by keyword in any of 8 countries, or paste GrabFood URLs (single restaurant or a listing page).

Why this scraper

  • 45+ fields per restaurant, including the full menu — vs the ~20 flat fields in the older GrabFood scraper on the Store
  • Full menu surface: categories, items, descriptions, original and discounted prices, takeaway prices, item images, and modifier-group counts
  • Delivery detail: estimated delivery time and range, delivery fee (with discounted fee), delivery options (delivery / takeaway / dine-in), price tier
  • Promotions captured as structured labels (e.g. "S$5.00 off"), not just a boolean flag
  • Full address block from the restaurant page: street, suburb, postcode, city, country
  • Rating and review count on every card, with the review count populated from GrabFood's own data
  • 8 regions: Singapore, Malaysia, Thailand, Vietnam, Philippines, Indonesia, Cambodia, Myanmar
  • Two modes: search by keyword or paste URLs, plus filters for cuisine, minimum rating, and minimum review count, and 5 sort options

Ratings and reviews

Every restaurant record carries GrabFood's aggregate rating (star score) and voteCount (the number of ratings the restaurant has received). These are the rating signals GrabFood exposes on its public web listings.

GrabFood's public web surface does not expose individual written customer reviews (author, date, review text) — the restaurant page returns only the aggregate score and the total number of ratings. We verified this with a live check of the restaurant detail data on food.grab.com: the merchant payload contains rating and voteCount but no per-review comment, author, or body objects. Written review text is only available inside the logged-in Grab mobile app, which is not part of the public site. This scraper therefore captures the rating and review-count data that exists, and does not fabricate review text that the site does not provide.

Data you get

Sample shape, values are illustrative placeholders, not from a live listing.

FieldExample
idSGDD00000
nameSample Burger Place
chainNameSample Burger
branchNameDowntown
cuisine["Burger", "Fast Food", "Halal"]
addressSample Burger Place - Downtown
fullAddress1 Sample Street, #01-01
streetSample Street
suburbDowntown
postcode000000
citySingapore
countryCodeSG
latitude / longitude1.2880 / 103.8520
rating4.3
voteCount1200
priceTag2
isOpentrue
estimatedDeliveryTime35
estimatedDeliveryTimeRangeFrom 35 mins
distanceInKm1.34
hasPromotrue
promoLabels["S$5.00 off"]
deliveryOptionsDELIVERY_TAKEAWAY_DINEIN
deliveryFee{ currencyCode, currencySymbol, price, priceDisplay, discountedPrice, hasDiscountedPrice }
currency{ code: "SGD", symbol: "S$", exponent: 2 }
openHours{ mon, tue, ..., displayedHours }
photoHref / smallPhotoHref / iconHrefimage URLs
grabUrlhttps://food.grab.com/sg/en/restaurant/sample-burger-place/SGDD00000
menuCategoryCount / menuItemCount12 / 86
menuarray of { name, available, itemCount, items: [{ id, name, description, price, discountedPrice, takeawayPrice, imageUrl, modifierGroupCount }] }
orderValueLimit15000
announcements["Public holiday hours apply"]
regionSG
scrapedAtISO timestamp

Input

  • modesearch (keyword queries) or url (paste GrabFood links).
  • region — the GrabFood country: SG, MY, TH, VN, PH, ID, KH, MM.
  • searchQueries — keywords to search in the region. Leave empty to browse the region's recommended restaurants.
  • startUrls — GrabFood restaurant pages or listing pages (URL mode).
  • cuisineFilter — keep only restaurants whose cuisine tags contain any of these terms.
  • minRating / minReviews — drop restaurants below a rating or review-count threshold.
  • sortBy — default (GrabFood ranking), rating, review count, distance, or delivery time.
  • fetchMenu — enrich each restaurant with the full menu and full address (on by default).
  • includeRatings — populate rating and review count (on by default).
  • maxItems — the main cap: total restaurants per run (default 20). Leave 0 for unlimited.
  • maxPages — no page limit by default; the run stops at Max restaurants. Set only to also cap listing pages walked.
  • proxyConfiguration — a residential connection is required; the exit country is aligned to the region automatically.

Output

One record per restaurant, pushed to the dataset. Enable fetchMenu for the full menu and full address block; disable it for faster listing-only runs.

Send results into your apps (MCP connectors)

Optionally pipe results into the apps you already use via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it in the mcpConnectors input. Each connector receives a condensed, human-readable summary per item (title + key fields) — the full record always stays in the dataset. Supported: Notion, Linear, Airtable, and Apify. For Notion, also set notionParentPageUrl.

Plan Requirement

Runs on any Apify plan.

Notes

  • Use a residential connection for reliable listing loads. Datacenter connections may be rejected by the site.
  • Prices are in the region's currency and are returned in minor units (e.g. cents) alongside a formatted display string where GrabFood provides one.