PropertyGuru Scraper | Singapore Malaysia Real Estate API
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
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 point | Description |
|---|---|
| Listing ID & URL | Stable listing ID and canonical PropertyGuru / CommercialGuru link |
| Market | SG, MY, or CG (+ currency SGD / MYR) |
| Channel | BUY (sale) or RENT |
| Category / type | e.g. condo, hdb, landed-house, room, office |
| Title & project | Headline / project name when shown |
| Price | Amount + formatted price / PSF when available |
| Size & rooms | Floor area (sqft), bedrooms, bathrooms, floor level |
| Location | Address, district, MRT / locality hints when present |
| Tenure & year | Freehold / leasehold and built year when present |
| Agent | Agent name, ID, agency, rating when shown |
| Media | Photo gallery URLs |
| Source layer | srp, 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
- Open PropertyGuru Scraper in Apify Console.
- Set market (
SG/MY/CG), channel (BUYorRENT), and property type(s), or paste PropertyGuru / CommercialGuru start URLs. - Choose max listings / max pages and whether to open detail pages.
- Keep Apify Proxy → RESIDENTIAL enabled (country defaults to SG or MY by market).
- Click Start, then export results from the Dataset tab.
Markets covered
| Code | Site | Typical proxy |
|---|---|---|
SG | propertyguru.com.sg | RESIDENTIAL + SG |
MY | propertyguru.com.my | RESIDENTIAL + MY |
CG | commercialguru.com.sg | RESIDENTIAL + SG |
Not included: sister brands on different platforms — DDproperty (Thailand), Rumah123 (Indonesia), Batdongsan (Vietnam).
Property categories
| Market | Categories |
|---|---|
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 bundlepropertyTypes— multi-select; overridespropertyTypewhen 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:
| Event | Price |
|---|---|
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:
| Field | Purpose |
|---|---|
startUrls | PropertyGuru / CommercialGuru search or listing URLs |
market / markets | SG, MY, CG, or all |
location | Area hint when building URLs (orchard, kuala-lumpur, …) |
channel | BUY or RENT |
propertyType / propertyTypes | Category, multi-select, or bundle (all, landed, …) |
maxItems / maxPages | Caps (fair-shared across categories) |
scrapeDetails | Enrich each card from the listing detail page |
requestDelayMillis | Delay between navigations |
proxyConfiguration | Prefer 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"}
Is it legal to scrape PropertyGuru?
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
propertyTypesfor multi-category runs; uselandedto expand landed subtypes. - Enable
scrapeDetailswhen you need richer LDP fields (description, amenities, coords). - Keep
requestDelayMillisaround 1500–2500 for stable sessions. - Start with small
maxItemsto validate price / category tags before scaling. - Match proxy country to market (
SGvsMY) 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.