PropertyGuru Scraper [Only $0.85/1K💰] | SG/MY/TH | PSF | MRT
Pricing
from $0.83 / 1,000 results
PropertyGuru Scraper [Only $0.85/1K💰] | SG/MY/TH | PSF | MRT
Scrape PropertyGuru Group listings from propertyguru.com.sg, propertyguru.com.my and ddproperty.com: price, PSF, beds/baths, area, tenure, MRT, agent details and photos. Sale and rent across SG, MY and TH in one dataset, from $0.00085 per listing.
Pricing
from $0.83 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
18 days ago
Last modified
Categories
Security
Limited permissionsShare
Propertyguru Scraper
Scrape property listings from PropertyGuru Group's Southeast Asia portals — propertyguru.com.sg (Singapore), propertyguru.com.my (Malaysia) and ddproperty.com (Thailand) — with price, PSF, beds/baths, floor and land area, tenure, MRT proximity, agent details, photos, description and coordinates. Sale and rent listings from all three markets merge into one dataset at $0.00085 per listing.
Built for SE Asia proptech teams, buyer agents, mortgage brokers, expat relocation services and price-trend researchers.
Main Use Cases
- Singapore property data — build a clean database of SG sale and rental listings with price, PSF, tenure and MRT proximity
- Thailand real estate data — Thai listings via ddproperty, with Thai titles and prices returned as correct Unicode
- Malaysia property listings — KL-area condos, landed homes and new launches with agent and agency data
- Property price monitoring — scheduled runs track price changes, new listings and delistings per district or project
- Agent lead generation — collect agent name, agency, CEA licence number and profile URL for outreach
- HDB resale and condo research — filter by property type (CONDO, HDB, LANDED, APARTMENT, COMMERCIAL) and district
How It Works

Looking for a PropertyGuru scraper or a practical PropertyGuru API alternative? Search the Singapore, Malaysia and Thailand portals or paste listing URLs and get structured sale and rent records for price monitoring, agent lead generation and market research. Each record includes price, PSF, beds and baths, floor and land area, tenure, address, MRT proximity, agent details, photos and coordinates.
Use the dataset to compare districts, track price changes, build agent lists or feed a Southeast Asia property database. Export as JSON, CSV or Excel, or pull results through the Apify API. Start with a small run, then pay from $0.85 per 1,000 listings.
Build a Southeast Asia Property Database Without the PropertyGuru API
PropertyGuru does not publish a documented public listing API. This Actor turns public search results and listing pages into structured property records for Singapore, Malaysia and Thailand. Use it to build a comparable database without an API key or a separate data subscription.
Coordinates: detail pages publish lat/lng for all three portals; search results expose coordinates for Singapore map search. Paste individual listing URLs to get detail-page coordinates everywhere.
Thai text: Thai titles, prices and agent names are returned as correct Unicode.
Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
countries | array | No | ["th"] | Portals to scrape: Thailand (ddproperty.com), Singapore (propertyguru.com.sg), Malaysia (propertyguru.com.my) — combine several in one run, results merge |
startUrls | array | No | [] | Exact URLs to scrape (result pages or single listings, any of the three portals, mixed freely). Overrides countries and all filters below |
listingType | enum | No | sale | sale or rent |
freetext | string | No | "" | Location / district / MRT / project search text, e.g. Orchard, Mont Kiara |
propertyType | enum | No | "" | CONDO, HDB, LANDED, APARTMENT, COMMERCIAL |
minPrice / maxPrice | integer | No | 0 | Price range in local currency (SGD / MYR / THB); 0 = no bound |
bedrooms | integer | No | -1 | Exact bedroom count (0 = studio, -1 = any) |
useMapSearch | boolean | No | false | Singapore only: return lat/lng for every listing via the map-search surface |
maxItems | integer | No | 50 | Max listings for the whole run (split evenly across selected portals); the run fetches as many pages as needed to reach it |
requestDelayMs | integer | No | 1000 | Gap between requests. Lower is faster; higher is more conservative |
maxBlockRetries | integer | No | 12 | Retry limit for a failed request |
blockRetryBudgetSecs | integer | No | 420 | Total seconds one failed request may wait between retries |
proxy | object | No | RESIDENTIAL | Residential proxy recommended; each selected portal is matched to its market automatically |
A pasted URL wins over the Portals dropdown — a .com.sg link scrapes Singapore even if Thailand is selected, and the run logs which portals went unused so the override is never silent. maxItems is a total for the run, split evenly between selected portals.
Output — Property Listing Records for Market Research
One dataset item per listing. Search-surface rows include:
| Field | Description |
|---|---|
id, title, url | Listing identity and direct detail URL |
price, priceMin, priceMax, pricePretty, currency, priceQualifier | Price in local currency; range bounds for new-build projects; "Price on Ask" qualifier when no figure exists |
pricePsf | Price per square foot, when published |
floorArea, floorAreaValue, landArea, landAreaValue | Areas as published and as bare numbers (land on detail pages; key for Thai listings) |
bedrooms, bathrooms, tenure, buildYear | Room counts, freehold/leasehold code (F, L99), completion year |
propertyType, propertyTypeCode, projectId | Condo/HDB/Landed/Apartment/Commercial + portal code + project grouping |
fullAddress, shortAddress, districtCode, districtText, regionText, areaText, nearestMrt | Location tiers; Thai-only subdistrict; nearest MRT/BTS with distance (Singapore) |
description, features, photoCount, images | Listing text, amenity tags, photo count and URLs |
agentName, agentId, agentLicense, agentProfileUrl, agentVerified | Agent identity, CEA registration, profile link |
agencyName, agencyId | Agency identity |
latitude, longitude | Coordinates on detail pages for every portal; SG map-search on the search surface |
postedOn, updatedOn, recencyText | First-posted vs last-changed dates (an edited listing is not "new") |
statusCode, isProjectListing, isPremiumProjectListing, projectListingSubType, isVerified, isOfficialListing, isDeveloperListing | Listing provenance flags. isProjectListing comes from the page; Singapore and Malaysia detail rows carry the portal's own isPremiumProjectListing and projectListingSubType instead |
sourcePageUrl | The page the row came from |
Example Input
{"countries": ["sg", "my"],"listingType": "sale","propertyType": "CONDO","freetext": "Mont Kiara","minPrice": 500000,"maxItems": 200}
Or paste listing URLs or a filtered result page directly (any portal):
{"startUrls": [{ "url": "https://www.ddproperty.com/en/property/single-house-in-sriwilai-for-sale-10800011" }],"maxItems": 10}
Example Output — Listing Record (trimmed)
{"id": 500249916,"title": "The Tapestry","url": "https://www.propertyguru.com.sg/listing/for-sale-the-tapestry-50024991","country": "sg","portal": "propertyguru.com.sg","listingType": "sale","price": 860000,"pricePretty": "S$ 860,000","currency": "SGD","pricePsf": "S$ 1,814.35 psf","floorArea": "474 sqft","bedrooms": 1,"bathrooms": 1,"tenure": "L99","buildYear": 2021,"propertyType": "Condominium","fullAddress": "61 Tampines Street 86, Pasir Ris / Tampines","districtText": "Pasir Ris / Tampines","regionText": "Changi / Pasir Ris (D17-18)","nearestMrt": null,"description": "High Floor Spacious 1 Bedder Plus Study with a Dual Pool View !","features": ["Pool", "Gym", "Security", "Aircon", "Balcony"],"photoCount": 24,"agentName": "Alton Nah","agentLicense": "R074064A","agencyName": "PROPNEX REALTY PTE. LTD.","latitude": null,"longitude": null,"postedOn": "26 Sep 2026","recencyText": "Listed on Sep 26, 2026 (3h ago)","isOfficialListing": true,"sourcePageUrl": "https://www.propertyguru.com.sg/property-for-sale?isCommercial=false&listingType=sale&locale=en"}
Detail-page rows (from pasted single-listing URLs) additionally carry landArea, latitude/longitude for every portal, the full image gallery, and both postedOn and updatedOn. Singapore and Malaysia detail rows also expose the project-listing flags; Thailand rows return the detail fields available on the listing page.
SE Asia Property Listings at $0.00085 Per Listing
The Actor bills $0.00085 per listing plus the standard $0.00005 actor start. Listings read from a pasted single-listing URL carry a detail-listing event once per row. Search-result pages return many listings per page, so runs based on search, MRT or district URLs stay at the flat per-result rate. The Actor de-duplicates by listing ID, so overlapping pages never duplicate rows. Proxy usage is billed separately by Apify.
Integrations & Automation
- API — run and fetch via the Apify REST API, or call it from AI agents through the Apify MCP server
- Scheduling — daily/weekly runs for price-change tracking per district or project
- Webhooks — push new listings or price drops to your app, Sheets or Slack
- Export — JSON, CSV, Excel, HTML
Recommended schedule: daily for price monitoring and new-listing alerts; weekly for full-market database refreshes and research datasets.
Related Actors
- PropertyGuru Scraper —
shahidirfan/propertyguru-scraper— the most-used SG-focused PropertyGuru actor (120 users, 5.0★) - PropertyGuru Singapore Scraper —
abotapi/propertyguru-sg-scraper— Singapore listings - PropertyGuru Scraper —
scrapesage/propertyguru-scraper— PropertyGuru listings - PropertyGuru Singapore Scraper —
lentic_clockss/propertyguru-sg-scraper— Singapore listings - PropertyGuru Property Scraper —
sian.agency/propertyguru-property-scraper— PropertyGuru listings
This actor covers all three portals (SG + MY + TH) in a single run, at $0.00085/listing.
FAQ
Why use this Actor instead of the official PropertyGuru API?
PropertyGuru does not publish a documented public listing API. This Actor turns public search results and listing pages into structured property records for Singapore, Malaysia and Thailand.
What are alternatives to this Actor for Southeast Asia property data?
SG-focused Store actors cover part of the market. This Actor covers Singapore, Malaysia and Thailand in a single run.
Why is my run returning an empty dataset?
Check that the proxy is enabled, then retry with a smaller maxItems. Large runs can also be split by portal or district.
Why are coordinates null in my run?
Coordinates are published on detail pages for all three portals. On search results they are available for Singapore map search. Paste individual listing URLs for detail-page coordinates everywhere.
Why is a price missing on some listings?
New-build projects may be advertised as a range or as "Price on Ask". Ranges land in priceMin/priceMax; "Price on Ask" leaves price empty with a priceQualifier.
Can I scrape by district or MRT station?
Yes. Use freetext for areas, districts, MRT/BTS stations and project names, or paste a filtered result URL.
For AI Agents & LLM Apps
- Purpose: given portals, filters or direct URLs, returns one structured row per property listing (price, PSF, rooms, tenure, location, MRT, agent, photos, and coordinates on detail pages) from PropertyGuru's SG/MY/TH portals.
- Minimal working input:
{ "countries": ["sg"], "listingType": "sale", "maxItems": 50 }
- Variant inputs — direct URL:
{ "startUrls": [{ "url": "https://www.propertyguru.com.sg/listing/..." }] }; rent:{ "countries": ["my"], "listingType": "rent", "freetext": "Mont Kiara", "maxItems": 100 }. - Output fields:
id, title, url, country, portal, listingType, price, priceMin, priceMax, pricePretty, priceQualifier, currency, pricePsf, floorArea, floorAreaValue, landArea, landAreaValue, bedrooms, bathrooms, tenure, buildYear, propertyType, propertyTypeCode, projectId, fullAddress, shortAddress, districtCode, districtText, regionText, areaText, nearestMrt, description, features, photoCount, images, agentName, agentId, agentLicense, agentProfileUrl, agentAvatar, agentVerified, agencyName, agencyId, latitude, longitude, postedOn, postedUnix, updatedOn, updatedUnix, recencyText, statusCode, isProjectListing, isVerified, isOfficialListing, isDeveloperListing, isPreLaunched, sourcePageUrl. - Behaviors:
startUrlsoverridescountriesand filters.maxItemsis split between selected portals. Pasted listing URLs carry land area and coordinates for every portal; search rows return coordinates for Singapore map search.tenureis a code (F,L99).priceis empty withpriceQualifier: "Price on Ask"when no figure exists.postedOnis first-posted;updatedOnrecords edits. - Billing: $0.00085 per listing plus the standard $0.00005 actor start; pasted single-listing URLs add a
detail-listingevent per row. Proxy traffic is billed separately by Apify.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by PropertyGuru Group, PropertyGuru Pte Ltd, DDproperty, or any of their affiliates. It reads only publicly available property information. It does not log in, bypass paywalls or access private data beyond what the portals publish on listing pages. Users are responsible for their own compliance with each portal's Terms of Service and applicable law. The actor is intended for legitimate market research, price monitoring and competitive analysis.
SEO Keywords
propertyguru scraper, singapore property data, malaysia property listings, thailand real estate data, ddproperty scraper, sg property for sale, hdb resale data, condo price psf, propertyguru api alternative, southeast asia property, rental market data, property listing database, mrt station property, freehold leasehold data, bangkok property listings, kuala lumpur property, singapore condo rental, property price monitoring, agent lead generation, property market research