PropertyGuru SG $0.8๐ฐ Search By URLs and Keywords
Pricing
from $0.80 / 1,000 results
PropertyGuru SG $0.8๐ฐ Search By URLs and Keywords
From $0.8/1K. Fast, reliable scraper for propertyguru.com.sg. Extract sale and rent listings with 30+ structured fields, including price, PSF, floor area, tenure, nearby MRT, agent details, and GPS
Pricing
from $0.80 / 1,000 results
Rating
2.7
(2)
Developer
AbotAPI
Maintained by CommunityActor stats
0
Bookmarked
48
Total users
15
Monthly active users
28 minutes ago
Last modified
Categories
Share
PropertyGuru Singapore Scraper
Fast, reliable scraper for propertyguru.com.sg - Singapore's largest property portal with 55,000+ active listings. Extract sale and rent listings with 30+ structured fields including price, PSF, floor area, tenure, nearby MRT, agent details, and GPS coordinates.
Features
- High throughput - 20 listings per page, ~60 listings/min with pagination
- Sale & Rent listings with full filter support
- Property types: Condo, HDB, Landed House
- 30+ data fields per listing including price, PSF, features, MRT distance, agent info
- Coordinate enrichment via PropertyGuru Map Cluster API (lat/lng)
- Robust - handles site protection automatically
- Cost-efficient - works with datacenter proxy
Quick Start
All properties for sale
{"mode": "search","listing_type": "sale","max_pages": 5}
Condos for rent by location
{"mode": "search","listing_type": "rent","property_type": "condo","search": "Orchard"}
HDB flats with price filter
{"mode": "search","listing_type": "sale","property_type": "hdb","bedrooms": 3,"max_price": 500000}
Landed houses by district
{"mode": "search","listing_type": "sale","property_type": "landed","district": "D10"}
Custom URL mode
{"mode": "url","urls": ["https://www.propertyguru.com.sg/condo-for-sale?bedrooms=2&district_code=D09"],"max_pages": 10}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search (build URL from filters) or url (use provided URLs) |
urls | array | - | URLs to scrape (url mode only) |
listing_type | string | sale | sale or rent |
property_type | string | - | condo, hdb, or landed |
search | string | - | Free-text location search (e.g. "Orchard", "Tampines") |
district | string | - | District code D01-D28 (see table below) |
min_price | integer | - | Minimum price in SGD |
max_price | integer | - | Maximum price in SGD |
bedrooms | integer | - | Number of bedrooms (0=Studio) |
sort | string | date | Sort by date, price, or psf |
sort_order | string | desc | asc or desc |
max_properties | integer | 100 | Max properties to scrape (0=unlimited) |
max_pages | integer | 5 | Max search result pages (20 listings/page) |
enable_coordinates | boolean | false | Add lat/lng to listings via Map API. Slows down the run (~30-60s extra). |
proxy | object | Apify datacenter | Proxy configuration |
Note:
searchanddistrictcan be used together, butsearchtakes priority in URL construction.property_typefilters via URL slug; all other filters are query parameters and can be freely combined.
Singapore Districts
| Code | Area | Code | Area |
|---|---|---|---|
| D01 | Raffles Place / Marina | D15 | East Coast / Marine Parade |
| D02 | Chinatown / Tanjong Pagar | D16 | Bedok / Upper East Coast |
| D03 | Alexandra / Commonwealth | D17 | Changi Airport / Changi Village |
| D04 | Harbourfront / Telok Blangah | D18 | Pasir Ris / Tampines |
| D05 | Buona Vista / West Coast | D19 | Hougang / Punggol / Sengkang |
| D06 | City Hall / Clarke Quay | D20 | Ang Mo Kio / Bishan / Thomson |
| D07 | Beach Road / Bugis | D21 | Clementi Park / Upper Bukit Timah |
| D08 | Farrer Park / Serangoon Rd | D22 | Boon Lay / Jurong / Tuas |
| D09 | Orchard / River Valley | D23 | Bukit Batok / Bukit Panjang |
| D10 | Tanglin / Holland / Bukit Timah | D24 | Lim Chu Kang / Tengah |
| D11 | Newton / Novena | D25 | Admiralty / Woodlands |
| D12 | Balestier / Toa Payoh | D26 | Mandai / Upper Thomson |
| D13 | Macpherson / Potong Pasir | D27 | Sembawang / Yishun |
| D14 | Eunos / Geylang / Paya Lebar | D28 | Seletar / Yio Chu Kang |
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape โ the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record โ not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify โ Settings โ Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Output Fields
Each listing record contains 30+ fields:
| Category | Fields |
|---|---|
| Identity | id, title, address, url, status |
| Price | price, price_formatted, currency, price_psf |
| Features | bedrooms, bathrooms, floor_area, land_area, tenure |
| Property | property_type, property_type_group, badges |
| Location | district, district_code, region, nearby_mrt |
| Coordinates | latitude, longitude, location_source |
| Agent | agent_name, agent_id, agent_license, agency_name |
| Developer | developer, is_developer_listing |
| Media | images[], image_count |
| Dates | posted_date, posted_unix, recency |