Skip to main content
GET
/
openapi
/
v1
/
real-estate
/
{country}
/
geojson
Ward choropleth GeoJSON
curl --request GET \
  --url https://api.hayinsights.com/openapi/v1/real-estate/{country}/geojson \
  --header 'X-API-Key: <api-key>'
{
  "success": true,
  "statusCode": 200,
  "data": {
    "wards": [
      {
        "wardId": 34,
        "wardName": "Phú Thuận",
        "areaName": "Khu vực II",
        "area": "Khu vực II",
        "avgPriceResidentialVt1": 52639.39,
        "avgPriceResidentialVt2": null,
        "avgPriceResidentialVt3": null,
        "avgPriceResidentialVt4": null,
        "minPriceResidential": 36500,
        "maxPriceResidential": 83400,
        "roadCount": 38,
        "unit": "k_vnd",
        "coordinates": [
          [
            [
              106.751906,
              10.7051207
            ],
            [
              106.751422,
              10.7074537
            ]
          ]
        ]
      }
    ],
    "availableYears": [
      2024,
      2025,
      2026
    ],
    "latestYear": 2026
  },
  "meta": {
    "timestamp": "2026-06-19T08:54:29.621Z"
  }
}

Authorizations

X-API-Key
string
header
required

Your HayInsights API key (prefixed apk_). Create and manage keys in the HayInsights dashboard (Account → API keys).

Send it in the X-API-Key header on every request to /openapi/v1/*. Which data domains you may access and your request quota are both governed by the subscription plan attached to the key — see the Plans & features and Rate limits guides.

Path Parameters

country
string
required

Country code, lowercase.

Example:

"vn"

Response

Ward features with price attributes and boundary geometry.

Standard success envelope shared by every endpoint. Each operation's response wrapper extends this (via allOf) and adds a typed data property.

success
boolean
required

Always true for a successful response.

Example:

true

statusCode
integer
required

Mirrors the HTTP status code.

Example:

200

data
object
required

Choropleth payload: a collection of ward features carrying both their average-price attributes and their boundary geometry. The geometry (coordinates) is intentionally modelled permissively — it is a nested array of [longitude, latitude] coordinate rings and can be large; clients typically pass it straight to a mapping library.

meta
object

Response metadata. Always present; timestamp is the server time the response was generated.