curl --request POST \
--url https://api.anysite.io/api/midland/transactions \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"transaction": "<string>",
"timeout": 300,
"lang": "zh-hk",
"unit": "feet",
"currency": "HKD"
}
'import requests
url = "https://api.anysite.io/api/midland/transactions"
payload = {
"transaction": "<string>",
"timeout": 300,
"lang": "zh-hk",
"unit": "feet",
"currency": "HKD"
}
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({
transaction: '<string>',
timeout: 300,
lang: 'zh-hk',
unit: 'feet',
currency: 'HKD'
})
};
fetch('https://api.anysite.io/api/midland/transactions', 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/midland/transactions",
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([
'transaction' => '<string>',
'timeout' => 300,
'lang' => 'zh-hk',
'unit' => 'feet',
'currency' => 'HKD'
]),
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/midland/transactions"
payload := strings.NewReader("{\n \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\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/midland/transactions")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/midland/transactions")
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 \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "MidlandTransaction",
"url": "<string>",
"url_zh_cn": "<string>",
"url_en": "<string>",
"transaction_type": "<string>",
"transaction_at": 123,
"market_type": "<string>",
"deal_type": "<string>",
"source": "<string>",
"original_source": "<string>",
"tags": [],
"price": 123,
"price_per_net_area": 123,
"area": 123,
"net_area": 123,
"bedroom_count": 123,
"sitting_room_count": 123,
"floor": "<string>",
"floor_level": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"flat": "<string>",
"orientation": "<string>",
"geo": {
"@type": "MidlandGeo",
"region": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"subregion": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"sm_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"combined_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"int_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"int_sm_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"lux_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
}
},
"estate": {
"@type": "MidlandTransactionEstate",
"id": "<string>",
"name": "<string>",
"address": "<string>",
"vendor": "<string>",
"block_count_text": "<string>",
"first_op_at": 123,
"latitude": 123,
"longitude": 123,
"school_net": {
"@type": "MidlandSchoolNet",
"kindergarten_id": "<string>",
"kindergarten_name": "<string>",
"primary_id": "<string>",
"primary_name": "<string>",
"secondary_id": "<string>",
"secondary_name": "<string>"
},
"facility_groups": [],
"property_status": [],
"photos": [],
"videos": [],
"url": "<string>"
},
"building": {
"@type": "MidlandBuilding",
"id": "<string>",
"name": "<string>",
"address": "<string>",
"first_op_at": 123,
"floor_count": 123,
"building_type": "<string>",
"latitude": 123,
"longitude": 123,
"streetview_latitude": 123,
"streetview_longitude": 123,
"streetview_angle": 123
},
"features": [],
"floor_plans": [],
"images": [],
"history": [],
"building_history_url": "<string>",
"estate_url": "<string>",
"listings_url": "<string>",
"news_url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/midland/transactions
Get one Hong Kong property deal recorded by Midland Realty by its transaction id (or transaction URL), together with the full price history of the same unit. Returns the transacted price and price per saleable area, gross and saleable area, room counts, floor, floor band, flat and orientation, unit features and floor plans, the eight-level geography, the estate profile (vendor, address, block count, occupation date, coordinates, school nets, facilities, photos and videos), the building, and every earlier deal on the same unit with its price, date, prior price and gain.
Price: 1 credit
⚠️ Common errors: 412: No deal with this transaction id.
curl --request POST \
--url https://api.anysite.io/api/midland/transactions \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"transaction": "<string>",
"timeout": 300,
"lang": "zh-hk",
"unit": "feet",
"currency": "HKD"
}
'import requests
url = "https://api.anysite.io/api/midland/transactions"
payload = {
"transaction": "<string>",
"timeout": 300,
"lang": "zh-hk",
"unit": "feet",
"currency": "HKD"
}
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({
transaction: '<string>',
timeout: 300,
lang: 'zh-hk',
unit: 'feet',
currency: 'HKD'
})
};
fetch('https://api.anysite.io/api/midland/transactions', 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/midland/transactions",
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([
'transaction' => '<string>',
'timeout' => 300,
'lang' => 'zh-hk',
'unit' => 'feet',
'currency' => 'HKD'
]),
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/midland/transactions"
payload := strings.NewReader("{\n \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\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/midland/transactions")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/midland/transactions")
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 \"transaction\": \"<string>\",\n \"timeout\": 300,\n \"lang\": \"zh-hk\",\n \"unit\": \"feet\",\n \"currency\": \"HKD\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "MidlandTransaction",
"url": "<string>",
"url_zh_cn": "<string>",
"url_en": "<string>",
"transaction_type": "<string>",
"transaction_at": 123,
"market_type": "<string>",
"deal_type": "<string>",
"source": "<string>",
"original_source": "<string>",
"tags": [],
"price": 123,
"price_per_net_area": 123,
"area": 123,
"net_area": 123,
"bedroom_count": 123,
"sitting_room_count": 123,
"floor": "<string>",
"floor_level": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"flat": "<string>",
"orientation": "<string>",
"geo": {
"@type": "MidlandGeo",
"region": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"subregion": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"sm_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"combined_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"int_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"int_sm_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
},
"lux_district": {
"@type": "MidlandRef",
"id": "<string>",
"name": "<string>"
}
},
"estate": {
"@type": "MidlandTransactionEstate",
"id": "<string>",
"name": "<string>",
"address": "<string>",
"vendor": "<string>",
"block_count_text": "<string>",
"first_op_at": 123,
"latitude": 123,
"longitude": 123,
"school_net": {
"@type": "MidlandSchoolNet",
"kindergarten_id": "<string>",
"kindergarten_name": "<string>",
"primary_id": "<string>",
"primary_name": "<string>",
"secondary_id": "<string>",
"secondary_name": "<string>"
},
"facility_groups": [],
"property_status": [],
"photos": [],
"videos": [],
"url": "<string>"
},
"building": {
"@type": "MidlandBuilding",
"id": "<string>",
"name": "<string>",
"address": "<string>",
"first_op_at": 123,
"floor_count": 123,
"building_type": "<string>",
"latitude": 123,
"longitude": 123,
"streetview_latitude": 123,
"streetview_longitude": 123,
"streetview_angle": 123
},
"features": [],
"floor_plans": [],
"images": [],
"history": [],
"building_history_url": "<string>",
"estate_url": "<string>",
"listings_url": "<string>",
"news_url": "<string>"
}
]{
"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
Show child attributes
Show child attributes
Show child attributes
Show child attributes