---
title: "Estimate the sale price or rent of one home"
method: GET
path: "/valuations"
tags: ["Valuations"]
---

# Estimate the sale price or rent of one home

`GET /valuations`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/valuations`
- Auth: HTTP bearer

Returns the automated valuation engine's result for one home when the authenticated client has `valuations.read`: the same estimate, range, status and up to five comparables as the public valuation page, with the segment's measured accuracy. Pass the subject fields from `/valuations/subjects`. External URL: `/v1/valuations`. Current Next.js implementation path: `/api/platform/v1/valuations`. This read-only route does not require `Idempotency-Key`. Comparables carry month, price, PSF, floor area and storey band only; responses never include unit numbers, transaction IDs, source rows or engine internals. Each API key may make 60 requests a minute and 2,000 a day across both valuation routes; over either limit the route answers `429` `rate_limit_exceeded` with `Retry-After`. When the engine is unavailable the route answers `503` `valuation_engine_unavailable` and never a figure from elsewhere. Free under the partner terms: show "Estimate by Homejourney" with a link to the `attribution.url`, show the `disclaimer`, and do not resell, bulk-collect or store estimates beyond 30 days.

## Query parameters

- `side` 'sale' | 'rent', required
- `segment` 'hdb' | 'private_non_landed' | 'landed' | 'strata_commercial' | 'strata_industrial' | 'whole_industrial'
- `block` string
- `street` string
- `flat_type` string
- `project` string
- `district` integer
- `floor_area_sqm` number
- `property_type` 'OFFICE' | 'RETAIL' | 'SHOP HOUSE' | 'MULTIPLE-USER FACTORY' | 'BUSINESS PARK' | 'SINGLE-USER FACTORY' | 'WAREHOUSE'
- `storey` integer
- `unit` string
- `house_type` 'TERRACE' | 'SEMI-DETACHED' | 'DETACHED' | 'CLUSTER'
- `tenure` 'freehold' | 'leasehold'
- `land_area_sqm` number
- `built_year` integer

## Headers

- `X-Correlation-Id` string

## Response `200`

The engine result with the disclaimer and attribution.

- ValuationEstimateResponse
  - `valuation` object, required: The valuation engine result contract, unchanged from the public page.
    - `engine_version` string, required
    - `model_build_id` string, nullable, required
    - `subject` object, nullable, required: The home as the engine valued it.
    - `side` 'sale' | 'rent', required
    - `status` 'estimate' | 'range' | 'comparables' | 'unsupported', required: What the segment accuracy gate and the request allow, best first.
    - `estimate` number, nullable, required
    - `range` object, nullable, required
      - `low` number, required
      - `high` number, required
    - `confidence` 'high' | 'medium' | 'low' | 'null', nullable, required
    - `comparable_count` integer, required
    - `comparables` object[], required
      - `month` string, required
      - `price` number, required
      - `psf` number, nullable, required
      - `floor_area_sqm` number, nullable, required
      - `land_area_sqm` number, nullable
      - `floor_area_range` string, nullable
      - `floor_band` string, nullable, required: Storey band such as `07 TO 09`.
      - `location` 'same_block' | 'same_street' | 'same_project' | 'same_area', required
    - `assumptions` string[], required
    - `reasons` string[], required
    - `missing_inputs` string[]
    - `accuracy_inputs` 'full' | 'blank' | 'unit'
    - `unmatched_unit` string: Condo sale only: the requested unit, such as #16-29, when its stack has no recorded sale, so its floor area is not known.
    - `data_as_of` string, nullable, required
    - `segment_accuracy` object, nullable, required: The segment's latest weekly holdout accuracy, in percent.
    - `rent_benchmark` object, nullable: Strata commercial only: the closest REALIS median gross monthly rent per square foot (`median_rent_psf`) and its `rental_contracts`, for the `property_type`, `geography_level` and `geography`, `floor_area_band` and lease months `lease_from` to `lease_to`. A market figure, not an estimate.
  - `disclaimer` 'An automated estimate from recorded transactions, not a valuation by a licensed valuer. Do not rely on it for a loan, sale or legal decision.', required
  - `attribution` object, required
    - `text` 'Estimate by Homejourney', required
    - `url` string, uri, required
  - `livemode` boolean, required
  - `request_id` string, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing or invalid platform API key.
- `403`: Credential, environment, or scope is not allowed.
- `404`: Platform API feature or resource is not available.
- `429`: Rate limit exceeded.
- `500`: Unexpected platform API failure.
- `503`: A required managed platform dependency is unavailable.

---

[API](https://skmtc.dev/homejourney/apis/homejourney-platform-api.md) · [All operations](https://skmtc.dev/homejourney/apis/homejourney-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/homejourney/apis/homejourney-platform-api/revisions/a2c6fe063db1?raw)
