PropertyGuru Scraper - Singapore Property & Agent Leads avatar

PropertyGuru Scraper - Singapore Property & Agent Leads

Pricing

from $5.00 / 1,000 property listings

Go to Apify Store
PropertyGuru Scraper - Singapore Property & Agent Leads

PropertyGuru Scraper - Singapore Property & Agent Leads

Scrape PropertyGuru Singapore for-sale & rental listings: prices, PSF, beds/baths, floor area, tenure, build year, district, MRT, photos, plus agent & agency leads with phone numbers. Filter by keyword, price and bedrooms, enrich with descriptions, facilities and geo, and monitor only-new listings.

Pricing

from $5.00 / 1,000 property listings

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

PropertyGuru Scraper — Singapore Property Listings, Prices & Agent Leads

Extract complete PropertyGuru Singapore data — for-sale and rental listings with real asking prices, PSF, bedrooms/bathrooms, floor area, tenure, build year, district, MRT proximity and photos — plus the agent and agency behind every listing, with phone numbers when you enrich. Filter by keyword, price and bedrooms, capture full descriptions, condo facilities, geo and price history, and use monitor mode to pull only new listings on a schedule.

PropertyGuru is Singapore's #1 property portal (the widest inventory of condos, HDB resale, landed homes and new launches). This actor reads PropertyGuru's own server-rendered data directly — no login, no API key, no browser — and ships the richest, most reliable dataset in the category.

Why this PropertyGuru scraper?

Most property scrapers grab a title and a price and stop there. This actor pulls the full listing card and the agent lead and (on demand) the listing detail page — the data that actually drives valuations, market research and outreach.

DataTypical scrapersThis actor
Title / project, price, PSF
Bedrooms, bathrooms, floor areapartial
Property type, tenure, build year
District + nearest MRT (walk time)
Photo count, official-listing & verified flags
Agent name, CEA license, agency
Agent phone / WhatsApp✅ opt-in
Full description + condo facilities✅ opt-in
Exact geo (lat/lng) + price history✅ opt-in
De-duplicated agent lead records + lead score✅ opt-in
Monitor mode — only new listings

Use cases

  • Agent & agency lead generation — every listing carries the agent (name, CEA license, agency, profile). Turn on includeListingDetails + includeAgentLeads to build a de-duplicated call list with phone numbers for the most active agents in any town or price band.
  • Price & market intelligence — track asking prices, PSF and supply for condos, HDB resale and landed homes by district, MRT or project; compare against transacted data and rentals.
  • Comparables & valuations — pull every active listing for a project or district with beds/baths, area, tenure and PSF for instant comp sets.
  • New-launch & inventory monitoring — watch a project, district or saved search and capture new listings the moment they appear (monitorMode).
  • Rental research — switch listingType to rent for rental supply, asking rents and landlord/agent contacts.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the PropertyGuru Scraper, enter search keywords (towns, districts, MRT or project names), choose For sale / For rent, and optionally a price range or bedroom count — then click Start.
  3. Watch listings (and agent leads) stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML or RSS — or pull results via the Apify API.

Input

{
"searchQueries": ["Tampines", "Bukit Timah"],
"listingType": "sale",
"minPrice": 800000,
"maxPrice": 2500000,
"bedrooms": ["3"],
"maxItems": 100,
"includeListingDetails": true,
"includeAgentLeads": true
}
  • searchQueries — free-text searches: towns/areas (Tampines), districts, MRT stations, or project names (The Gazania). Leave empty to browse the latest listings of the chosen type.
  • listingTypesale (default), rent, or new_launch.
  • startUrls — paste full PropertyGuru search pages (with filters applied in your browser) or individual listing pages (/listing/...).
  • minPrice / maxPrice / bedrooms — filters.
  • includeListingDetails (default false) — open each listing for the full description, agent phone / WhatsApp, condo facilities, geo, furnishing/completion and price history.
  • includeAgentLeads (default false) — also output one de-duplicated agent lead record per unique agent (with lead score).
  • monitorMode / monitorKey — output only listings not seen on previous runs.
  • maxItems — cap across all searches.

Tip: PropertyGuru rate-limits deep pagination. For large pulls, add more keywords (towns, districts, MRT) rather than relying on many pages of one search — the actor fetches a reliable first page per keyword and paginates as far as the site allows.

Output

One record per listing (type: "listing"), plus optional agent leads (type: "agent"):

{
"type": "listing",
"listingType": "sale",
"listingId": "500182802",
"url": "https://www.propertyguru.com.sg/listing/for-sale-the-gazania-500182802",
"title": "The Gazania",
"price": 2498000,
"pricePretty": "S$ 2,498,000",
"currency": "SGD",
"psf": "S$ 2,607.52 psf",
"propertyType": "Condominium",
"bedrooms": 3,
"bathrooms": 3,
"floorArea": 958,
"floorAreaText": "958 sqft",
"tenure": "Freehold",
"buildYear": 2023,
"fullAddress": "7 How Sun Drive",
"district": "Hougang / Punggol / Sengkang, Serangoon / Thomson (D19-20)",
"mrtNearby": "5 min (390 m) from CC12 Bartley MRT Station",
"photoCount": 14,
"isOfficialListing": true,
"recencyText": "Listed on Jun 26, 2026",
"agentId": "17258882",
"agentName": "Chris Ooi",
"agentLicense": "R070591H",
"agentProfileUrl": "https://www.propertyguru.com.sg/agent/chris-ooi-17258882",
"agencyName": "PROPNEX REALTY PTE. LTD.",
"agentMobile": "+6597348812",
"description": "The Gazania | District 19 | Top Floor | 958 SQFT | Functional 3 Bedroom Layout…",
"facilities": ["Swimming Pool", "Gym", "BBQ Pits", "24h Security"],
"leadScore": 92,
"scrapedAt": "2026-06-26T01:30:00.000Z"
}

An agent lead (type: "agent") carries agentName, agencyName, agentLicense, agentMobile, agentWhatsapp, agentProfileUrl, listingCountSeen, a sampleListingUrl and a 0–100 leadScore.

What to expect (field coverage)

PropertyGuru listings are agent-entered, so a handful of fields exist only when the agent filled them in. Title/project, price, PSF, property type, beds/baths, floor area, district, MRT, agent name, CEA license and agency are present on virtually every listing. Full descriptions, facilities, geo, price history and agent phone numbers come from the listing page and require includeListingDetails. A blank field means the agent didn't publish it, never that scraping failed.

Automate & schedule

  • Apify API — start runs, fetch datasets and manage schedules over REST.
  • apify-client for JavaScript and Python — official SDKs.
  • Schedules — run hourly/daily to watch a town, district or project for new listings; pair with monitorMode for clean only-new output.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, price-drop email) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/propertyguru-scraper').call({
searchQueries: ['Bukit Timah', 'Orchard'],
listingType: 'sale',
minPrice: 2000000,
includeListingDetails: true,
includeAgentLeads: true,
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} listings & agent leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new agent leads straight into your CRM.
  • Slack — get notified when a monitored search finds new listings.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find 3-bedroom condos in Tampines under S$1.8M and list the agents' phone numbers" and let it run this scraper for you.

More scrapers from scrapesage

Build a complete Singapore property, market & lead-gen stack:

Tips

  • Agent call lists: turn on includeListingDetails + includeAgentLeads, search the towns/price bands you sell in, and export the Agent leads view straight to your CRM.
  • Exact filters: apply every filter you want in your browser on propertyguru.com.sg, then paste the resulting search URL into startUrls — the actor reproduces it.
  • Breadth over depth: PropertyGuru limits deep pagination — list several towns/districts/MRT in searchQueries rather than paging one search forever.
  • Only new listings: combine Schedules with monitorMode (and a unique monitorKey per saved search) for clean new-listing alerts.
  • Cost control: leave includeListingDetails off for fast, cheap listing-card runs; turn it on only when you need descriptions, facilities and agent phone numbers.

FAQ

How do I scrape a specific town, district or project? Put it in searchQueries (e.g. Tampines, District 10, The Gazania), or paste a PropertyGuru search URL into startUrls.

Does it need the PropertyGuru API or a login? No. This actor reads the same public listing pages a visitor sees — no key or login required.

Where do agent phone numbers come from? From the public listing page, when includeListingDetails is on. PropertyGuru publishes the listing agent's contact on each listing; the actor reads it there.

Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically every run via the Google Drive integration.

How do I monitor new listings automatically? Turn on monitorMode, create a Schedule, and optionally add a webhook or Zapier zap to push new listings/leads into your tools as they appear.

Is scraping PropertyGuru legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. Singapore's PDPA for personal data) and PropertyGuru's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.