HDB Resale Prices Scraper avatar

HDB Resale Prices Scraper

Pricing

from $0.84 / 1,000 results

Go to Apify Store
HDB Resale Prices Scraper

HDB Resale Prices Scraper

Every registered HDB resale flat transaction since 2017 from HDB's official data: town, flat type, block and street, storey, floor area, model, lease, resale price, price per sqm and sqft. Filter by town, flat type, month and price.

Pricing

from $0.84 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

HDB Resale Prices Scraper (Singapore)

Every registered HDB resale flat transaction since January 2017, from HDB's official open data on data.gov.sg: month, town, flat type, block and street, storey range, floor area, flat model, lease start, remaining lease and resale price — plus price per sqm and per sqft, storeys and remaining lease as numbers.

Filter by town, flat type, month window and price; sort by date or price. No key, no login, no proxy.

What it is for

  • Valuing a flat — what 4-room flats in Bishan actually sold for this year, with price per sqft.
  • Market tracking — monthly volumes and median prices by town and type.
  • Agents and analysts — a clean, typed table instead of HDB's text columns.

Input

fieldwhat it does
townsHDB towns, any case (bishan, Tampines, kallang → KALLANG/WHAMPOA). Empty = all 26.
flatTypes1 ROOM … 5 ROOM, EXECUTIVE, MULTI-GENERATION (4-room, 4rm work too).
monthFrom / monthToRegistration months, YYYY-MM. Default: the last 12 months.
minPrice / maxPricePrice range in S$.
sortByNewest or oldest month, highest or lowest price.
maxItemsDefault 1,000; 0 = all.

Things about this data worth knowing

1. The current month is still filling up

Transactions are listed by the month they were registered, and keep arriving for weeks. On 25 September 2026, September had 1,788 resales against 2,521 for August. Leave the current month out when comparing volumes; the summary adds a note when your window includes it.

2. Town and flat-type names must be exact at the source

HDB's data answers bishan with zero rows and no error — only BISHAN matches. This Actor normalises what you type and checks it against the 26 towns and 7 flat types, so a typo stops the run with the valid list instead of returning an empty table.

3. Remaining lease comes in three spellings

"49 years 10 months", "61 years 01 month", "61 years". The Actor adds remainingLeaseMonths and remainingLeaseYears, parsed from all three.

4. Only the price is a number at the source

Floor area, storey range and lease start are text. The Actor adds floorAreaSqm, floorAreaSqft, pricePerSqm, pricePerSqft, storeyMin, storeyMax and leaseCommenceYear, and keeps HDB's original fields beside them.

5. Price filters

data.gov.sg has no price-range filter, so prices are checked as rows arrive. Sorted by price, the Actor stops as soon as it passes your bound: all 1,801 resales of S$1M or more in the last 12 months took one request.

Output

One RESALE_TRANSACTION row per resale and one SEARCH_SUMMARY with the matching total, median price and median price per sqm of the returned rows.

{
"recordType": "RESALE_TRANSACTION",
"month": "2026-09",
"town": "ANG MO KIO",
"flat_type": "2 ROOM",
"address": "323 ANG MO KIO AVE 3",
"storey_range": "10 TO 12",
"storeyMin": 10,
"storeyMax": 12,
"floorAreaSqm": 44.0,
"floorAreaSqft": 473.6,
"flat_model": "Improved",
"leaseCommenceYear": 1977,
"remaining_lease": "49 years 10 months",
"remainingLeaseYears": 49.83,
"resalePrice": 285000.0,
"pricePerSqm": 6477.27,
"pricePerSqft": 601.76,
"currency": "SGD"
}
{
"recordType": "SEARCH_SUMMARY",
"towns": ["BISHAN", "TAMPINES", "KALLANG/WHAMPOA"],
"flatTypes": ["4 ROOM", "5 ROOM"],
"monthFrom": "2025-01",
"monthTo": "2026-09",
"matchingTransactions": 3818,
"returnedCount": 3818,
"medianPrice": 768000,
"medianPricePerSqm": 7405.21
}

Speed and limits

  • 5,000 transactions per request; data.gov.sg limits anonymous callers, so requests are 6 seconds apart (a rate-limit answer is waited out and retried). 3,818 rows took 15 seconds.
  • Resales before 2017 are in separate HDB datasets and are not included.
  • Resale flats only: no rentals, BTO or private property.