Domain.com.au Property Scraper — Sale, Rent & Sold Listings
Pricing
from $1.00 / 1,000 results
Domain.com.au Property Scraper — Sale, Rent & Sold Listings
Scrape Domain.com.au for Australian real estate listings. Extract sale prices, rent data, property details, agent info, images, floorplans, and more from Australia's leading property portal.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Muhammad Afzal
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
Share
Scrape Domain.com.au — Australia's #1 real estate portal — to extract structured property data for market analysis, investment research, rental yield tracking, and AI-powered real estate tools.
Features
- 🏠 Three listing modes — For Sale, For Rent, and Sold properties
- 📍 Smart location input — Paste a Domain URL or specify suburb/state/postcode to auto-generate search URLs
- 🔍 Rich property filters — Bedrooms, bathrooms, parking, price range, property type
- 📄 Full detail enrichment — Optional deep-scrape of each listing page for descriptions, all images, property features, and inspection times
- ⚡ Direct JSON API — Extracts data from Domain's Next.js SSR JSON payload via
Accept: application/jsonheader — no browser or HTML parsing needed - 📊 Structured JSON output — Clean, typed records ready for direct use in AI agents, spreadsheets, or databases
- 🔄 Retry logic — Automatic retries with exponential backoff for transient failures
Use Cases
| Scenario | Description |
|---|---|
| Property market research | Compare listing prices and supply across suburbs |
| Investment analysis | Extract rental yields, sold prices for ROI calculations |
| Rental yield tracking | Scrape rent vs sale prices across suburbs to identify high-yield areas |
| Agency lead generation | Gather agent contact details and active listings for outreach |
| Automated valuation models | Feed structured property data into ML models for price prediction |
| Suburb comparison dashboards | Build data-driven tools for home buyers comparing areas |
Input Parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchUrls | string[] | [] | Paste complete Domain.com.au search URLs |
searchLocations | object[] | [] | Array of { suburb, state, postcode } to auto-generate URLs |
listingMode | string | "sale" | "sale", "rent", or "sold" |
maxListings | integer | 20 | Maximum listings to scrape (1-500) |
includePropertyDetails | boolean | true | Scrape each listing's detail page for enriched data |
sortBy | string | "dateupdated-desc" | Sort: newest, price asc/desc, suburb A-Z |
propertyTypes | string[] | [] | Filter by: house, apartment, townhouse, villa, land, acreage, retirement, unit-block |
minBedrooms | integer | — | Minimum bedrooms (1-10) |
maxBedrooms | integer | — | Maximum bedrooms (1-10) |
minBathrooms | integer | — | Minimum bathrooms (1-10) |
maxBathrooms | integer | — | Maximum bathrooms (1-10) |
minPrice | integer | — | Minimum price in AUD (rent = weekly) |
maxPrice | integer | — | Maximum price in AUD (rent = weekly) |
minParking | integer | — | Minimum car spaces (1-10) |
maxRequestRetries | integer | 3 | Retry attempts per page (1-10) |
Output Fields
Always Included
| Field | Type | Description |
|---|---|---|
listingId | integer | Domain.com.au unique listing ID |
street | string | null | Street address (no suburb) |
suburb | string | null | Suburb name |
state | string | null | State abbreviation (VIC, NSW, etc.) |
postcode | string | null | 4-digit Australian postcode |
price | number | null | Numeric price (sale/sold = total, rent = weekly) |
priceDisplay | string | null | Formatted price as shown on Domain |
listingMode | string | sale, rent, or sold |
propertyType | string | null | House, ApartmentUnitFlat, Townhouse, etc. |
propertyTypeFormatted | string | null | Human-readable property type |
bedrooms | integer | null | Number of bedrooms |
bathrooms | integer | null | Number of bathrooms |
parkingSpaces | integer | null | Number of car spaces |
landSize | number | null | Land area in m² |
landUnit | string | null | Land measurement unit (m², ha) |
imageUrl | string | null | Primary listing photo URL |
listingUrl | string | null | Full URL to property detail page |
latitude | number | null | Geographic latitude |
longitude | number | null | Geographic longitude |
isRural | boolean | null | Whether the property is rural |
isRetirement | boolean | null | Whether the property is in a retirement village |
tagText | string | null | Status tag (New, Sold, etc.) |
keywords | string[] | Listing keywords |
inspectionOpenTime | string | null | Next inspection start (ISO 8601) |
inspectionCloseTime | string | null | Next inspection end (ISO 8601) |
scrapedAt | string | ISO 8601 timestamp |
searchQuery | string | Suburb + state + postcode + mode |
Detail Enrichment (includePropertyDetails: true)
| Field | Type | Description |
|---|---|---|
fullDescription | string | null | Complete property description |
images | string[] | All property photo URLs |
propertyFeatures | string[] | Features and amenities |
agentName | string | null | Listing agent name |
agentEmail | string | null | Agent email address |
agentPhone | string | null | Agent phone number |
soldDate | string | null | Date sold (sold listings) |
inspectionTimes | string[] | Upcoming open inspection times |
stampDutyEstimate | number | null | Estimated stamp duty |
medianPrice | string | null | Area median price info |
Example Usage
Quick Suburb Scan
{"searchLocations": [{ "suburb": "Richmond", "state": "vic", "postcode": "3121" }],"listingMode": "sale","maxListings": 10,"includePropertyDetails": false}
Comprehensive Area Analysis
{"searchLocations": [{ "suburb": "Surry Hills", "state": "nsw", "postcode": "2010" },{ "suburb": "Paddington", "state": "nsw", "postcode": "2021" }],"listingMode": "sale","maxListings": 100,"includePropertyDetails": true,"propertyTypes": ["house", "townhouse"],"minBedrooms": 2,"maxPrice": 2000000,"sortBy": "price-asc"}
Rental Market Research
{"searchLocations": [{ "suburb": "Brunswick", "state": "vic", "postcode": "3056" }],"listingMode": "rent","maxListings": 50,"minBedrooms": 2,"maxPrice": 800,"propertyTypes": ["apartment"]}
Sold Price Tracking
{"searchLocations": [{ "suburb": "Brisbane City", "state": "qld", "postcode": "4000" }],"listingMode": "sold","maxListings": 200,"includePropertyDetails": true,"sortBy": "dateupdated-desc"}
Direct URL Input
{"searchUrls": ["https://www.domain.com.au/sale/melbourne-vic-3000/property-type-apartment-unit-flat/min-2-bedrooms/price-400000-800000/"],"listingMode": "sale","maxListings": 30}
Example Output
{"listingId": 2020812074,"title": "House","price": 2400000,"priceDisplay": "$2,400,000 - $2,600,000","listingMode": "sale","listingUrl": "https://www.domain.com.au/83-bendigo-street-richmond-vic-3121-2020812074","imageUrl": "https://rimh2.domainstatic.com.au/fdqeJ7eA4M9ut_ADTnEixaGYa14=/720x540/filters:format(webp):quality(85)/2020812074_1_1_260504_040734-w1600-h1067","street": "83 Bendigo Street","suburb": "Richmond","state": "VIC","postcode": "3121","latitude": -37.826443,"longitude": 145.012,"bedrooms": 3,"bathrooms": 2,"parkingSpaces": 2,"propertyType": "House","propertyTypeFormatted": "House","landSize": 450,"landUnit": "m²","inspectionOpenTime": "2026-05-09T11:00:00","inspectionCloseTime": "2026-05-09T11:30:00","fullDescription": null,"images": ["https://rimh2.domainstatic.com.au/...w1600-h1067","https://rimh2.domainstatic.com.au/...w1600-h1067"],"propertyFeatures": [],"agentName": null,"agentEmail": null,"agentPhone": null,"soldDate": null,"inspectionTimes": [],"stampDutyEstimate": null,"medianPrice": null,"searchQuery": "sale/richmond-vic-3121/?sort=dateupdated-desc","scrapedAt": "2026-05-04T14:31:16.079Z"}
Why This Scraper?
- Australian-optimized — Built specifically for Domain.com.au's Next.js architecture, extracting data via
Accept: application/jsonheader to get structured JSON directly from the SSR payload - No browser needed — Uses Domain's built-in JSON API endpoint — no Playwright, no stealth plugins, no Cloudflare challenges. Fast, reliable, and cost-effective
- Rich data extraction — 40+ fields covering everything from basic listing info to deep detail-page enrichment
- Dual input flexibility — Drop in a full Domain URL or just specify suburbs — the scraper builds search paths automatically
- Production-ready — Retry logic, rate limiting, batch pushing, and graceful error handling built in
SEO Keywords
Australian real estate API, Domain.com.au scraper, property data extraction, real estate market analytics, Australian property listings, Domain scraper, sale listings Australia, rent listings Australia, sold price data Australia, property investment data, real estate lead generation, suburb property data, Domain.com.au data export, Australian housing market data