openrice.com APIopenrice.com ↗
Access OpenRice restaurant search, reviews, cuisines, districts, and award winners for Hong Kong via 7 structured API endpoints.
curl -X GET 'https://api.parse.bot/scraper/80a6eb52-1dd5-4cab-a7a4-5da1f9c62b89/search_restaurants?rows=2&query=sushi&start_at=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for restaurants in Hong Kong with various filters. Returns paginated restaurant results with search metadata and filter options. Each result includes restaurant name, address, phone numbers, pricing range, scores, photos, district, cuisine categories, and booking widget information.
| Param | Type | Description |
|---|---|---|
| rows | integer | Number of results to return |
| query | string | Search keyword (restaurant name, food type, etc.) |
| sort_by | string | Sort order for results |
| start_at | integer | Offset for pagination |
| cuisine_id | string | Filter by cuisine ID (use list_cuisines to get IDs) |
| district_id | string | Filter by district ID (use list_districts to get IDs) |
{
"type": "object",
"fields": {
"searchHeader": "object containing search criteria and metadata",
"paginationResult": "object containing results array, count, and totalReturnCount",
"refineSearchFilter": "object containing available filter facets (cuisines, districts, landmarks, dishes, amenities)"
},
"sample": {
"data": {
"searchHeader": {
"type": 0,
"criteria": [
{
"name": "regionId",
"type": 2,
"value": "0"
}
]
},
"paginationResult": {
"count": 3821,
"results": [
{
"name": "Hotaru",
"poiId": 723550,
"phones": [
"+1 (555) 012-3456",
"+1 (555) 012-3456"
],
"address": "Shop 1, LG/F, Hilton Towers, 96 Granville Road",
"district": {
"name": "Tsim Sha Tsui",
"districtId": 2008
},
"doorPhoto": {
"url": "https://static8.orstatic.com/userphoto2/photo/26/1PWE/0C86H77F589DC423F697A1mx.jpg"
},
"categories": [
{
"name": "Japanese"
}
],
"priceRangeId": 5,
"scoreOverall": 4.616246
}
],
"totalReturnCount": 3821
}
},
"status": "success"
}
}About the openrice.com API
The OpenRice API provides access to Hong Kong restaurant data across 7 endpoints, covering search, details, reviews, and curated lists. The search_restaurants endpoint accepts keyword queries alongside filters for cuisine type and district, returning paginated results with restaurant scores, photos, and metadata. You can also retrieve individual restaurant details, user reviews, newly opened venues, and OpenRice Best Restaurant Award winners.
Search and Filter Restaurants
The search_restaurants endpoint is the primary discovery surface. It accepts a query string (restaurant name, food type, or keyword), along with cuisine_id and district_id filters sourced from the list_cuisines and list_districts endpoints respectively. Results are paginated via rows and start_at parameters. The response includes a paginationResult object with a results array of restaurant records, a count, and a totalReturnCount. The refineSearchFilter object in the response exposes available facets — cuisines, districts, landmarks, dishes, and amenities — making it straightforward to build a faceted UI.
Restaurant Details and Reviews
get_restaurant_details takes a poi_id (available from search result records) and returns three top-level objects: header (name, address, phone, scores, cuisine tags, district, photos, review counts), status (current open/closed state, normal and special opening hours), and explore (booking widget data, service categories). get_restaurant_reviews uses the same poi_id and returns paginated review objects, each containing reviewId, scoreOverall, title, body, user profile data, and attached photos.
Reference Lists and Curated Feeds
list_districts returns all Hong Kong districts with districtId, name, nameLangDict, and callName fields — use these IDs directly in search_restaurants. list_cuisines returns each cuisine's integer id, English name, and count of matching restaurants. get_new_restaurants and get_award_winners are pre-filtered variants of the search endpoint: both support rows and start_at for pagination and return the same searchHeader and paginationResult structure, scoped to newly opened venues and OpenRice Best Restaurant Award recipients respectively.
- Build a Hong Kong restaurant discovery app filtered by cuisine and district using
search_restaurants. - Aggregate OpenRice user review scores and text for sentiment analysis via
get_restaurant_reviews. - Track newly opened restaurants in Hong Kong with
get_new_restaurantsfor a hospitality market monitor. - Compile a directory of OpenRice award-winning venues using
get_award_winnersfor editorial content. - Pull opening hours and current open/closed status from
get_restaurant_detailsfor a real-time venue guide. - Populate cuisine and district filter dropdowns using
list_cuisinesandlist_districtsin a search interface. - Enrich a restaurant dataset with photos, phone numbers, and scores from the
headerobject inget_restaurant_details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does OpenRice have an official developer API?+
How do I filter search results by location or cuisine type?+
list_districts to get valid districtId values and list_cuisines to get integer cuisine id values. Pass those as district_id and cuisine_id parameters to search_restaurants. The response also returns a refineSearchFilter object with available facets that can be used to narrow results further.Does the reviews endpoint return menu items or dish-level ratings?+
get_restaurant_reviews returns review-level data: scoreOverall, title, body, user info, and photos. Dish-level or menu item ratings are not currently exposed. You can fork this API on Parse and revise it to add an endpoint targeting dish-specific data if that structure is available on the source.Is coverage limited to Hong Kong, or does the API include other regions?+
What does the `status` object in `get_restaurant_details` actually contain?+
status object includes an openNow boolean reflecting current open/closed state, plus an openingHourInfo structure that holds both normal (weekly schedule) and special (holiday or irregular) hours. It does not include wait times or reservation availability — those would need to come from the booking widget data in the explore object.