PropertyGuru Scraper | Singapore Malaysia Real Estate API avatar

PropertyGuru Scraper | Singapore Malaysia Real Estate API

Pricing

from $2.50 / 1,000 results

Go to Apify Store
PropertyGuru Scraper | Singapore Malaysia Real Estate API

PropertyGuru Scraper | Singapore Malaysia Real Estate API

Scrape PropertyGuru Singapore & Malaysia plus CommercialGuru — HDB, condo, landed, rooms, office & retail for sale or rent. Prices, agents & images — PropertyGuru API alternative.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

a day ago

Last modified

Share

What does PropertyGuru Scraper do?

PropertyGuru Scraper extracts Southeast Asia real estate listings from PropertyGuru Singapore, PropertyGuru Malaysia, and CommercialGuru. Cover HDB, condo, apartment, landed, room rentals, plus commercial office, retail, industrial, warehouse, and land — for sale and rent.

Pick a market (SG / MY / CG), choose property types, or paste search/listing URLs, then download structured results as JSON, CSV, Excel, or HTML.

This Actor is a practical PropertyGuru API alternative: it opens live Next.js pages with Camoufox, reads #__NEXT_DATA__ (with DOM link fallback), and normalizes prices, beds, baths, area, agents, and images for proptech, research, and CRM pipelines.

What can this PropertyGuru scraper extract?

Data pointDescription
Listing ID & URLStable listing ID and canonical PropertyGuru / CommercialGuru link
MarketSG, MY, or CG (+ currency SGD / MYR)
ChannelBUY (sale) or RENT
Category / typee.g. condo, hdb, landed-house, room, office
Title & projectHeadline / project name when shown
PriceAmount + formatted price / PSF when available
Size & roomsFloor area (sqft), bedrooms, bathrooms, floor level
LocationAddress, district, MRT / locality hints when present
Tenure & yearFreehold / leasehold and built year when present
AgentAgent name, ID, agency, rating when shown
MediaPhoto gallery URLs
Source layersrp, ldp, or srp+ldp

Why scrape PropertyGuru?

  • Singapore & Malaysia market research — track asking prices and inventory for HDB, condo, and landed homes
  • Commercial intelligence — pull CommercialGuru office, retail, and industrial listings
  • Investment & proptech — feed CRM, pricing models, or dashboards with fresh sale/rent data
  • Lead generation — collect public agent names from active listings
  • Export & automation — pull PropertyGuru property data into Sheets, warehouses, or your own API

How to scrape PropertyGuru

  1. Open PropertyGuru Scraper in Apify Console.
  2. Set market (SG / MY / CG), channel (BUY or RENT), and property type(s), or paste PropertyGuru / CommercialGuru start URLs.
  3. Choose max listings / max pages and whether to open detail pages.
  4. Keep Apify Proxy → RESIDENTIAL enabled (country defaults to SG or MY by market).
  5. Click Start, then export results from the Dataset tab.

Markets covered

CodeSiteTypical proxy
SGpropertyguru.com.sgRESIDENTIAL + SG
MYpropertyguru.com.myRESIDENTIAL + MY
CGcommercialguru.com.sgRESIDENTIAL + SG

Not included: sister brands on different platforms — DDproperty (Thailand), Rumah123 (Indonesia), Batdongsan (Vietnam).

Property categories

MarketCategories
Singapore (SG)hdb, condo, apartment, landed-house, terraced-house, semi-detached-house, bungalow, executive-condo, good-class-bungalow, cluster-house, room (RENT)
Malaysia (MY)condo, apartment, terrace-house, semi-detached-house, bungalow, townhouse, room (RENT)
CommercialGuru (CG)office, retail, industrial, warehouse, land
  • propertyType — single category or bundle
  • propertyTypes — multi-select; overrides propertyType when non-empty
  • Bundles: all (primary nav), residential, commercial, landed (expands to landed subtypes)

Example input — scrape Singapore condos, HDB, and landed for sale

{
"market": "SG",
"channel": "BUY",
"propertyTypes": ["condo", "hdb", "landed-house"],
"maxItems": 30,
"maxPages": 1,
"scrapeDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "SG"
}
}

Example input — scrape Malaysia condo rentals

{
"market": "MY",
"channel": "RENT",
"propertyType": "condo",
"maxItems": 20,
"maxPages": 1,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "MY"
}
}

Example input — CommercialGuru offices for sale

{
"market": "CG",
"channel": "BUY",
"propertyType": "office",
"maxItems": 20,
"maxPages": 1
}

Example input — PropertyGuru search URL

{
"startUrls": [
{
"url": "https://www.propertyguru.com.sg/condo-for-sale?market=residential"
}
],
"maxItems": 15,
"maxPages": 1
}

Supported URL patterns

  • Singapore sale/rent: https://www.propertyguru.com.sg/property-for-sale, /condo-for-sale, /hdb-for-rent, …
  • Room rental: https://www.propertyguru.com.sg/property-for-rent/room-rental
  • Malaysia: https://www.propertyguru.com.my/condo-for-sale, /apartment-for-rent, …
  • CommercialGuru: https://www.commercialguru.com.sg/office-for-sale, /retail-for-sale, …
  • Detail: /listing/…-{id} (SG/CG) or /property-listing/…-{id} (MY)
  • Pagination: ?page=2

How much does it cost to scrape PropertyGuru?

This Actor uses Pay per event pricing. You pay for:

EventPrice
Actor Start (apify-actor-start)$0.005 per start (scaled by run memory: one event per GB, minimum one)
result (apify-default-dataset-item)$2.50 / 1,000 results ($0.0025 per listing in the default dataset)

Platform usage (compute, residential proxy, etc.) is also billed to the user on top of event charges.

Example (illustrative): 1 start + 1,000 listings ≈ $0.005 + $2.50 in event fees, plus platform usage for the run.

Tip: set a max total charge on the run if you want a hard spending cap. Start with maxItems 5–20 while validating fields and proxy.

Input

Open the Input tab for the full schema. Main fields:

FieldPurpose
startUrlsPropertyGuru / CommercialGuru search or listing URLs
market / marketsSG, MY, CG, or all
locationArea hint when building URLs (orchard, kuala-lumpur, …)
channelBUY or RENT
propertyType / propertyTypesCategory, multi-select, or bundle (all, landed, …)
maxItems / maxPagesCaps (fair-shared across categories)
scrapeDetailsEnrich each card from the listing detail page
requestDelayMillisDelay between navigations
proxyConfigurationPrefer Apify RESIDENTIAL; country matched to market when omitted

Output example

You can download the dataset extracted by PropertyGuru Scraper in JSON, HTML, CSV, or Excel.

{
"id": "25475433",
"url": "https://www.propertyguru.com.sg/listing/for-sale-tembusu-grand-25475433",
"source": "propertyguru",
"sourceLayer": "srp",
"market": "SG",
"marketplace": "sg",
"currency": "SGD",
"channel": "BUY",
"category": "condo",
"propertyType": "condo",
"title": "Tembusu Grand",
"address": "94 Jalan Tembusu",
"price": 7888000,
"bedrooms": 5,
"bathrooms": 4,
"floorAreaSqft": 2691,
"agentName": "Ryan Lee KK 李嘉杰",
"scrapedAt": "2026-07-18T13:26:49.709759+00:00"
}

Our scrapers are ethical and do not extract private user data that is not shown on public listing pages. They only extract what PropertyGuru / CommercialGuru has chosen to display publicly. You should still comply with site terms, applicable Singapore / Malaysia and international laws (including personal-data rules for agent contacts), and only scrape when you have a legitimate purpose. If unsure, consult your lawyers.

FAQ

How do I scrape PropertyGuru Singapore condos for sale?

Set market to SG, channel to BUY, and propertyType to condo. Keep RESIDENTIAL + SG proxy enabled.

How do I scrape PropertyGuru Malaysia rentals?

Set market to MY, channel to RENT, and choose condo or apartment. Use apifyProxyCountry: "MY".

How do I scrape HDB listings?

Use market: "SG" and propertyType: "hdb" (sale or rent). HDB is Singapore-only.

How do I scrape PropertyGuru room rentals?

Set channel to RENT and propertyType to room. The Actor uses /property-for-rent/room-rental.

How do I scrape CommercialGuru offices or shops?

Set market to CG and propertyType to office, retail, industrial, warehouse, or land.

Do I need a PropertyGuru API key?

No. This Actor scrapes the public PropertyGuru / CommercialGuru websites and returns structured property data — useful when you need a PropertyGuru data API without an official partnership.

Can I export PropertyGuru listings to Google Sheets or Excel?

Yes. Download the Dataset as Excel/CSV, or use Apify integrations and the Dataset API to push results into Sheets, webhooks, or your backend.

Why is a residential proxy required?

PropertyGuru and CommercialGuru use Cloudflare / DataDome. Plain HTTP often returns 403. Cloud runs should use Apify RESIDENTIAL with country SG or MY.

What if a PropertyGuru scrape returns zero results?

Confirm market / category URL, keep the matching residential proxy on, try a smaller maxItems, and inspect Key-Value Store ERROR_SUMMARY / OUTPUT / DEBUG_* records.

Tips for better PropertyGuru scraping

  • Prefer propertyTypes for multi-category runs; use landed to expand landed subtypes.
  • Enable scrapeDetails when you need richer LDP fields (description, amenities, coords).
  • Keep requestDelayMillis around 1500–2500 for stable sessions.
  • Start with small maxItems to validate price / category tags before scaling.
  • Match proxy country to market (SG vs MY) for higher success rates.

Support

Questions or feature requests? Open an issue on the Actor page or contact the developer through Apify. Feedback on additional filters, districts, or export formats is welcome.