curl --request POST \
--url https://api.anysite.io/api/openrice/restaurants \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"restaurant": "<string>",
"timeout": 300,
"region": "hongkong",
"lang": "en"
}
'import requests
url = "https://api.anysite.io/api/openrice/restaurants"
payload = {
"restaurant": "<string>",
"timeout": 300,
"region": "hongkong",
"lang": "en"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({restaurant: '<string>', timeout: 300, region: 'hongkong', lang: 'en'})
};
fetch('https://api.anysite.io/api/openrice/restaurants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/openrice/restaurants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'restaurant' => '<string>',
'timeout' => 300,
'region' => 'hongkong',
'lang' => 'en'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/openrice/restaurants"
payload := strings.NewReader("{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/openrice/restaurants")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/openrice/restaurants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": 123,
"url": "<string>",
"name": "<string>",
"@type": "OpenriceRestaurant",
"alias": "<string>",
"name_other_lang": "<string>",
"name_langs": {},
"alias_langs": {},
"address": "<string>",
"address_other_lang": "<string>",
"display_address": "<string>",
"postal_code": "<string>",
"district": {
"id": 123,
"name": "<string>",
"@type": "OpenriceDistrict",
"alias": "<string>",
"group_id": 123,
"latitude": 123,
"longitude": 123
},
"landmark_ids": [],
"landmarks": [],
"mall_name": "<string>",
"floor": "<string>",
"unit": "<string>",
"latitude": 123,
"longitude": 123,
"directions": "<string>",
"nearby_station_exit": "<string>",
"phones": [],
"phone_remarks": [],
"website": "<string>",
"facebook": "<string>",
"instagram": "<string>",
"opened_at": 123,
"price_min": 123,
"price_max": 123,
"price_range_id": 123,
"currency_symbol": "<string>",
"seat_count": 123,
"rating": 123,
"or_score": 123,
"smile_count": 123,
"ok_count": 123,
"cry_count": 123,
"rating_taste": 123,
"rating_decor": 123,
"rating_service": 123,
"rating_hygiene": 123,
"rating_value": 123,
"review_count": 123,
"featured_review_count": 123,
"photo_count": 123,
"restaurant_photo_count": 123,
"menu_photo_count": 123,
"media_count": 123,
"bookmark_count": 123,
"popular_dish_count": 123,
"article_count": 123,
"coupon_count": 123,
"chain": {
"id": 123,
"name": "<string>",
"@type": "OpenriceChain",
"restaurant_count": 123,
"url": "<string>"
},
"cuisines": [],
"dishes": [],
"themes": [],
"amenities": [],
"conditions": [],
"payments": [],
"opening_hours": [],
"opening_hours_today": {
"days": "<string>",
"@type": "OpenriceOpeningHours",
"times": []
},
"opening_hours_special": [],
"opening_hours_note": "<string>",
"opening_hours_text": "<string>",
"last_order_text": "<string>",
"info": "<string>",
"other_info": "<string>",
"popular_dishes": [],
"recommended_dishes": [],
"articles": [],
"images": [],
"image": "<string>",
"menu_images": [],
"videos": [],
"first_review_user": {
"id": 123,
"@type": "OpenriceUserBrief",
"sso_id": "<string>",
"url": "<string>",
"username": "<string>",
"bio": "<string>",
"image": "<string>",
"grade": 123,
"grade_name": "<string>",
"review_count": 123,
"follower_count": 123,
"following_count": 123,
"photo_count": 123,
"is_vip": false,
"is_vlogger": false
},
"michelin_text": "<string>",
"promotions": [],
"badges": [],
"awards": [],
"status": 123,
"status_text": "<string>",
"status_note": "<string>",
"moved_to_restaurant_id": 123,
"is_open_now": false,
"is_open_late": false,
"is_open_early": false,
"is_new": false,
"is_verified": false,
"is_queuing_enabled": false,
"has_premium_menu": false,
"short_url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/openrice/restaurants
Get a full OpenRice restaurant profile by restaurant id or restaurant page URL: multilingual names and addresses, district, malls and landmarks it sits in, geo coordinates, directions and nearest station exit, phones, website and social links, opening hours (weekly, today, special and free-text), price range and currency, seat count, overall rating plus taste/decor/service/hygiene/value sub-ratings, smile/ok/cry counts, cuisines, dishes, themes, amenities, features, accepted payment methods, recommended dishes, award history, chart badges, promotion schemes, editorial articles, the restaurant chain it belongs to, operating status with the relocation notice, photos, menu photos, videos and engagement counters.
Price: 5 credits
⚠️ Common errors: 412: Restaurant not found in this region (valid id format but no such restaurant)
curl --request POST \
--url https://api.anysite.io/api/openrice/restaurants \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"restaurant": "<string>",
"timeout": 300,
"region": "hongkong",
"lang": "en"
}
'import requests
url = "https://api.anysite.io/api/openrice/restaurants"
payload = {
"restaurant": "<string>",
"timeout": 300,
"region": "hongkong",
"lang": "en"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({restaurant: '<string>', timeout: 300, region: 'hongkong', lang: 'en'})
};
fetch('https://api.anysite.io/api/openrice/restaurants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/openrice/restaurants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'restaurant' => '<string>',
'timeout' => 300,
'region' => 'hongkong',
'lang' => 'en'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/openrice/restaurants"
payload := strings.NewReader("{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/openrice/restaurants")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/openrice/restaurants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"restaurant\": \"<string>\",\n \"timeout\": 300,\n \"region\": \"hongkong\",\n \"lang\": \"en\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": 123,
"url": "<string>",
"name": "<string>",
"@type": "OpenriceRestaurant",
"alias": "<string>",
"name_other_lang": "<string>",
"name_langs": {},
"alias_langs": {},
"address": "<string>",
"address_other_lang": "<string>",
"display_address": "<string>",
"postal_code": "<string>",
"district": {
"id": 123,
"name": "<string>",
"@type": "OpenriceDistrict",
"alias": "<string>",
"group_id": 123,
"latitude": 123,
"longitude": 123
},
"landmark_ids": [],
"landmarks": [],
"mall_name": "<string>",
"floor": "<string>",
"unit": "<string>",
"latitude": 123,
"longitude": 123,
"directions": "<string>",
"nearby_station_exit": "<string>",
"phones": [],
"phone_remarks": [],
"website": "<string>",
"facebook": "<string>",
"instagram": "<string>",
"opened_at": 123,
"price_min": 123,
"price_max": 123,
"price_range_id": 123,
"currency_symbol": "<string>",
"seat_count": 123,
"rating": 123,
"or_score": 123,
"smile_count": 123,
"ok_count": 123,
"cry_count": 123,
"rating_taste": 123,
"rating_decor": 123,
"rating_service": 123,
"rating_hygiene": 123,
"rating_value": 123,
"review_count": 123,
"featured_review_count": 123,
"photo_count": 123,
"restaurant_photo_count": 123,
"menu_photo_count": 123,
"media_count": 123,
"bookmark_count": 123,
"popular_dish_count": 123,
"article_count": 123,
"coupon_count": 123,
"chain": {
"id": 123,
"name": "<string>",
"@type": "OpenriceChain",
"restaurant_count": 123,
"url": "<string>"
},
"cuisines": [],
"dishes": [],
"themes": [],
"amenities": [],
"conditions": [],
"payments": [],
"opening_hours": [],
"opening_hours_today": {
"days": "<string>",
"@type": "OpenriceOpeningHours",
"times": []
},
"opening_hours_special": [],
"opening_hours_note": "<string>",
"opening_hours_text": "<string>",
"last_order_text": "<string>",
"info": "<string>",
"other_info": "<string>",
"popular_dishes": [],
"recommended_dishes": [],
"articles": [],
"images": [],
"image": "<string>",
"menu_images": [],
"videos": [],
"first_review_user": {
"id": 123,
"@type": "OpenriceUserBrief",
"sso_id": "<string>",
"url": "<string>",
"username": "<string>",
"bio": "<string>",
"image": "<string>",
"grade": 123,
"grade_name": "<string>",
"review_count": 123,
"follower_count": 123,
"following_count": 123,
"photo_count": 123,
"is_vip": false,
"is_vlogger": false
},
"michelin_text": "<string>",
"promotions": [],
"badges": [],
"awards": [],
"status": 123,
"status_text": "<string>",
"status_note": "<string>",
"moved_to_restaurant_id": 123,
"is_open_now": false,
"is_open_late": false,
"is_open_early": false,
"is_new": false,
"is_verified": false,
"is_queuing_enabled": false,
"has_premium_menu": false,
"short_url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
120 <= x <= 1500hongkong, macau, shenzhen, guangzhou, zhuhai, dongguan, foshan, zhongshan, taipei, newtaipei-keelung, taoyuan, hsinchu-miaoli, taichung, changhua-nantou, yunlin-chiayi, tainan, kaohsiung-pingtung, eastern, tokyo-kanto, osaka-kobe, kyoto-kinki, nagoya-chubu, hokkaido, tohoku, hiroshima-chugoku, shikoku, fukuoka-kyushu, okinawa, bangkok, chonburi, phuket, prachuapkhirikhan, chiangmai, suratthani, nakhonratchasima, chiangrai, others, singapore, manila en, tc, sc, tc-tw, ja, th, id Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes