curl --request POST \
--url https://api.anysite.io/api/28hse/indices \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"timeout": 300,
"site": "28hse",
"lang": "tc"
}
'import requests
url = "https://api.anysite.io/api/28hse/indices"
payload = {
"timeout": 300,
"site": "28hse",
"lang": "tc"
}
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({timeout: 300, site: '28hse', lang: 'tc'})
};
fetch('https://api.anysite.io/api/28hse/indices', 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/28hse/indices",
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([
'timeout' => 300,
'site' => '28hse',
'lang' => 'tc'
]),
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/28hse/indices"
payload := strings.NewReader("{\n \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\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/28hse/indices")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/28hse/indices")
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 \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "Hse28MarketIndex",
"property_index": 123,
"property_index_week_change_percent": 123,
"property_index_month_change_percent": 123,
"rental_index": 123,
"rental_index_week_change_percent": 123,
"rental_index_month_change_percent": 123,
"release_note": "<string>",
"district_property_indices": [],
"district_rental_indices": [],
"property_index_history": [],
"rental_index_history": [],
"constituent_estates": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/28hse/indices
Get the Eva Property Index (易發樓價指數, EPI) and the Eva Rental Index (易發租金指數, ERI) — the weekly Hong Kong secondary residential price and rent benchmarks that 28Hse publishes together with the University of Hong Kong, computed from Land Registry deals and market reporting. Returns the current level of both indices with their week-on-week and month-on-month changes, the release note naming the publication date and the contract-signing window the reading covers, the four sub-indices for Hong Kong Island, Kowloon, New Territories East and New Territories West for prices and for rents with their own weekly and monthly changes, the full monthly history of both indices back to 2010, and the constituent estates of each regional index with their current price per saleable square foot and estate ids.
Price: 10 credits
curl --request POST \
--url https://api.anysite.io/api/28hse/indices \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"timeout": 300,
"site": "28hse",
"lang": "tc"
}
'import requests
url = "https://api.anysite.io/api/28hse/indices"
payload = {
"timeout": 300,
"site": "28hse",
"lang": "tc"
}
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({timeout: 300, site: '28hse', lang: 'tc'})
};
fetch('https://api.anysite.io/api/28hse/indices', 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/28hse/indices",
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([
'timeout' => 300,
'site' => '28hse',
'lang' => 'tc'
]),
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/28hse/indices"
payload := strings.NewReader("{\n \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\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/28hse/indices")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/28hse/indices")
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 \"timeout\": 300,\n \"site\": \"28hse\",\n \"lang\": \"tc\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "Hse28MarketIndex",
"property_index": 123,
"property_index_week_change_percent": 123,
"property_index_month_change_percent": 123,
"rental_index": 123,
"rental_index_week_change_percent": 123,
"rental_index_month_change_percent": 123,
"release_note": "<string>",
"district_property_indices": [],
"district_rental_indices": [],
"property_index_history": [],
"rental_index_history": [],
"constituent_estates": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
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