Singapore HDB Resale Flat Prices Scraper
Singapore HDB Resale Flat Prices Scraper
Crawls historical HDB (Housing & Development Board) public housing resale transactions from Singapore's open-data portal (data.gov.sg). HDB flats house roughly 80% of Singapore residents, making this the foundational SG residential-property dataset.
What you get
- ~976,000 transactions spanning January 1990 to the current month, refreshed monthly
- For each record:
- Location: town, block, street name, formatted address, storey range
- Property: flat type (3-room / 4-room / 5-room / executive / multi-gen), flat model (Improved, Maisonette, DBSS, Premium Apartment, etc.), floor area in sqm and sqft
- Lease: lease commencement year, remaining lease in years (derived for pre-2015 records using the 99-year HDB lease)
- Price: resale price in SGD, derived price-per-sqft and price-per-sqm
- Provenance: source dataset id, transaction basis (resale-approval pre-Mar-2012, registration after), scrape timestamp
Inputs
- Towns — filter to one or more of Singapore's 26 HDB towns (ANG MO KIO, BISHAN, TAMPINES, …). Empty = all towns.
- Flat types — 1/2/3/4/5 ROOM, EXECUTIVE, MULTI-GENERATION. Empty = all types.
- Month from / Month to — YYYY-MM bounds. Useful for incremental refreshes (
monthFrom: 2025-01to pull only the latest year). - Sort order — newest-first (default) or oldest-first.
- Max items — caps total records across all matching datasets. Default 15 for previews; set to
0for an unlimited bulk pull. - Proxy — Apify residential rotation by default. data.gov.sg's open-data endpoint rate-limits aggressively per IP, so spreading requests across many residential exit nodes is required for reliable bulk pulls.
Source & freshness
The actor combines five child datasets that make up data.gov.sg's "Resale Flat Prices" collection:
| Coverage | Records (~) | Notes |
|---|---|---|
| 1990 – 1999 | 287,000 | resale-approval basis |
| 2000 – Feb 2012 | 369,000 | resale-approval basis |
| Mar 2012 – 2014 | 52,000 | switched to registration basis |
| 2015 – 2016 | 37,000 | adds published remaining_lease |
| Jan 2017 onward | 230,000+ | rolling, refreshed monthly by HDB |
Pre-2015 records do not ship a remaining_lease field — the actor derives it from lease_commence_date plus the transaction month using the standard 99-year HDB lease.
Live for-sale listings
The original spec asked for active resale listings (asking price, HDB valuation, agent contact). Those live behind Singpass — Singapore's national digital-identity gateway, restricted to citizens and permanent residents — so they are not collectable from this actor. Only the historical transaction record is included.
Pricing
Pay-per-event: $0.10 per actor start + $0.001 per record returned. Default test runs (15 records) cost roughly $0.115; a full historical pull (~976,000 records) costs roughly $976.10.
Need more?
File a request via the actor's issue tracker or contact form on the OrbLabs storefront if you need additional fields, a different cadence, or a related Singapore property dataset.