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.
{
"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
}
}Sample data
What one call returns
A recorded run of search: the fields and shapes you will get, shortened to 3 items.
| # | labelstring | sortstring | orderstring |
|---|---|---|---|
| 1 | Lowest Price | price | asc |
| 2 | Highest Price | price | desc |
| 3 | PSF (low-high) | psf | asc |
[
{
"label": "Lowest Price",
"sort": "price",
"order": "asc"
},
{
"label": "Highest Price",
"sort": "price",
"order": "desc"
},
{
"label": "PSF (low-high)",
"sort": "psf",
"order": "asc"
}
]label,sort,order Lowest Price,price,asc Highest Price,price,desc PSF (low-high),psf,asc
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
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 | 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:
searchtakes amarket, withlisting_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) andorder(asc or desc). - Listings:
listingtakes anidorurl, withmarket. - Projects:
projectstakes amarket. - Autocomplete:
autocompletetakes amarketand aquery, withlimit.
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.
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 condosCompare 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 listingsWatch 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.