PropertyGuru SG $0.8๐Ÿ’ฐ Search By URLs and Keywords avatar

PropertyGuru SG $0.8๐Ÿ’ฐ Search By URLs and Keywords

Pricing

from $0.80 / 1,000 results

Go to Apify Store
PropertyGuru SG $0.8๐Ÿ’ฐ Search By URLs and Keywords

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

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

48

Total users

15

Monthly active users

28 minutes ago

Last modified

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

ParameterTypeDefaultDescription
modestringsearchsearch (build URL from filters) or url (use provided URLs)
urlsarray-URLs to scrape (url mode only)
listing_typestringsalesale or rent
property_typestring-condo, hdb, or landed
searchstring-Free-text location search (e.g. "Orchard", "Tampines")
districtstring-District code D01-D28 (see table below)
min_priceinteger-Minimum price in SGD
max_priceinteger-Maximum price in SGD
bedroomsinteger-Number of bedrooms (0=Studio)
sortstringdateSort by date, price, or psf
sort_orderstringdescasc or desc
max_propertiesinteger100Max properties to scrape (0=unlimited)
max_pagesinteger5Max search result pages (20 listings/page)
enable_coordinatesbooleanfalseAdd lat/lng to listings via Map API. Slows down the run (~30-60s extra).
proxyobjectApify datacenterProxy configuration

Note: search and district can be used together, but search takes priority in URL construction. property_type filters via URL slug; all other filters are query parameters and can be freely combined.

Singapore Districts

CodeAreaCodeArea
D01Raffles Place / MarinaD15East Coast / Marine Parade
D02Chinatown / Tanjong PagarD16Bedok / Upper East Coast
D03Alexandra / CommonwealthD17Changi Airport / Changi Village
D04Harbourfront / Telok BlangahD18Pasir Ris / Tampines
D05Buona Vista / West CoastD19Hougang / Punggol / Sengkang
D06City Hall / Clarke QuayD20Ang Mo Kio / Bishan / Thomson
D07Beach Road / BugisD21Clementi Park / Upper Bukit Timah
D08Farrer Park / Serangoon RdD22Boon Lay / Jurong / Tuas
D09Orchard / River ValleyD23Bukit Batok / Bukit Panjang
D10Tanglin / Holland / Bukit TimahD24Lim Chu Kang / Tengah
D11Newton / NovenaD25Admiralty / Woodlands
D12Balestier / Toa PayohD26Mandai / Upper Thomson
D13Macpherson / Potong PasirD27Sembawang / Yishun
D14Eunos / Geylang / Paya LebarD28Seletar / 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.

  1. Authorize a connector once under Apify โ†’ Settings โ†’ Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to 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:

CategoryFields
Identityid, title, address, url, status
Priceprice, price_formatted, currency, price_psf
Featuresbedrooms, bathrooms, floor_area, land_area, tenure
Propertyproperty_type, property_type_group, badges
Locationdistrict, district_code, region, nearby_mrt
Coordinateslatitude, longitude, location_source
Agentagent_name, agent_id, agent_license, agency_name
Developerdeveloper, is_developer_listing
Mediaimages[], image_count
Datesposted_date, posted_unix, recency