Rent data API

Published Singapore residential rent statistics as JSON. Free, no key, no signup, read-only. Every response carries its own source and methodology.

These are area medians. They describe what a town or a building let for, in aggregate, in a past quarter. They do not describe any specific unit, and this API cannot value one. Where a figure is not published — HDB 2-room, landed property, a district URA suppressed — the response says so and returns null. Nothing is interpolated or estimated.

Start here

One call that tells you every valid input and every gap — worth making before anything else.

curl https://renvae.com/api/rent-estimate/coverage

Town names are HDB town names in upper case (TAMPINES), not postal districts or MRT stations. Flat types are 3-RM, 4-RM, 5-RM, EXEC — HDB publishes no median for 2-room.

Endpoints

GET /api/rent-estimate/coverage
GET /api/rent-estimate/hdb?town=TAMPINES&flat_type=4-RM
GET /api/rent-estimate/condo?q=bishan
GET /api/rent-estimate/condo?project=<exact name>&sqft=1100
GET /api/rent-estimate/condo?district=15&sqft=1100
GET /api/status

Two things to read carefully

MCP

The same four tools over Model Context Protocol — stateless JSON-RPC, identical figures.

POST /api/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/list"}

Discovery

Pages also serve Markdown to clients that send Accept: text/markdown.

What this API will never do

There is no listing search, no availability data, and no tenant matching — not now and not later. Introducing a tenant to a landlord, or ranking one toward the other, is licensed estate agency work under Singapore’s Estate Agents Act. We build software for landlords who let their own property; we take no part in the letting itself.

Source data

HDB median rents (2026-Q1) and URA median rent psf (2026-Q2), from published HDB and URA releases via data.gov.sg. Full attribution is in the source field of every response, and the working is shown on the rent estimate page. Figures update on redeploy when the quarterly releases land — this is not a live feed.

Something broken, or need an endpoint that does not exist? Get in touch.