SRX Singapore Property Scraper avatar

SRX Singapore Property Scraper

Pricing

from $1.00 / 1,000 result items

Go to Apify Store
SRX Singapore Property Scraper

SRX Singapore Property Scraper

Scrape HDB property listings from SRX Singapore — sale and rent. Price, PSF, area, MRT, tenure and more.

Pricing

from $1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

srx-sg-scraper

Extract property listings from srx.com.sg at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.


Why this scraper?

🎯 Built for Singapore

A dedicated Singaporean scraper, not a global tool with a country dropdown. Locations, price formats and currency (SGD) are tuned for srx.com.sg.

💶 Structured pricing

Asking price or rent as a clean number in SGD, plus the price exactly as displayed. Price-on-request listings return null, never a guess.

🏠 Property characteristics

Bedrooms, rooms, surface and property type in structured fields, ready for filtering and analysis.

📍 Location fields

Structured address data for every listing, ready for filtering and analysis.

🖼️ Listing photos

Photo URLs for every listing where the source publishes them.

🔁 Repost & change detection

Every record carries isRepost and changeStatus, so daily feeds return genuinely new listings instead of reposted duplicates.


Input parameters

ParameterTypeDefaultDescription
minPriceinteger(empty)Minimum listing price (local currency). Leave empty for no minimum.
maxPriceinteger(empty)Maximum listing price (local currency). Leave empty for no maximum.
daysOldinteger(empty)Only return listings published within the last N days. Leave empty for no recency filter.
fetchDetailsbooleanfalseVisit each listing page for price, area, beds, baths. Slower but much richer data.
maxItemsinteger5Maximum number of listings to extract. Set to 0 for unlimited.
startUrlsarray(empty)Optional list of search-results page URLs. When provided, all filter fields above are ignored.
categoriesarray["hdb-sale"]Which listing categories to scrape.
requestDelayMsinteger1500Milliseconds to wait between requests.

Output schema

Every field below is present on every record. Fields the source does not publish for a given listing are returned as null rather than omitted.

FieldTypeDescription
listingIdstringUnique listing ID from the source.
urlstringDirect link to the listing.
sourcestringSource.
operationTypestringOperation type.
propertyTypestringProperty type (e.g. apartment, house).
propertySubTypestringProperty subtype as published.
priceTextstringPrice text.
priceAmountstringAsking price or rent as a number (null if price on request).
priceCurrencystringCurrency code of the price.
pricePerSqftSGDstringPrice per sqft sgd.
addressstringFull address as displayed.
postalCodestringPostal code of the property.
bedroomsstringNumber of bedrooms (null if not stated).
bathroomsstringNumber of bathrooms (null if not stated).
floorAreaSqftstringFloor area sqft.
floorAreaSqmstringFloor area sqm.
tenurestringTenure as published (null if not stated).
nearestMRTsarrayNearest mrts.
descriptionTextstringDescription text.
descriptionMarkdownstringDescription markdown.
imagesarrayURLs of listing photos.
scrapedAtstringTimestamp when this record was scraped.
contentHashstringStable hash of the listing content, used for repost and change detection.

Example record

{
"listingId": "103386751",
"url": "https://www.srx.com.sg/listings/103386751/for-sale-pending-road-pending-road",
"source": "srx.com.sg",
"operationType": "sale",
"propertyType": "HDB",
"propertySubType": null,
"priceText": null,
"priceAmount": null,
"priceCurrency": null,
"pricePerSqftSGD": null,
"address": null,
"postalCode": null,
"bedrooms": null,
"bathrooms": null,
"floorAreaSqft": null,
"floorAreaSqm": null,
"tenure": null,
"nearestMRTs": [],
"descriptionText": null,
"descriptionMarkdown": null,
"images": [],
"scrapedAt": "2026-07-03T20:46:20.358Z",
"contentHash": "ae516ac2ca23df17"
}

Examples

Listings in Singapore:

{
"maxItems": 100
}

Cap the price:

{
"maxItems": 100,
"maxPrice": 1480000
}

Scrape a specific search URL:

{
"startUrls": [
{
"url": "https://www.srx.com.sg/"
}
],
"maxItems": 200
}

Daily feed of new listings (run on a schedule):

{
"daysOld": 1,
"maxItems": 500
}

Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours.


💰 Pricing

$1 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.1
1,000~$1
10,000~$10
100,000~$100

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $1 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results2–4 minutes
10,000 results20–35 minutes

Known limitations

  • Some fields (surface, year built, energy label) are only returned when the lister publishes them — expect null on a share of records.
  • Listing photos and agent details vary per listing; the scraper returns what the source publishes and never invents data.
  • Very large result sets are bounded by the source's own paging limits.
  • Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.

Technical details

  • Source: srx.com.sg — Singapore property listings
  • Coverage: everything the public search exposes, filterable via the input parameters above
  • Retry: automatic retry on network errors with exponential backoff

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl