---
title: "PropertyGuru API: JSON data, 4 endpoints, 1 credit per call"
description: "PropertyGuru API for Singapore and Malaysia condos, landed homes and HDB flats for sale or rent, listings and projects as JSON. 1 credit per successful call."
url: https://perceptlayer.com/apis/propertyguru
---

[APIs](https://perceptlayer.com/apis) / [Real estate](https://perceptlayer.com/verticals/real-estate) / PropertyGuru

1 credit per call 4 endpoints 3 datapoints

# PropertyGuru API

PropertyGuru API for Singapore and Malaysia condos, landed homes and HDB flats for sale or rent, listings and projects as JSON. 1 credit per successful call.

[Get a free API key](https://perceptlayer.com/signup) Run it below

PropertyGuru

GET /v1/propertyguru/search?market=sg&listing\_type=sale&bedrooms=3&sort=price&order=asc 

```
{
  "success": true,
  "data": {
    "market": "sg",
    "listing_type": "sale",
    "currency": "SGD",
    "result_count": 18046,
    "pagination": {
      "current_page": 1,
      "total_pages": 903,
      "per_page": 20
    },
    "applied_filters": {
      "listing_type": "sale",
      "bedrooms": "3",
      "sort": "price",
      "order": "asc"
    },
    "sort_options": [
      {
        "label": "Lowest Price",
        "sort": "price",
        "order": "asc"
      },
      {
        "label": "Highest Price",
        "sort": "price",
        "order": "desc"
      },
      {
        "label": "PSF (low-high)",
        "sort": "psf",
        "order": "asc"
      }
    ],
    "items": [
      {
        "id": 500248942,
        "url": "https://www.propertyguru.com.sg/listing/hdb-for-sale-210-boon-lay-place-500248942",
        "title": "210 Boon Lay Place",
        "address": "210 Boon Lay Place, Boon Lay / Jurong / Tuas",
        "short_address": "Boon Lay / Jurong / Tuas, West (D22-24)",
        "status": "ACT",
        "price": {
          "value": 300000,
          "pretty": "S$ 300,000",
          "currency": "SGD"
        },
        "psf": {
          "value": 429.18,
          "text": "S$ 429.18 psf"
        },
        "bedrooms": 3,
        "bathrooms": 1,
        "size_sqft": 699,
        "features": [
          "699 sqft",
          "HDB Flat",
          "99-year Leasehold"
        ],
        "property_type": "HDB Flat",
        "property_group": "hdb",
        "new_project": false,
        "project_id": 4054,
        "district_code": "D22",
        "district": "Boon Lay / Jurong / Tuas",
        "region_code": "H",
        "region": "West (D22-24)",
        "tenure_code": "L99",
        "tenure": "99-year Leasehold",
        "build_year": "Built: 1977",
        "mrt": "770 m (9 min) from JS5 Corporation MRT (U/C)",
        "posted_at": "2026-10-13T13:45:26+00:00",
        "agent": {
          "id": 541069,
          "name": "Hazel Wong You Er",
          "license": "R058730G",
          "verified": false,
          "profile_url": "https://www.propertyguru.com.sg/agent/hazel-wong-you-er-541069",
          "photo": "https://sg1-cdn.pgimgs.com/agent/541069/APHO.120616989.V120B.jpg"
        },
        "agency": {
          "id": 4647,
          "name": "HUTTONS ASIA PTE LTD"
        },
        "images": [
          "https://sg1-cdn.pgimgs.com/listing/500248942/UPHO.161289011.V800/210-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500248942/UPHO.161289012.V800/210-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500248942/UPHO.161289013.V800/210-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg"
        ],
        "media": {
          "images": 9,
          "floorPlans": 1
        }
      },
      {
        "id": 500270286,
        "url": "https://www.propertyguru.com.sg/listing/hdb-for-sale-114-ho-ching-road-500270286",
        "title": "114 Ho Ching Road",
        "address": "114 Ho Ching Road, Boon Lay / Jurong / Tuas",
        "short_address": "Boon Lay / Jurong / Tuas, West (D22-24)",
        "status": "ACT",
        "price": {
          "value": 310000,
          "pretty": "S$ 310,000",
          "currency": "SGD"
        },
        "psf": {
          "value": 442.86,
          "text": "S$ 442.86 psf"
        },
        "bedrooms": 3,
        "bathrooms": 2,
        "size_sqft": 700,
        "features": [
          "700 sqft",
          "HDB Flat",
          "99-year Leasehold"
        ],
        "property_type": "HDB Flat",
        "property_group": "hdb",
        "new_project": false,
        "project_id": 6286,
        "district_code": "D22",
        "district": "Boon Lay / Jurong / Tuas",
        "region_code": "H",
        "region": "West (D22-24)",
        "tenure_code": "L99",
        "tenure": "99-year Leasehold",
        "build_year": "Built: 1971",
        "mrt": "",
        "posted_at": "2026-11-02T11:51:14+00:00",
        "agent": {
          "id": 179514,
          "name": "Shuhandy Tugi",
          "license": "R042703B",
          "verified": false,
          "profile_url": "https://www.propertyguru.com.sg/agent/shuhandy-tugi-179514",
          "photo": "https://sg1-cdn.pgimgs.com/agent/179514/APHO.134209486.V120B.png"
        },
        "agency": {
          "id": 2,
          "name": "ERA REALTY NETWORK PTE LTD"
        },
        "images": [
          "https://sg1-cdn.pgimgs.com/listing/500270286/UPHO.161557566.V800/114-Ho-Ching-Road-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500270286/UPHO.161557565.V800/114-Ho-Ching-Road-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500270286/UPHO.161557569.V800/114-Ho-Ching-Road-Boon-Lay-Jurong-Tuas-Singapore.jpg"
        ],
        "media": {
          "images": 9,
          "floorPlans": 1
        }
      },
      {
        "id": 500297664,
        "url": "https://www.propertyguru.com.sg/listing/hdb-for-sale-208-boon-lay-place-500297664",
        "title": "208 Boon Lay Place",
        "address": "208 Boon Lay Place, Boon Lay / Jurong / Tuas",
        "short_address": "Boon Lay / Jurong / Tuas, West (D22-24)",
        "status": "ACT",
        "price": {
          "value": 310000,
          "pretty": "S$ 310,000",
          "currency": "SGD"
        },
        "psf": {
          "value": 443.49,
          "text": "S$ 443.49 psf"
        },
        "bedrooms": 3,
        "bathrooms": 2,
        "size_sqft": 699,
        "features": [
          "699 sqft",
          "HDB Flat",
          "99-year Leasehold"
        ],
        "property_type": "HDB Flat",
        "property_group": "hdb",
        "new_project": false,
        "project_id": 4052,
        "district_code": "D22",
        "district": "Boon Lay / Jurong / Tuas",
        "region_code": "H",
        "region": "West (D22-24)",
        "tenure_code": "L99",
        "tenure": "99-year Leasehold",
        "build_year": "Built: 1976",
        "mrt": "1.09 km (13 min) from EW26 Lakeside MRT",
        "posted_at": "2026-10-18T17:05:00+00:00",
        "agent": {
          "id": 12600176,
          "name": "Zoe Lim",
          "license": "R064416B",
          "verified": false,
          "profile_url": "https://www.propertyguru.com.sg/agent/zoe-lim-12600176"
        },
        "images": [
          "https://sg1-cdn.pgimgs.com/listing/500297664/UPHO.161993545.V800/208-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500297664/UPHO.161993548.V800/208-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg",
          "https://sg1-cdn.pgimgs.com/listing/500297664/UPHO.161993571.V800/208-Boon-Lay-Place-Boon-Lay-Jurong-Tuas-Singapore.jpg"
        ],
        "media": {
          "images": 15,
          "floorPlans": 1
        }
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "request_id": "req_82860dc68fdd487ebf8748f180ed7b51",
    "credits_charged": 1,
    "credits_remaining": 1824
  }
}
```

200 OK JSON X-Credits-Used: 1

Recorded from our API and shortened.

Sample data

## What one call returns

A recorded run of `search`: the fields and shapes you will get, shortened to 3 items.

| # | label string | sort string | order string |
| --- | --- | --- | --- |
| 1 | Lowest Price | price | asc |
| 2 | Highest Price | price | desc |
| 3 | PSF (low-high) | psf | asc |

Recorded from our API · 3 items shown · 3 datapoints per item GET /v1/propertyguru/search?market=sg&listing\_type=sale&bedrooms=3&sort=price&order=asc

3 datapoints

### Other

-   label string
-   sort string
-   order string

Playground

## Run this API

cURL shell 

```
curl "https://api.perceptlayer.com/v1/propertyguru/search?market=sg&listing_type=sale&bedrooms=3&sort=price&order=asc" \
  -H "X-API-Key: $API_KEY"
```

PropertyGuru · 4 endpoints

## Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

| Endpoint | Required parameters | Cost |
| --- | --- | --- |
| [GET `/v1/propertyguru/autocomplete`](https://perceptlayer.com/apis/propertyguru/autocomplete) | `market` `query` +1 optional | 1 credit |
| [GET `/v1/propertyguru/listing`](https://perceptlayer.com/apis/propertyguru/listing) | none +3 optional | 1 credit |
| [GET `/v1/propertyguru/projects`](https://perceptlayer.com/apis/propertyguru/projects) | `market` | 1 credit |
| [GET `/v1/propertyguru/search`](https://perceptlayer.com/apis/propertyguru/search) | `market` +13 optional | 1 credit |

Overview

## About the PropertyGuru API

## What you can get

The PropertyGuru API returns PropertyGuru property data as JSON through 4 endpoints. Every endpoint takes a `market`: sg or my.

-   **Search:** `search` takes a `market`, with `listing_type` (sale or rent), `page`, `bedrooms`, `min_price`, `max_price`, `min_size`, `max_size`, `property_type` (condo, landed or hdb), `district_code`, `region_code`, `furnishing` (full, partial or unfurnished), `sort` (price, psf or size) and `order` (asc or desc).
-   **Listings:** `listing` takes an `id` or `url`, with `market`.
-   **Projects:** `projects` takes a `market`.
-   **Autocomplete:** `autocomplete` takes a `market` and a `query`, with `limit`.

The recorded `search` for three-bedroom homes for sale in Singapore, sorted by `price` ascending, returns `items` with `id`, `url`, `title`, `address`, `short_address`, `status`, `price`, `psf`, `bedrooms`, `bathrooms`, `size_sqft`, `features`, `property_type`, `property_group`, `new_project`, `project_id`, `district_code`, `district`, `region_code`, `region`, `tenure_code`, `tenure`, `build_year`, `mrt`, `posted_at`, `agent`, `agency`, `images` and `media`. It also returns `currency`, `result_count` (18,046), `pagination` with `total_pages` and `per_page`, and `sort_options`.

## How a call works

Search a market: `GET /v1/propertyguru/search?market=sg&listing_type=sale&bedrooms=3&sort=price&order=asc` with your key in the `X-API-Key` header. Each item's `id` is what `listing` takes, with the same `market`, and its `district_code` and `region_code` are the codes `search` filters on. Every successful call costs 1 credit; failed calls cost nothing.

Real estate JSON REST MCP

### More real estate APIs

[28Hse](https://perceptlayer.com/apis/28hse) [4zida](https://perceptlayer.com/apis/4zida) [591](https://perceptlayer.com/apis/591-house) [99.co](https://perceptlayer.com/apis/99co) [99acres](https://perceptlayer.com/apis/99acres) [Adondevivir](https://perceptlayer.com/apis/adondevivir) [Apartment List](https://perceptlayer.com/apis/apartment-list) [Apartments.com](https://perceptlayer.com/apis/apartments-com) [Aqar](https://perceptlayer.com/apis/aqar) [Aqarmap](https://perceptlayer.com/apis/aqarmap) [Argenprop](https://perceptlayer.com/apis/argenprop) [athome](https://perceptlayer.com/apis/athome)

Use cases

### Track asking prices and price per square foot (\`psf\`) for Singapore condos

`` Use the PropertyGuru API to track asking prices and price per square foot (`psf`) for Singapore condos `` 

### Compare HDB flats by district with \`property\_type=hdb\` and \`district\_code\`

`` Use the PropertyGuru API to compare HDB flats by district with `property_type=hdb` and `district_code` `` 

### Check \`tenure\` and \`build\_year\` across a set of listings

`` Use the PropertyGuru API to check `tenure` and `build_year` across a set of listings `` 

### Watch rentals in Malaysia with \`market=my\`

`` Use the PropertyGuru API to watch rentals in Malaysia with `market=my` `` 

FAQ

## Questions

**Do I need a PropertyGuru account?**

No. You call this PropertyGuru API with your Perceptlayer key in the \`X-API-Key\` header, with no PropertyGuru login.

**How much does the PropertyGuru API cost?**

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

**What format are responses in?**

Every endpoint returns JSON, with no HTML parsing on your side.

**Which markets does it cover?**

Set \`market\` to sg for Singapore or my for Malaysia.

**Should I build a PropertyGuru scraper instead?**

You can, but a PropertyGuru scraper is code you maintain: page changes break it, requests get blocked, and PropertyGuru's terms govern how you collect data. The PropertyGuru API gives you 4 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

## Try the PropertyGuru API with 100 free credits

No credit card. Failed calls are never billed.

[Get a free API key](https://perceptlayer.com/signup) [Read the docs](https://docs.perceptlayer.com)
