APIs / Real estate / PropertyGuru

1 credit per call4 endpoints3 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.

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 OKJSONX-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.

#labelstringsortstringorderstring
1Lowest Pricepriceasc
2Highest Pricepricedesc
3PSF (low-high)psfasc

Recorded from our API · 3 items shown · 3 datapoints per itemGET /v1/propertyguru/search?market=sg&listing_type=sale&bedrooms=3&sort=price&order=asc

3 datapoints

Other

  • labelstring
  • sortstring
  • orderstring

Playground

Run this API

cURLshell
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.

EndpointRequired parametersCost
GET/v1/propertyguru/autocomplete
marketquery+1 optional
1 credit
GET/v1/propertyguru/listing
none+3 optional
1 credit
GET/v1/propertyguru/projects
market
1 credit
GET/v1/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 estateJSONRESTMCP

More real estate APIs

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.