Domain.com.au Australia Real Estate & Agent Contacts Scraper
Pricing
from $17.00 / 1,000 results
Domain.com.au Australia Real Estate & Agent Contacts Scraper
Scrape Domain.com.au property listings for buy, rent and sold across Australia: price, property type, bedrooms, bathrooms, parking, land size, full address with suburb, state, postcode and geo coordinates, plus agent name, phone, email and agency contact leads. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Domain.com.au Australia Real Estate & Agent Contacts Scraper
Here is one real result, with every field the actor returns:
{"listingId": 2020377626,"listingType": "buy","title": "4804/93 Liverpool Street","priceDisplay": "Buyer Guide $1,750,000","priceAmount": 1750000,"propertyType": "Apartment / Unit / Flat","bedrooms": 2,"bathrooms": 2,"parking": 1,"landSizeM2": 127,"address": "4804/93 Liverpool Street","suburb": "Sydney","state": "NSW","postcode": "2000","latitude": -33.876835,"longitude": 151.20671,"projectName": null,"agencyName": "Metro Realty","agentName": "John Tsironis","agentPhone": "0402 696 497","agentMobile": "0402 696 497","agentEmail": null,"agentProfileUrl": "https://www.domain.com.au/real-estate-agent/john-tsironis-2013312","agentCount": 2,"agencyPhone": "02 9260 7100","agencyProfileUrl": "https://www.domain.com.au/real-estate-agencies/metrorealty-17692/","features": [],"imageUrl": "https://rimh2.domainstatic.com.au/AyC0wP36_MH8j7swuAzwGDP3eEA=/720x540/filters:format(webp):quality(85)/2020377626_1_1_260327_052919-w3840-h2560","listingUrl": "https://www.domain.com.au/4804-93-liverpool-street-sydney-nsw-2000-2020377626","source": "domain.com.au","observedAt": "2026-08-10T14:33:25.381Z"}
The most complete Domain.com.au scraper available. It returns every field Domain exposes for each listing (price, property type, beds, baths, parking, land size, full address with suburb, state, postcode and geo coordinates), plus agent and agency contact leads (name, phone, mobile, email, profile URLs), and gives you search-URL, suburb and listing-type filters to target exactly the properties you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor scrapes Domain.com.au property search results for buy, rent or sold across Australia. It paginates each search automatically and writes one record per listing with price, property type, beds, baths, parking, land size, the full address (suburb, state, postcode and geo coordinates), listing image and URL. With fetchAgentContacts enabled (the default), it opens each listing to add agent and agency contact leads. Optional AI add-ons write a buyer/renter summary and extract structured feature tags. Missing source values are returned as null, never invented.
Give it full Domain search URLs, or list suburb slugs plus a listing type and it builds the searches for you.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 for-sale listings in Sydney with agent contacts.
{"searchUrls": ["https://www.domain.com.au/sale/sydney-nsw-2000/"],"fetchAgentContacts": true,"maxListings": 10}
Or search by suburb slug instead of a URL:
{"suburbs": ["bondi-nsw-2026", "melbourne-vic-3000"],"listingType": "rent","maxListings": 10}
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchUrls | string[] | no | Sydney sale search | One or more Domain.com.au search-results URLs (buy, rent or sold). Each URL is paginated automatically. |
suburbs | string[] | no | (empty) | Alternative to URLs: suburb slugs like sydney-nsw-2000, bondi-nsw-2026. Combined with listingType. |
listingType | enum | no | buy | Market to search when using suburbs: buy, rent, or sold. |
fetchAgentContacts | boolean | no | true | Visit each listing to capture agent name, phone, mobile, email and agency contacts. Turn off for faster, listing-only runs. |
withSummary | boolean | no | false | Paid add-on. AI writes a concise buyer/renter summary of each listing. Billed per summarised listing. Paid plans only. |
withFeatures | boolean | no | false | Paid add-on. AI extracts structured beds/baths/size/amenities/condition tags. Billed per processed listing. Paid plans only. |
maxListings | integer | no | 10 | Maximum listings to collect across all searches. Free plans are capped at 10. |
Output reference
One dataset item per listing. Types: string, integer, number, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
listingId | integer | Domain listing ID (unique per listing). |
listingType | string | buy, rent, or sold. |
title | string | Listing headline, usually the street address. |
priceDisplay | string | Price text as shown on Domain, for example Buyer Guide $1,750,000. |
priceAmount | integer | Parsed numeric price, or null when the price is undisclosed. |
propertyType | string | Property type, for example Apartment / Unit / Flat, House. |
bedrooms | integer | Number of bedrooms, or null. |
bathrooms | integer | Number of bathrooms, or null. |
parking | integer | Number of parking spaces, or null. |
landSizeM2 | number | Land or internal size in square metres, or null. |
address | string | Street address. |
suburb | string | Suburb. |
state | string | State code, for example NSW, VIC. |
postcode | string | Postcode. |
latitude | number | Latitude, or null. |
longitude | number | Longitude, or null. |
projectName | string | Development/project name for off-the-plan listings, or null. |
agencyName | string | Listing agency name. |
agentName | string | Primary agent name (with fetchAgentContacts). |
agentPhone | string | Agent phone, or null. |
agentMobile | string | Agent mobile, or null. |
agentEmail | string | Agent email, or null when not published. |
agentProfileUrl | string | Agent profile URL on Domain. |
agentCount | integer | Number of agents on the listing. |
agencyPhone | string | Agency phone. |
agencyProfileUrl | string | Agency profile URL on Domain. |
features | string[] | Feature tags from the listing (or AI feature tags with the add-on). |
imageUrl | string | Primary listing image URL. |
listingUrl | string | Full listing URL on Domain. |
source | string | Data source. Always domain.com.au. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run: a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"searchUrls":["https://www.domain.com.au/sale/sydney-nsw-2000/"],"fetchAgentContacts":true,"maxListings":10}):
{"listingId": 2020377626,"listingType": "buy","priceDisplay": "Buyer Guide $1,750,000","priceAmount": 1750000,"propertyType": "Apartment / Unit / Flat","bedrooms": 2,"bathrooms": 2,"parking": 1,"landSizeM2": 127,"address": "4804/93 Liverpool Street","suburb": "Sydney","state": "NSW","postcode": "2000","latitude": -33.876835,"longitude": 151.20671,"agencyName": "Metro Realty","agentName": "John Tsironis","agentPhone": "0402 696 497","agentProfileUrl": "https://www.domain.com.au/real-estate-agent/john-tsironis-2013312","listingUrl": "https://www.domain.com.au/4804-93-liverpool-street-sydney-nsw-2000-2020377626","source": "domain.com.au","observedAt": "2026-08-10T14:33:25.381Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~domain-australia-realestate-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchUrls":["https://www.domain.com.au/sale/sydney-nsw-2000/"],"maxListings":10}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~domain-australia-realestate-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"suburbs":["bondi-nsw-2026"],"listingType":"rent","maxListings":100}'
Apify CLI:
apify call scrapers_lat/domain-australia-realestate-scraper \--input '{"searchUrls":["https://www.domain.com.au/sold-listings/bondi-nsw-2026/"],"maxListings":10}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per listing returned (
resultevent). See the pricing tab for the current per-result price. - AI add-ons.
withSummaryandwithFeatureseach bill per listing enriched, only on success. They are disabled by default and require a paid plan. - No charge on failure. If a run errors before any listing is collected, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 listings per run. Upgrade for higher
maxListings.
FAQ and troubleshooting
A run returned 0 records. Why? The search URL or suburb matched no listings. Confirm the URL works on domain.com.au, or try a different suburb. Zero-result runs are not charged.
Why is agentEmail null?
Domain does not publish an email for every agent. When it is missing, agentEmail is returned as null; the agent phone, mobile and profile URL are still captured when available.
How do I search sold listings?
Use a sold-listings URL in searchUrls, or set listingType to sold when using suburbs.
Why is priceAmount null while priceDisplay has text?
Some listings show a non-numeric price (for example Contact Agent or Auction). The display text is kept and the numeric field is null, never invented.
Can I turn off contact lookups for speed?
Yes. Set fetchAgentContacts to false for faster, listing-only runs.
Is this an official Domain tool? No. This actor is independent and has no affiliation with Domain Holdings Australia. It reads only data that is publicly available on domain.com.au. Use it in accordance with the Domain terms of service.
Related scrapers
- Rightmove UK Real Estate Scraper: UK property listings and agent contacts.
- Realtor.ca Listings Scraper: Canadian MLS property listings.
- Redfin Real Estate Scraper: US property listings and details.
- Yellow Pages Australia Scraper: Australian business contact leads.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Domain Holdings Australia. Accesses only publicly available domain.com.au data. Use in accordance with the Domain terms of service.
