Domain.com.au Scraper — AU Buy, Rent & Sold Listings
Pricing
from $1.50 / 1,000 property extracteds
Domain.com.au Scraper — AU Buy, Rent & Sold Listings
Extract Australian property listings from Domain.com.au: search by suburb, coordinates, URL or bulk-suburb list across buy, rent and sold. Get prices, beds/baths/parking, addresses, agents, schools, floorplans and market insights with median-price A$ KPIs — export clean JSON, CSV or Excel.
Pricing
from $1.50 / 1,000 property extracteds
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Domain.com.au Scraper 🇦🇺 Buy · Rent · Sold · Auction Data
🎉 The Domain.com.au scraper that ships structured schools, 5-year market insights and A$ median KPIs — not just a raw listing dump
Built for Australian property investors, buyer's agents, and PropTech teams who model markets, not just collect rows
📋 Overview
Pull every Domain.com.au listing in your target Australian market — for-sale, to-rent, and recently-sold (with sold price + sold date) — and get ready-to-model A$ KPIs alongside the raw data. Rank suburbs by median price, comp valuations against the sold archive, and export the lot to JSON / CSV / Excel before your next inspection round.
Why property professionals choose this actor:
- ✅ Structured, not raw: typed
schools[], 5-yearmarketInsights, andfloorplanson detail enrichment — where the $0.001 raw scrapers hand you unstructured JSON - ⚡ Analysis-ready in one run: median sale/rent/sold, price distributions, and suburb + property-type breakdowns computed in-actor and delivered as an HTML market report
- 🎯 Four search modes: free-text suburb, coordinates + radius, a pasted Domain.com.au URL, or a bulk-suburb sweep — with cross-page
propertyIddeduplication - 💰 Pay-per-result pricing: charged per listing extracted; a hard-capped FREE tier lets you test the full feature set with no credit card
- 💎 Sold + auction coverage: pull the recently-sold archive with final sold price + sold date, and flag listings heading to auction
- ✨ Agent & agency intel: agency name, logo, brand colour, and listing agents captured on every row
✨ Features
- 🏠 Buy + Rent + Sold in one actor: switch channels with a single
listingTypefield, or run all three at once (PAID) - 🧭 Four flexible search modes:
bylocation,bycoordinates,byurl, and PAIDbulklocations - 📊 Run-level market KPIs: median A$ prices, min/median/avg/p90/max distributions, suburb and property-type tallies
- 🏫 Neighbourhood intelligence (PAID): typed nearby schools with level, sector, and year-range
- 📈 Market insights (PAID): 5-year price series, price guide, recent-sales low/high band, and price direction
- 🖼 Full media: photo counts, complete photo URL lists, and floorplans on detail enrichment
- 🔨 Auction + sold data: auction flags plus the recently-sold archive with sold price and date
- 🔁 Automatic dedup + pagination: cross-page
propertyIddeduplication and auto-paginated result draining - 📄 HTML market report: a shareable summary with KPIs, distributions, and per-query totals
🎬 Quick Start
Pick a search mode, give it a location (or a Domain.com.au URL), choose sale / rent / sold, and run. Results stream into the Apify dataset with A$ KPIs computed on top.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~domain-au-property-scraper/runs?token=YOUR_APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchMode": "bylocation", "location": "Bondi Beach NSW 2026", "listingType": "sale", "maxResults": 30}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose a search mode
Pick bylocation (free-text suburb), bycoordinates (lat/lon + radius), byurl (paste a Domain.com.au search URL), or bulklocations (array of suburbs, PAID).
Step 2: Set your market
Enter your suburb / coordinates / URL, pick listingType (sale, rent, sold, or all), and add optional filters (price, beds, baths, parking, property type, keywords).
Step 3: Run and export
Launch the actor. Toggle includeDetails (PAID) for schools, floorplans and market insights.
That's it! In a couple of minutes, you'll have:
- A clean dataset of Domain.com.au listings with 19 structured fields per row
- A$ market KPIs (median price, distributions, suburb breakdowns) in an HTML report
- Exportable JSON / CSV / Excel for your comps, models, or CRM
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
searchMode | string | Yes | bylocation, bycoordinates, byurl, or bulklocations |
listingType | string | No | sale, rent, sold, or all (PAID). Default sale |
location | string | Conditional | Free-text suburb / state / postcode (bylocation mode) |
suburbId | integer | No | Optional Domain suburb id to disambiguate a location |
latitude / longitude | number | Conditional | Coordinates (bycoordinates mode) |
radius | number | No | Search radius in km (bycoordinates mode) |
domainUrl | string | Conditional | A Domain.com.au search-results URL (byurl mode) |
locations | array | Conditional | Array of suburbs to sweep (bulklocations, PAID) |
propertyType | string | No | e.g. House, Apartment, Townhouse, Land |
priceRange / bedsRange / bathsRange / parkingRange | string | No | min:N, max:N, or min:N,max:N |
keywords | string | No | Free-text amenity keywords (e.g. pool, harbour view) |
maxResults | integer | No | Cap on listings per query (FREE capped at 25/run) |
includeDetails | boolean | No | Fetch full detail — schools, floorplans, market insights (PAID) |
Example — search by suburb:
{"searchMode": "bylocation","location": "Surfers Paradise QLD 4217","listingType": "sale","propertyType": "Apartment","priceRange": "min:500000,max:1500000","maxResults": 50}
Example — bulk suburbs (PAID) with detail enrichment:
{"searchMode": "bulklocations","locations": ["Bondi NSW", "Carlton VIC", "New Farm QLD"],"listingType": "rent","includeDetails": true}
📤 Output
Results are saved to the Apify dataset with 19 structured fields per listing, plus an HTML market report in the key-value store.
| Field | Type | Description |
|---|---|---|
propertyId | string | Unique Domain.com.au listing id |
listingType | string | sale, rent, or sold |
headline | string | Listing headline / marketing title |
listingUrl | string | Canonical Domain.com.au listing URL |
address | object | Street, suburb, state, postcode, region |
pricing | object | AUD price, min/max, display string, rent frequency |
specs | object | Beds, baths, parking, property type |
location | object | Latitude / longitude |
agency | object | Agency name, logo, brand colour, listing agents |
media | object | Photo count + full photo URL list |
inspections | array | Scheduled inspection windows |
isAuction | boolean | Heading to auction |
dateListed | string | Publish date |
detail | object | (PAID) description, floorplans, schools, market insights |
Example row:
{"propertyId": "2019876543","listingType": "sale","status": "Live","headline": "Renovated Beachside Apartment with Ocean Views","listingUrl": "https://www.domain.com.au/2019876543","address": { "suburb": "Bondi Beach", "state": "NSW", "postcode": "2026" },"pricing": { "price": 1850000, "priceDisplay": "$1,800,000 - $1,900,000", "priceCurrency": "AUD" },"specs": { "beds": 2, "baths": 1, "parking": 1, "propertyType": "Apartment" },"location": { "latitude": -33.891, "longitude": 151.277 },"agency": { "name": "Bondi Coastal Realty", "agents": [{ "name": "Jane Smith" }] },"media": { "photoCount": 18 },"isAuction": true}
💼 Use Cases & Examples
1. AU Property Investors
Investors screening buy-side deals across multiple suburbs.
Input: A bulklocations sweep of target suburbs with a priceRange and propertyType filter.
Output: Every matching listing plus median-price KPIs and suburb breakdowns.
Use: Shortlist under-priced stock and rank suburbs by median before booking inspections.
2. Comparables (Comps) Valuation
Buyer's agents and valuers building a comps set from sold data.
Input: listingType: "sold" for a suburb or coordinate radius.
Output: The recently-sold archive with final sold price and sold date.
Use: Anchor a valuation against real, recent transactions — not asking prices.
3. Auction & Sold-History Research
Analysts tracking auction activity and clearance in a market.
Input: A suburb search with listingType: "all" (sale + rent + sold).
Output: Auction-flagged listings alongside the sold archive.
Use: Model auction demand and price movement over time.
4. Suburb-Level Market Reports
Agencies producing branded suburb reports for vendors.
Input: bylocation per target suburb with includeDetails on (PAID).
Output: Median A$ prices, distributions, school data, and 5-year market insights.
Use: Drop the HTML report and KPIs straight into a listing-presentation deck.
5. Buyer's-Agent Lead & Agency Intel
Buyer's agents mapping the agencies and agents active in a patch.
Input: Any search mode across a target region. Output: Agency name, logo, brand colour, and listing agents on every row. Use: Build a live map of who's listing what, where — pair with Property Skip Tracing for owner outreach.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/domain-au-property-scraper').call({searchMode: 'bylocation',location: 'Bondi Beach NSW 2026',listingType: 'sale'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/domain-au-property-scraper').call(run_input={'searchMode': 'bylocation','location': 'Bondi Beach NSW 2026','listingType': 'sale'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~domain-au-property-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchMode": "bylocation", "location": "Bondi Beach NSW 2026", "listingType": "sale"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule (e.g. weekly suburb sweep) or webhook
- HTTP Request:
POST /v2/acts/sian.agency~domain-au-property-scraper/runs?token=YOUR_TOKENwith your input - Process: Handle the JSON listing rows + KPIs
- Action: Save to your CRM / warehouse, notify, or transform
📊 Performance & Pricing
FREE Tier (Try It Now)
- Up to 25 listings per run — full feature access, same data quality
- No credit card required
- Perfect for testing a suburb or validating your filters
PAID Tier (Production Ready)
- Unlimited listings per run and bulk-suburb sweeps
- Detail enrichment (schools, floorplans, market insights) and
listingType: all - Pay-per-result: charged only for listings actually extracted
💰 Pay-per-event, transparent pricing — a per-listing rate for the structured dataset, with an optional per-listing detail-enrichment charge only when you turn it on.
🔗 View live pricing on the Apify Store
❓ Frequently Asked Questions
Q: How many listings can I extract?
A: FREE tier: 25 per run. PAID tier: unlimited, with auto-pagination until your maxResults cap or the search is fully drained.
Q: Does it cover Australia only? A: Yes. Domain.com.au is a major Australian property portal; this actor covers Australian listings only. For US property data, use Redfin Property Scraper or Zillow Property Scraper.
Q: Can I get sold prices and sold dates?
A: Yes. Set listingType: "sold" to pull the recently-sold archive; each row carries the final sold price and sold-date stamp.
Q: What extra data does detail enrichment add?
A: With includeDetails on (PAID), each listing gains the full description, all photos, floorplans, typed nearby schools, and 5-year market insights (price series, price guide, recent-sales band, price direction).
Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset. An HTML market report is saved to the key-value store.
Q: Is this legal? A: We only extract publicly available data from Domain.com.au — no auth bypass, no private content. You are responsible for complying with Domain.com.au's Terms of Service and applicable Australian law. See the legal section below.
Q: How do I search a precise area?
A: Use bycoordinates with a latitude, longitude, and radius (km), or paste a Domain.com.au search-results URL with byurl.
🐛 Troubleshooting
Location not resolving / zero results
- Domain.com.au is strict about location strings. Try
"Sydney NSW 2000"(suburb + state + postcode) instead of"Sydney". - For ambiguous suburb names (Richmond exists in NSW, VIC, and QLD), always include the state, or pass the optional
suburbId.
byurl mode rejected the URL
- The URL must be a Domain.com.au search-results page starting with
https://www.domain.com.au/. - Single-listing URLs are not search URLs — use
bylocationorbycoordinatesto find listings.
Detail enrichment returned nothing
- Detail enrichment is a PAID feature and is disabled on the FREE tier.
- A small number of listings may not expose full detail; those rows still include the search-level data.
Radius pulling neighbouring suburbs
radiusis in kilometres, capped at 50. In dense metro areas, a large radius reaches neighbouring postcodes — narrow the radius for a tighter market.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data. They only extract what Domain.com.au has chosen to publish publicly — listing data, agency contact blocks, property descriptions, and photos that any visitor can see by browsing the public site.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world (including the Australian Privacy Act 1988). You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You are also responsible for complying with Domain.com.au's Terms of Service when using the data downstream.
You can also read Apify's blog post on the legality of web scraping.
⚠️ Trademark Disclaimer
This is an independent tool — not affiliated with, endorsed by, or sponsored by Domain Holdings Australia Ltd, the Domain Group, or Domain.com.au. All trademarks (including Domain, Domain.com.au, and any agency brand names appearing in extracted data) are the property of their respective owners. Use of this Actor must comply with Domain.com.au's Terms of Service and applicable Australian law (Privacy Act 1988, Spam Act 2003, Competition and Consumer Act 2010).
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's Issues tab
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools