hk_property_rentals
HK residential rental listings with monthly rent and rent/sqft
Download a file
CSV and Parquet. Filtered exports.
See pricingQuery with SQL
DBeaver, DuckDB, MotherDuck, or HTTPS. Sub-second latency.
Open connection detailsConnect to AI
MCP for Claude Desktop, Cursor, ChatGPT, Goose. 1-line install.
See setupHong Kong residential rental records from Centaline (Centadata). One row per rental record: date, monthly rent, saleable and gross floor areas, rent per square foot on both bases, plus bedroom count and aspect. The rental counterpart to hk_property_transactions (sales). Rentals never register with the Land Registry, so this is a recent series rather than a deep historical archive.
Evaluate it in full below: the evidence and a working sample are open to everyone. Buy or subscribe to unlock the complete dataset — your account is created automatically at checkout.
The evidence
Rows over time
monthSchema & column quality (21 columns)
Scroll table sideways to see more columns →
| Column | Type | Description | Populated | Distinct |
|---|---|---|---|---|
| rental_id | String | Centaline listing reference — unique identifier for the rental listing (rentals do not register, so there is no Land Registry memorial) | — | — |
| unit_code | Nullable(String) | Centaline unit code — links to hk_property_units | — | — |
| building_code | Nullable(String) | Centaline building code of the building the rental listing is in — links to hk_property_buildings (estate/building names, geo, district). Placed from the listing's own Centaline building link, else from the building its unit belongs to, and only where that building sits inside the phase or estate the listing is coded to. NULL (about 2% of rows) when no building can be placed without contradicting that phase or estate; phase_code and estate_code still locate those rows | — | — |
| building_code_source | Nullable(String) | How building_code was placed: bldggrp = the listing's own Centaline building link (its cblgcode); unit = the building the listing's unit belongs to; unit_code_prefix = the first 10 characters of a 14-character unit code; sole_phase_member = the only building in the listing's phase; typecode = the listing was coded to a building directly. NULL when building_code is NULL | — | — |
| phase_code | Nullable(String) | Centaline phase code — the construction/launch tranche of a development the rental listing sits in; links to hk_property_phases. The placed building's phase, else the phase the listing is coded to. NULL when neither is known | — | — |
| estate_code | Nullable(String) | Centaline estate code — the named multi-phase development the rental listing sits in; links to hk_property_estates. NULL for standalone developments that belong to no estate, and when the estate is unknown | — | — |
| rent_date | Date | Listing date in the Hong Kong calendar (YYYY-MM-DD) | — | — |
| rent_hkd | Nullable(Float64) | Monthly rent in Hong Kong dollars | — | — |
| saleable_area_sqft | Nullable(Float64) | Saleable area in square feet (實用面積); null where the source omits it | — | — |
| gross_area_sqft | Nullable(Float64) | Gross area in square feet (建築面積); null where the source omits it | — | — |
| rent_per_saleable_sqft | Nullable(Float64) | Monthly rent divided by saleable area (HK$/sqft); null when saleable area is unknown | — | — |
| rent_per_gross_sqft | Nullable(Float64) | Monthly rent divided by gross area (HK$/sqft); null when gross area is unknown | — | — |
| block | Nullable(String) | Block/tower label (English) | — | — |
| floor | Nullable(String) | Floor zone as listed, in Chinese: 高層 (high), 中層 (middle) or 低層 (low) — not a floor number; blank where not given | — | — |
| flat | Nullable(String) | Flat/unit designation (e.g. Flat D) | — | — |
| direction | Nullable(String) | Aspect of the unit as listed, in Chinese (e.g. 東南 south-east, 西南 south-west, 南 south); blank where not given | — | — |
| unit_type | Nullable(String) | Unit type from the centanet feed (e.g. AP = apartment, HS = house, LR/MR/HR = low/mid/high-rise) | — | — |
| first_or_second_hand | Nullable(String) | First-hand (primary) vs second-hand (resale). Agency (AC) listings are second-hand; first-hand sales register via the Land feed. | — | — |
| bedroom_count | Nullable(Int64) | Number of bedrooms in the unit, as listed | — | — |
| updated_at | DateTime64(3) | Timestamp when the record was last loaded | — | — |
| id | String | Stable unique identifier for this row — the last column of every export. Use it to deduplicate, to key an incremental load, or to reference one specific row. It is additive: the entity and join keys you already use (rental_id, building_code) are unchanged. | — | — |
The most recent rental records, full schema, newest first.
Choose your access
A Pass gives you freshness within a rolling window. The Full Archive gives you the full history we hold for the dataset, frozen at purchase. They solve different problems, and they work together.
Pass subscription
Hong Kong Property — Property Pass
Continuously updated, with API access.
View full package →- Access window
- Full history (no window)
- Updates
- Continuous, within hours of the source
- Delivery
- API, SQL and downloads
- Exports
- 1,000,000 rows/month included
Included Datasets
Get notified when this dataset is updated.
Questions about this data?
Our data experts are ready to help clarify any aspects of this dataset.
Contact Our Team