Foodpanda API endpoint
Returns a sample of real customer reviews for one restaurant -- author name, publish date, review text, and a 1-5 rating. This is the curated sample the restaurant's own storefront page embeds for search-engine rich results, not the full review corpus a logged-in customer would see in the app; the number returned scales with the restaurant's popularity rather than being a fixed cap, and can be empty for a restaurant with few or no reviews.
/foodpanda/restaurant/reviewsQuery parameters:
market (optional, default sg) — Delivery Hero market the restaurant belongs to. One of sg, pk, bd, hk, my, ph, la, kh, tw, mm.code (required) — restaurant code, from /foodpanda/search's code field, e.g. dxpr.An unknown code returns 404.
Response includes market, code, reviews[], and review_count. Each review has author, date_published, body, and rating (1-5).
| Field | Filled in, of 30 checked | Values in the sample |
|---|---|---|
| author | 30 | |
| date_published | 30 | 2026-01-16 to 2026-10-11 |
| body | 30 | |
| rating | 30 | 4 to 5, median 5 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| market | string | No | sg | Delivery Hero market the restaurant belongs to. Defaults to sg. Allowed values: sg, pk, bd, hk, my, ph, la, kh, tw, mm. | sg |
| code | string | Yes | Restaurant code, from /foodpanda/search's code field | dxpr | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/foodpanda/restaurant/reviews?market=sg&code=dxpr" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"market": "sg",
"code": "dxpr",
"reviews": [
{
"author": "Choy",
"date_published": "2026-03-21",
"body": "Nice food. Always the first choice. Thanks.",
"rating": 5
},
{
"author": "aman",
"date_published": "2026-07-20",
"body": "I ordered a bee hoon goreng but instead it came maggi goreng ",
"rating": 1
}
],
"review_count": 2
}
}Request schema
No body schema
Response schema
#/definitions/foodpanda.reviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | foodpanda.ReviewsResponse | No | ||||
| data.code | string | No | ||||
| data.market | string | No | ||||
| data.review_count | integer | No | ||||
| data.reviews | array | No | ||||
| data.reviews[].author | string | No | ||||
| data.reviews[].body | string | No | ||||
| data.reviews[].date_published | string | No | ||||
| data.reviews[].rating | number | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/foodpanda/restaurant/reviews?market=sg&code=dxpr" \
-H "x-api-key: $CRAWLORA_API_KEY"