SRX Property Scraper - Singapore Listings & Agent Leads
Pricing
from $5.00 / 1,000 listing scrapeds
SRX Property Scraper - Singapore Listings & Agent Leads
Scrape SRX.com.sg Singapore property: HDB, condo, landed & commercial listings for sale/rent with price, PSF, size, tenure, district, market segment, agent leads (name, mobile, agency) and transacted comparables.
Pricing
from $5.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
SRX Property Scraper — Singapore Listings, Agent Leads & Transacted Comparables
Extract complete property data from SRX.com.sg — Singapore's top-tier property portal and home of the widely-cited X-Value automated valuation. Scrape HDB, condo, landed and commercial listings for sale or rent, each with the full property record, the agent as a ready-to-use B2B lead (name, mobile, agency, profile, WhatsApp), and — uniquely — the project's recent transacted prices (the gated comparable/valuation layer).
No login, no API key, no browser — this actor reads SRX's own server-rendered data directly, so the output is first-party and reliable.
Why this SRX scraper?
Portals show asking prices. The high-value data is the transacted price — what units actually sold or rented for — and the contactable agent behind each listing. This actor ships both in one clean dataset, plus the richest listing record in the category:
| Data | Typical scrapers | This actor |
|---|---|---|
| Title, property type, sale/rent | ✅ | ✅ |
| Price (asking) | ✅ | ✅ |
| PSF (built / land) | partial | ✅ |
| Built / land size (sqft) | partial | ✅ |
| Beds, baths | partial | ✅ |
| Project, full address, block, postal code | ❌ | ✅ |
| District + URA market segment (CCR/RCR/OCR) | ❌ | ✅ |
| Latitude / longitude | ❌ | ✅ |
| Tenure + lease years, built year, floor band | ❌ | ✅ |
| Listed date, expiry, days-on-market, recency | ❌ | ✅ |
| Agent name + mobile + agency + profile + WhatsApp | ❌ | ✅ on every card |
| Description, facilities, all photos | ❌ | ✅ opt-in (detail) |
| Nearby amenities — MRT, schools, malls + distances & coords | ❌ | ✅ opt-in (detail) |
| Transacted comparables — recent sold & rented prices, PSF, dates | ❌ | ✅ opt-in (valuation layer) |
| Lead score (0–100) per listing | ❌ | ✅ |
| One clean dataset, no empty columns | ❌ | ✅ |
Use cases
- Lead generation — every SRX listing exposes its agent with a full mobile number, agency, profile and WhatsApp link, right on the search card. Score them (
leadScore), filter, and export straight to your CRM — no detail crawl required. - Asking-vs-transacted analysis — pair a listing's asking price with the project's recent transacted prices and PSF to spot over/under-priced units. This is the data SRX's X-Value is built on.
- Property market research — map supply by district, market segment (CCR/RCR/OCR), property type, size band, PSF and tenure; benchmark asking prices and track new listings over time.
- Agent & agency prospecting — surface the most active agents and agencies by segment and listing volume.
- Proptech & valuation enrichment — power dashboards and AVMs with standardized listings, geo context (district, postal, lat/long, MRT), images and transacted comparables.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the SRX Property Scraper, choose For sale / rent, a Property type (e.g.
Condo), optionally a District, and click Start. - Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the Apify API.
Proxy note: SRX is Cloudflare-protected, so this actor uses Apify Residential proxy in Singapore by default. Leave the proxy setting as-is for reliable runs.
Input
{"listingType": "sale","propertyType": "condo","district": "9,10,11","minPrice": 1000000,"maxPrice": 3000000,"maxItems": 100,"includeDetails": false,"includeTransactedComparables": false,"monitorMode": false}
- listingType —
sale,rent, orboth. - propertyType —
all(every residential type),condo,hdb,landed, orcommercial. - district — optional Singapore postal district filter, e.g.
"10"or"9,10,11"(D01–D28). Blank = all Singapore. - bedrooms / minPrice / maxPrice — optional SRX search filters.
- startUrls — paste any SRX search, listing or project URL (e.g. a filtered search you built in the browser). Overrides the simple filters.
- maxItems (default 100) — cap on listings for the whole run.
- includeDetails (default false) — open each listing's detail page to add the full description, facilities, nearby amenities (MRT, schools, malls with distances), all photos and the exact price. One extra request per listing.
- includeTransactedComparables (default false, needs
includeDetails) — attach the project's recent transacted sale & rental prices (unit, price, PSF, size, date) — the gated valuation layer. De-duplicated per project across listings. - monitorMode (default false) — emit only new or price-changed listings vs previous runs (see below).
Output
One record per listing. The agent lead is included on every card — no detail crawl needed:
{"listingId": "110775541","url": "https://www.srx.com.sg/listings/110775541/for-sale-cheng-san-view-...","listingType": "sale","title": "Blk 538 Cheng San View","priceText": "$420,000","price": 420000,"propertyType": "3 Room","propertyCategory": "HDB","projectName": "Cheng San View","address": "Ang Mo Kio Avenue 5","block": "538","postalCode": "560538","districtTown": "Ang Mo Kio","district": 20,"districtCode": "D20","marketSegment": "RCR","latitude": 1.37559, "longitude": 103.85335,"tenure": "Leasehold","tenureYears": 99,"builtYear": 1980,"floorCategory": "MID","bedrooms": 2,"bathrooms": 2,"builtSize": 732,"builtPsf": 573.77,"listedDate": "17-Mar-2026","datePostedTimestamp": 1782129650,"photoUrl": "https://static.srx.com.sg/Listing%20Photos/.../mobile.jpg","agent": {"name": "Nancy Wong","mobile": "97339190","mobilePretty": "9733 9190","agencyId": "3","profileUrl": "https://www.srx.com.sg/wongnancy168","whatsappUrl": "https://api.whatsapp.com/send?phone=6597339190...","callUrl": "tel:97339190"},"leadScore": 100,"scrapedAt": "2026-06-26T04:30:00.000Z"}
With includeDetails, the record also gains description, facilities, nearbyAmenities (MRT/schools/malls with distances & coordinates), photoUrls, exactPrice, sizeSqft, psf, projectUrl, hasXValue and xValueUrl. With includeTransactedComparables, it gains transactedComparables.sale[] and transactedComparables.rental[] — recent transacted prices for the project.
Use the Listings and Agent leads dataset views to switch between column sets.
What to expect (field coverage)
| Field | Coverage |
|---|---|
| listingId, url, title, price, propertyType, district, market segment, postal, lat/long, tenure, size, PSF, beds/baths, photo, agent name + mobile + agency + profile + WhatsApp | ~100% |
| project name, built year | ~85–95% (landed / some HDB have no named project or declared TOP) |
| floor band, days-on-market, developer | source-gated — published only for some listings (see below) |
| description, facilities, nearby amenities, all photos, exact price | includeDetails, as published |
| transacted comparables | includeTransactedComparables (+includeDetails) |
A blank field means SRX doesn't publish that value for that listing — not that scraping failed. Nothing is dropped, so you always get the richest record available.
Monitoring mode — only new / changed listings
Turn on monitorMode to make the actor remember which listings it has already returned (and their price) and emit only listings that are new or whose price changed — perfect for tracking a district or segment. It stores state in a named key-value store (monitorStoreName, one per tracked search).
This complements Apify Schedules and does not conflict with them: Schedules decide when the actor runs (e.g. every morning), and monitoring mode decides what is new in each run. Use both together for a daily feed of just-listed or just-repriced properties.
Automate & schedule
- Apify API — start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run daily/weekly to monitor new listings or refresh prices and agents.
- Webhooks — trigger downstream actions (CRM import, Slack alert) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/srx-property-scraper').call({listingType: 'sale',propertyType: 'condo',district: '9,10,11',maxItems: 200,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} listings`);
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 segment adds 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 every condo for sale in District 9 on SRX with the agent's mobile and the project's last transacted prices" and let it run the scraper.
More scrapers from scrapesage
Build a complete Singapore property & lead-gen stack:
- 99.co Property Scraper — Singapore residential listings and agent leads.
- EdgeProp.sg Scraper — Singapore property listings and agent leads.
- CommercialGuru Scraper — Singapore commercial & industrial property and agent leads.
- Singapore Company Scraper — UEN, registry and business leads.
- StreetDirectory Scraper — Singapore business leads.
- SGCarMart Used Car Scraper — Singapore used cars, prices and dealer leads.
- MyCareersFuture Scraper — Singapore jobs, salaries and leads.
- Google Maps Scraper — local businesses with phone, website and reviews.
- Website Contact Scraper — emails, phones and socials from any website.
Tips
- Whole-market coverage: set
propertyTypetoallandlistingTypetobothto sweep an entire segment. - Best leads first: sort the dataset by
leadScoreto surface contactable, premium listings at the top. - Cost control: leave
includeDetailsoff for a fast, cheap pass with the rich card (price, PSF, size, district, segment, agent name + mobile + agency); turn it on to add description, amenities and all photos; addincludeTransactedComparablesfor the valuation layer. - Asking-vs-transacted: enable
includeDetails+includeTransactedComparablesand compare each listing'sprice/builtPsfagainsttransactedComparables.sale[].psf.
FAQ
Does it need an SRX account or API key? No. This actor reads SRX's own server-rendered data — the same data the website shows — with no login, cookie or key.
Where does the agent's mobile come from? From the listing card itself — SRX publishes the agent's name, mobile, agency and WhatsApp on each listing, and this actor reads them directly. (No detail crawl needed for the lead.)
What are "transacted comparables"? SRX publishes each project's recent transacted sale and rental prices (the prices units actually changed hands at, from URA caveats) on the project page. With includeTransactedComparables the actor attaches them per listing — the gated data behind valuation tools like X-Value.
Why is a residential Singapore proxy required? SRX is Cloudflare-protected and blocks datacenter IPs. The actor defaults to Apify Residential proxy, country SG, which loads pages reliably.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
Is scraping SRX legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. PDPA/GDPR for personal data) and SRX'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.