Foodpanda Reviews Scraper — Review Text & Ratings API · Apify
Foodpanda Reviews Scraper — Review Text, Ratings & Replies avatar

Foodpanda Reviews Scraper — Review Text, Ratings & Replies

Pricing

from $1.20 / 1,000 reviews

Go to Apify Store
Foodpanda Reviews Scraper — Review Text, Ratings & Replies

Foodpanda Reviews Scraper — Review Text, Ratings & Replies

Scrape Foodpanda restaurant reviews: review text, per-topic ratings (overall/food/rider), reviewer name, dates, likes, vendor replies. MY/SG/HK/PH/TW/PK/BD/KH/MM/LA. Public review surface, no login. Pay per review delivered.

Pricing

from $1.20 / 1,000 reviews

Rating

0.0

(0)

Developer

subimpact

subimpact

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

7 days ago

Last modified

Features

Limited permissions

Share

Foodpanda Reviews Scraper

Scrape restaurant reviews from Foodpanda, plus the Delivery Hero brands that run on the same reviews backend: Yemeksepeti (Turkey) and foodora (Norway, Hungary, Czechia). You get review text, per-topic ratings (overall, food, rider), reviewer name, dates, likes and vendor replies.

Unlike the many "restaurant and menu" scrapers on the Store, this Actor is reviews-first: it returns the actual review text, not just the aggregate rating number.

Two ways to run it

  • Restaurant codes or URLs. Paste one or more restaurant codes, or full restaurant URLs. Pagination is handled for you.
  • Find restaurants near a location. Give a city (or a lat,lng point) and the Actor pulls the restaurants the platform lists there, then scrapes their reviews. Every row then carries the restaurant name, its rating, its review count, its cuisines and its coordinates.

Markets

Country codePlatformPublic site
myfoodpandafoodpanda.my
sgfoodpandafoodpanda.sg
hkfoodpandafoodpanda.hk
phfoodpandafoodpanda.ph
twfoodpandafoodpanda.com.tw
pkfoodpandafoodpanda.pk
bdfoodpandafoodpanda.com.bd
khfoodpandafoodpanda.com.kh
mmfoodpandafoodpanda.com.mm
lafoodpandafoodpanda.la
trYemeksepetiyemeksepeti.com
nofoodorafoodora.no
hufoodorafoodora.hu
czfoodorafoodora.cz

Every row carries a platform field (foodpanda, yemeksepeti or foodora) so a multi-market dataset stays readable.

How to use

  1. Open a restaurant page. The URL looks like https://www.foodpanda.my/restaurant/zqj6/sakom-village.
  2. Either copy the short code (zqj6) into Restaurant codes, or paste the whole URL into Restaurant URLs. The code and the market are read from the URL.
  3. Or skip codes entirely: put Istanbul or 3.1390,101.6869 in Locations and set how many restaurants you want per location.
  4. Start the run.

Example input (discovery mode)

{
"locations": ["Istanbul"],
"maxRestaurantsPerLocation": 2,
"maxTotalReviews": 20
}

That run lists restaurants near central Istanbul, takes the first two, and stops after 20 reviews.

Example input (restaurant codes)

{
"vendorUrls": ["https://www.foodpanda.my/restaurant/zqj6/sakom-village"],
"maxReviewsPerVendor": 50
}

Input

FieldTypeDescription
vendorCodesstring[]Restaurant codes, e.g. zqj6. URLs are accepted too. Prefilled with a working sample vendor.
vendorUrlsstring[]Full restaurant URLs. Codes and market are extracted automatically.
locationsstring[]Discovery: a city preset name (Kuala Lumpur, Penang, Johor Bahru, Singapore, Hong Kong, Manila, Taipei, Karachi, Lahore, Dhaka, Phnom Penh, Yangon, Vientiane, Istanbul, Oslo, Budapest, Prague) or a lat,lng pair. Ignored when codes or URLs are given.
maxRestaurantsPerLocationintDiscovery: how many restaurants to take per location (1 to 500, default 20).
minRestaurantReviewsintDiscovery: skip restaurants with fewer reviews than this in the listing (default 0, keep all).
countrystringMarket for the reviews API (default my). In discovery mode a city preset sets the market itself.
maxReviewsPerVendorintCap per restaurant (0 = all).
maxVendorsintCap the number of restaurants processed (0 = all).
maxTotalReviewsintSafety cap on total reviews delivered across the whole run (default 1000, 0 = unlimited).

Output (one row per review)

FieldDescription
rowTypereview for a review, info or error for a location note (notes are never charged)
platformfoodpanda, yemeksepeti or foodora
countryMarket code
vendorCodeRestaurant code
reviewIdReview UUID
reviewTextFull review text
reviewerNameReviewer display name as the platform shows it (or Anonymous)
reviewerIdReviewer identifier
isAnonymousAnonymous flag
ratingOverallOverall star rating (1 to 5)
ratingFoodFood score (1 to 5) when the platform shows one
ratingRiderRider score (1 to 5) when the platform shows one
ratingsFull per-topic ratings array
likesLike/helpful count
vendorReplyRestaurant reply text when there is one
createdAtReview timestamp (ISO)
reviewUrlPublic review page URL
restaurantNameRestaurant name (discovery mode)
restaurantRatingRestaurant average rating, e.g. 4.5 (discovery mode)
restaurantReviewCountTotal reviews the restaurant has (discovery mode)
restaurantCuisinesCuisine names (discovery mode)
restaurantLatitude, restaurantLongitudeRestaurant coordinates (discovery mode)
locationThe location this restaurant came from (discovery mode)
errorMessage on info/error rows, otherwise null

When you pass codes or URLs instead of locations, the restaurant fields are null, because the code does not carry that information.

Example output row

A real row from a Kuala Lumpur run (codes mode):

{
"rowType": "review",
"platform": "foodpanda",
"vendorCode": "zqj6",
"country": "my",
"reviewId": "70c8c110-67b2-4ee2-83be-099492863bc5",
"reviewText": "ordered apple juice smlm tapi x dpt. pls double check the customer’s order ",
"reviewerName": "Fazida",
"reviewerId": "myn3lqtw",
"isAnonymous": false,
"ratingOverall": 2,
"ratingFood": 2,
"ratingRider": null,
"ratings": [{ "topic": "overall", "score": 2 }, { "topic": "restaurant_food", "score": 2 }],
"likes": 0,
"vendorReply": null,
"createdAt": "2026-08-09T10:36:36Z",
"reviewUrl": "https://www.foodpanda.my/restaurant/zqj6/reviews",
"restaurantName": null,
"restaurantRating": null,
"restaurantReviewCount": null,
"restaurantCuisines": null,
"restaurantLatitude": null,
"restaurantLongitude": null,
"location": null,
"error": null
}

A discovery-mode row looks the same, but the restaurant* fields and location are filled in.

Discovery mode

Give a city name or a lat,lng pair and the Actor asks the platform which restaurants it lists at that point. It takes the first N of them (in the platform order, which is the platform's own relevance ranking for that location), then scrapes reviews for each. Restaurants that appear in more than one location are scraped once.

  • A location the Actor cannot use (unknown city, bad coordinates) produces one error row and the rest of the run continues.
  • A location with no restaurants produces one info row.
  • Discovery itself is not charged. You pay only for review rows.

Discovery was verified in Malaysia, Turkey, Norway, Hungary and Czechia. The other Foodpanda markets use the same listing backend but were not probed, so a location there may come back empty; if it does, you get the uncharged row described above.

Use cases

  • Reputation and sentiment analysis for restaurant chains across markets
  • Food quality monitoring (food scores, delivery and rider complaints)
  • Competitor review benchmarking for F&B market research
  • AI and RAG training data: natural-language reviews with structured ratings

Pricing

Pay per event: $1.50 per 1,000 reviews on the Free plan ($0.0015 per review), with lower prices on paid Apify plans: $1.40 (Bronze), $1.30 (Silver) and $1.20 (Gold and above) per 1,000. You only pay for reviews actually delivered. Platform usage (compute) is included in the event price.

How this compares

This Actor does one job: reviews over plain HTTP at 512 MB, with no browser, so runs start in seconds and the event price already covers compute. Every review row carries the per-topic ratings and the restaurant's reply where there is one.

ActorPrice per 1,000 reviews (Free plan)Price per 1,000 reviews (Gold plan)Platform usage
subimpact/foodpanda-reviews-api (this Actor)$1.50$1.20Included
romy/foodpanda-reviews-scraper$2.00$1.56Included
e-commerce/food-delivery-scraper (multi-platform, review event)$2.00$0.70Included

Prices are Apify Store list prices as of 29 October 2026 and can change.

Notes and limitations

  • This Actor collects publicly visible review data from the platforms' public review surfaces. Use it in accordance with the platforms' terms of service and local regulations. Reviewer names are shown as the platform itself shows them on the public page.
  • Reviews availability varies by restaurant. Some have no reviews yet, and an empty result is normal for new or small restaurants.
  • Each reviews page holds up to 30 reviews. Older pages depend on the platform's own paging cursor; if the cursor stops moving forward the Actor ends that restaurant instead of repeating rows, so a very large maxReviewsPerVendor may deliver fewer rows than you asked for.
  • Restaurant codes are four characters on all markets above, but a code only works in the market it belongs to. Let the Actor read the market from the URL when you mix markets in one run.
  • Not affiliated with Delivery Hero, Foodpanda, Yemeksepeti or foodora.