VOOZH about

URL: https://apify.com/alwaysprimedev/propertyguru-singapore-scraper

โ‡ฑ PropertyGuru Singapore Scraper ยท Apify


Pricing

from $5.00 / 1,000 results

Go to Apify Store

PropertyGuru Singapore Scraper

Scrape sale and rental listings from propertyguru.com.sg โ€” price, size, bedrooms, location, agent contact, photos, MRT distances, and more. Returns clean structured JSON / CSV / Excel.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

๐Ÿ‘ Always Prime

Always Prime

Maintained by Community

Actor stats

1

Bookmarked

23

Total users

11

Monthly active users

2.3 hours

Issues response

22 days ago

Last modified

Share

๐Ÿ  PropertyGuru Singapore Scraper

Get every public listing on propertyguru.com.sg as clean structured data โ€” price, size, bedrooms, location, agent contact, photos, MRT distances, descriptions, more. Returns JSON, CSV, or Excel.

๐Ÿ‘ Apify
๐Ÿ‘ Python
๐Ÿ‘ Output

โšก๏ธ ~0.7 s per listing, 256 MB RAM, no browser. Built on PropertyGuru's own __NEXT_DATA__ payload โ€” same data the site renders to itself.


โœจ Why this scraper

  • ๐ŸŽฏ Every monetizable field โ€” price, PSF, bedrooms, floor & land area, tenure, district, lat/lon, agent name + CEA license + mobile, agency, 19+ photos, floor plans, MRT walk times, full description.
  • ๐Ÿš€ Fast and cheap โ€” pure HTTP with browser TLS fingerprinting. 5ร— the throughput of a Playwright-based scraper at 1/8th the memory.
  • ๐Ÿ” Incremental friendly โ€” pass a since timestamp and the actor skips listings posted before it, so daily refresh runs only pay for what's new.
  • ๐Ÿงฉ No glue code needed โ€” push the output straight into BigQuery, Postgres, Notion, Make, n8n, Sheets โ€” every field is typed and the dataset table view is pre-configured.

๐Ÿš€ Quick start

  1. Click Try for free above.
  2. Pick searchType: sale or rent, optionally narrow by district / price / bedrooms.
  3. Hit Start.
  4. Download as JSON, CSV, or Excel from the Output tab.

That's it. No accounts, no proxies, no anti-bot tinkering.


๐ŸŽ›๏ธ Input

FieldTypeWhat it does
searchTypesale | rentChoose properties for sale or for rent. Default: sale.
freetextstringSearch by project / street / area name (e.g. "Tanjong Pagar").
districtsstring listRestrict to specific SG districts (D09, D10, โ€ฆ).
propertyTypeCodesstring listRestrict by type โ€” APT, CONDO, HDB, SEMI, TERR, BUNG, EXEC, LAND.
minPrice / maxPriceintPrice bounds in SGD. For rentals, monthly rent.
bedroomsstring listBedroom counts to include ("2", "3"; use "0" for studio).
sortByenumdefault (relevance), price_low, price_high.
sincedatetimeOnly listings posted after this moment โ€” for incremental refreshes.
scrapeDetailsboolOff = URL-only mode (~10ร— cheaper, fast diff runs). On (default) = full record.
maxItemsintCap on records. 0 = unlimited. Default: 50.
concurrencyintParallel detail fetches. Default: 5. Max: 25.
startUrlsURL listAdvanced override: feed your own already-built PG search URLs.

๐Ÿ“ฆ Sample output (one listing)

{
"url":"https://www.propertyguru.com.sg/listing/for-sale-the-lakeshore-500140099",
"id":"500140099",
"scraped_at":"2026-05-15T08:34:46+00:00",
"listingType":"SALE",
"propertyType":"Condominium",
"propertyTypeCode":"CONDO",
"propertyTypeGroup":"N",
"title":"The Lakeshore",
"headline":"Lakeshore 3-Bedroom ยท Pool View ยท Vacant",
"description":"Spacious 1,109 sqft 3-bedroom unit with unobstructed pool views...",
"price":1688000,
"pricePretty":"S$ 1,688,000",
"currency":"SGD",
"bedrooms":3,
"bathrooms":2,
"floorArea":1109,
"floorAreaPsf":1522.09,
"landArea":null,
"landAreaPsf":null,
"tenure":"L99",
"tenureText":"99-year Leasehold",
"isVerified":true,
"qualityScore":98,
"statusCode":"ACT",
"datePosted":"2026-05-13T09:21:04",
"dateCreated":"2026-04-22T11:08:30",
"dateExpires":"2026-07-21T23:59:59",
"address":{
"streetName":"Lakeshore Drive",
"fullAddress":"1 Lakeshore Drive",
"postcode":"648292",
"districtCode":"D22",
"districtText":"Boon Lay / Jurong / Tuas",
"lat":1.3411,
"lon":103.7129
},
"agent":{
"id":88012,
"name":"Keith Low",
"license":"R047251D",
"mobile":"+6593690168",
"jobTitle":"Senior Marketing Director",
"profileUrl":"https://www.propertyguru.com.sg/agent/keith-low-88012",
"avatar":"https://sg1-cdn.pgimgs.com/agent/88012/APHO.../V120B.png"
},
"agency":{
"id":4619,
"name":"ERA REALTY NETWORK PTE LTD",
"license":"L3002382K"
},
"images":[
{"src":"https://sg1-cdn.pgimgs.com/listing/500140099/.../V800/...jpg",
"caption":"Living Room"}
],
"floorPlans":[],
"virtualTours":[],
"mainImage":"https://sg1-cdn.pgimgs.com/listing/500140099/.../V800/...jpg",
"poiMrt":[
{"name":"EW27 Boon Lay MRT Station","distanceKm":0.41,
"walkingDistanceKm":0.45,"walkingDurationMins":6}
],
"poiSchool":[]
}

๐Ÿ’ผ Use cases

WhoWhat they do with it
๐Ÿข Investors & buyersBuild a daily refresh feed of new listings in target districts; flag underpriced units by PSF percentile.
๐Ÿค Property agentsTrack competitor listings, monitor agent activity, scout co-broking opportunities.
๐Ÿ—๏ธ PropTech & analyticsPower dashboards, AVMs (automated valuation models), heat maps, market reports.
๐Ÿง  ML / data scienceTrain pricing models, location-embedding models, agent-fraud classifiers on real SG transaction data.
๐Ÿ“Š Market researchQuarterly reports on price/PSF trends by district, by property type, by tenure.

๐Ÿ’ก Tips & tricks

  • Daily refresh: set since to yesterday's date โ€” the actor short-circuits at the search page and you only pay for genuinely new listings.
  • Index mode: scrapeDetails: false returns just URLs + IDs โ€” perfect for diff-only runs to detect what's been added or de-listed.
  • Pricing buckets: run 3 separate runs with different minPrice/maxPrice windows in parallel for faster total scrape times.
  • Districts D09 / D10 / D11 (Orchard, Tanglin, Newton) account for ~40% of all luxury SG sale listings โ€” narrow there for premium segments.

โ“ FAQ

How fresh is the data? Live. Each request hits PropertyGuru's production servers at the moment of your run.

Will my dataset have duplicates? No. The actor de-dupes by listing ID at queue time and again at push time.

What about listings posted in multiple districts? PropertyGuru issues one ID per listing โ€” you'll see it exactly once.

Can I scrape rentals too? Yes โ€” set searchType: rent. All the same fields populate (price = monthly rent).

Will big runs fail halfway? No. The actor tracks a failure budget (>30% failed โ†’ stop and report) so a broken site never quietly drains your CU.

What happens if PropertyGuru changes its layout? The actor's parser runs against captured HTML fixtures in CI โ€” site redesigns surface as test failures within hours, not weeks of silently broken data.


๐Ÿ›Ÿ Support

Found a bug or missing field? Open an issue or message the actor maintainer from the Apify Store page. Bug reports with the run ID get fastest turnaround.

You might also like

Shopify App Store Scraper

alwaysprimedev/shopify-app-store-scraper

Scrape the Shopify App Store for app metadata, pricing tiers, ratings, reviews, and Built-for-Shopify badges. Designed for delta-tracking โ€” daily price drops, rating shifts, and badge wins.

148

Reddit Profile Crawler

crawlerbros/reddit-profile-crawler

Scrape reddit's profiles with posts and profile information.

95

3.4

Handshake Jobs Scraper

orgupdate/handshake-jobs-scraper

The latest and most advanced Handshake Jobs Scraper. Our Handshake Jobs Scraper extracts real-time job postings at scale from all over the world. A new research tool built for recruitment, insights and HR.

Monster Jobs Scraper

orgupdate/monster-jobs-scraper

The latest and most advanced Monster Job Scraper. Our Monster Job Scraper extracts real-time job postings at scale from all over the world. A new research tool built for recruitment, insights and HR.

Stepstone Scraper

jupri/stepstone-scraper

๐Ÿ’ซ Scrape Stepstone.de and similar websites.

Glassdoor Jobs | Remove Duplicate Jobs | Cheapest

cheap_scraper/glassdoor-jobs-scraper-remove-duplicate-jobs

Glassdoor Jobs | Remove Duplicate Jobs | Cheapest The Glassdoor jobs scraper allows you to collect jobs By entering multiple keywords, search queries.

633

Tiktok Mention Scraper

crawlerbros/tiktok-mention-scraper

Scrape TikTok videos that mention specific usernames (@mentions) without cookies. Extracts video metadata (views, likes, comments, shares), author info, music metadata, and more. Features anti-bot detection, residential proxy support, and human-like browsing behavior.

41

1.2

Remote.co Jobs Scraper

orgupdate/remote-co-jobs-scraper

The latest and most advanced Remote.co Jobs Scraper. Our Remote.co Jobs Scraper extracts real-time job postings at scale from all over the world. A new research tool built for recruitment, insights and HR.

We Work Remotely Jobs Scraper

orgupdate/we-work-remotely-jobs-scraper

The latest and most advanced We Work Remotely Jobs Scraper. Our We Work Remotely Jobs Scraper extracts real-time job postings at scale from all over the world. A new research tool built for recruitment, insights and HR.

G2.Com Scraper (It works)

coder_luffy/g2-scraper

G2.com scraper that pulls software listings, ratings, pros and cons, and market segment data from any category page, so you can track a market without checking it manually.