482 scrapers live47.7K runs1,562 usersRebuilt in the last 30 days: 482 of 482

Scrapers / Real Estate

Singapore HDB Resale Flat Prices Scraper logo

Singapore HDB Resale Flat Prices Scraper

hipersoft/singapore-hdb-resale-flat-prices

Export every HDB resale flat transaction in Singapore (1990 to present, ~945k records): town, flat type, block, street, storey, floor area, lease, resale price, price per sqm and remaining lease. Filter by town, flat type, street, price and month. Public open data, no setup.

Total users

1

Monthly users

1

Total runs

100

Per transaction scraped

$0.002

Last rebuilt

Oct 26, 2026

Overview

Export every HDB resale flat transaction in Singapore — from 1990 to the present (~945,000 records) — into clean JSON, CSV or Excel. Each row has town, flat type, block & street, storey range, floor area, flat model, lease details, resale price, price per sqm and remaining lease. Powered by HDB's open data (data.gov.sg).

Perfect for property valuation, market research, price-trend analysis, renovation/agent tools and investment dashboards.

Singapore HDB Resale Flat Prices input — town, flat type and month range filters in the Apify Console

Why this actor

Unlike scrapers that only cover the latest dataset, this one unifies all of HDB's resale datasets (1990 → today) into a single feed, newest transactions first, and adds computed fields you'd otherwise have to derive yourself:

  • 💲 pricePerSqm — resale price ÷ floor area
  • ⏳ remainingLeaseYears — parsed from the data, or computed from the lease-commencement year for older records
  • 🏠 Full record — month, town, flat type, block, street, storey range, floor area, flat model, lease commence year, resale price

Filters

  • town — e.g. TAMPINES, ANG MO KIO, BEDOK
  • flatType — e.g. 3 ROOM, 4 ROOM, 5 ROOM, EXECUTIVE
  • street — match block+street text
  • priceMin / priceMax — resale price range (S$)
  • monthFrom / monthTo — YYYY-MM range
  • maxItems — cap the export (full history ~945k)

Example input

{ "town": "TAMPINES", "flatType": "4 ROOM", "monthFrom": "2024-01", "maxItems": 2000 }

Output

Singapore HDB Resale Flat Prices output example — HDB resale transactions as structured JSON

{
  "month": "2026-07",
  "town": "TAMPINES",
  "flatType": "4 ROOM",
  "block": "123",
  "streetName": "SIMEI ST 1",
  "address": "123 SIMEI ST 1",
  "storeyRange": "10 TO 12",
  "floorAreaSqm": 104,
  "flatModel": "Model A",
  "leaseCommenceYear": 1987,
  "remainingLease": "61 years 04 months",
  "remainingLeaseYears": 61.4,
  "resalePrice": 653000,
  "pricePerSqm": 6279,
  "sourceUrl": "https://data.gov.sg/collections/189/view",
  "collectedAt": "2026-07-30T12:00:00.000Z"
}

Output schema

Field Type Description
id string Unique record ID for the transaction.
month string Transaction month (YYYY-MM).
town string HDB town, e.g. TAMPINES.
flatType string Flat type, e.g. 4 ROOM.
block string Block number.
streetName string Street name.
address string Full address (block + street).
storeyRange string Storey band of the flat, e.g. 10 TO 12.
floorAreaSqm integer Floor area in square metres.
flatModel string HDB flat model, e.g. Model A.
leaseCommenceYear integer Year the flat's 99-year lease began.
remainingLease string Remaining lease as text (years and months).
remainingLeaseYears number Remaining lease in decimal years.
resalePrice integer Resale transaction price in SGD.
pricePerSqm integer Resale price per square metre in SGD.
sourceUrl string (URL) data.gov.sg source the record was pulled from.
collectedAt string (ISO date) When this Actor collected the record.

FAQ

Do I need an account or API key? No. Set your filters and run — no login, account, or API key is required.

How far back does the data go? Every HDB resale transaction from 1990 to the present (around 945,000 records), returned newest first.

Can I filter by town, flat type or price? Yes. Filter by town, flatType, street, a priceMin/priceMax range and a monthFrom/monthTo window, and cap the export with maxItems.

What's the output format? Structured JSON — one clean record per transaction with town, flat type, address, floor area, lease details, resale price and price per sqm. Export it as JSON, CSV, Excel, or via the API.

Can I integrate this with other tools? The Singapore HDB Resale Flat Prices Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.

Notes

Data is © HDB, published under the Singapore Open Data Licence (commercial reuse permitted). Use responsibly and in line with the licence terms.

Input

FieldTypeDescription
town
Town
stringFilter by HDB town, e.g. ANG MO KIO, TAMPINES, BEDOK. Leave empty for all.
flatType
Flat type
stringFilter by flat type, e.g. 3 ROOM, 4 ROOM, 5 ROOM, EXECUTIVE. Leave empty for all.
street
Street contains
stringMatch transactions whose block+street contains this text. Leave empty for all.
priceMin
Min resale price (S$)
integerOnly transactions at or above this resale price.
priceMax
Max resale price (S$)
integerOnly transactions at or below this resale price.
monthFrom
Month from (YYYY-MM)
stringEarliest transaction month, e.g. 2020-01.
monthTo
Month to (YYYY-MM)
stringLatest transaction month, e.g. 2026-07.
maxItems
Max transactions
integerMaximum transactions to return (newest first). Full history is ~945k.
Default: 1000

API

curl -X POST "https://api.apify.com/v2/acts/hipersoft~singapore-hdb-resale-flat-prices/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "town": "",
  "flatType": "",
  "street": "",
  "monthFrom": "",
  "monthTo": "",
  "maxItems": 100
}'

Pricing

EventPricePaid plans from
Transaction scraped
One HDB resale transaction record scraped.
$0.002$0.001
API request
One HDB resale dataset API request (a page of results).
$0.001$0.001

You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.

Related scrapers

CNN Fear & Greed Index Scraper

Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.

547 runs · 6 users · $0.003 / item scraped

Divar Scraper

Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.

224 runs · 22 users · $0.003 / listing scraped

Airbnb Scraper

Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.

122 runs · 2 users · $0.005 / listing scraped

Singapore HDB Property Information Scraper

Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.

113 runs · 1 users · $0.002 / block scraped

PropertyGuru Singapore Scraper

Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.

106 runs · 3 users · $0.004 / listing scraped

EdgeProp Singapore Property Scraper

Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.

105 runs · 1 users · $0.004 / listing scraped
Need a source that isn't here?

Send the site and the fields. We build it and you get it first.

Request a build