Domain.com.au Scraper — Property Listings avatar

Domain.com.au Scraper — Property Listings

Pricing

from $1.60 / 1,000 results

Go to Apify Store
Domain.com.au Scraper — Property Listings

Domain.com.au Scraper — Property Listings

Scrape Domain.com.au sale, rent, and sold listings with prices, property features, addresses, agents, images, and real estate data.

Pricing

from $1.60 / 1,000 results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Security

Limited permissions

Share

Domain.com.au Property Scraper — Extract Australian Real Estate Listings (Sale, Rent & Sold)

Scrape Domain.com.au, Australia's major real estate portal, for structured property listings: prices or price guides, address and coordinates, bedrooms, bathrooms, parking, property type, inspection times and, with detail enrichment, the full description, photos, features, listing agent and suburb median price. Supports For Sale, For Rent and Sold modes. The default input reads the first 20 For Sale listings in Sydney NSW 2000 with detail enrichment.

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

Features

  • Three listing modes: For Sale, For Rent, and Sold properties
  • Smart location input: paste a Domain.com.au search URL or give suburb, state and postcode
  • Property filters: bedrooms, bathrooms, parking, price range, property type, sort order
  • Optional detail enrichment: full description, all listing photos, features, listing agent, inspection times, suburb median price
  • Page data, not HTML parsing: reads the JSON data Domain's own pages load (Accept: application/json)
  • Bounded retries with exponential backoff for transient failures
  • Deduplicated output: each listing ID is saved and charged once per run

Use Cases

Use CaseDescription
Property market researchCompare listing prices and supply across suburbs
Investment analysisCompare sold prices and rental listings for ROI calculations
Rental yield trackingScrape rent vs sale listings to identify high-yield suburbs
Agency researchSee which agents list which properties
Automated valuation modelsFeed structured property data into price prediction models
Suburb comparisonBuild data-driven tools for home buyers comparing areas

Input

FieldTypeDefaultDescription
searchUrlsstring[]—Domain.com.au search page URLs (copy from the website with filters applied). When given, searchLocations is ignored.
searchLocationsobject[]—Structured location: { "suburb", "state", "postcode" }
listingModestring"sale""sale", "rent", or "sold" (used with searchLocations)
maxListingsinteger20Maximum listings to return
includePropertyDetailsbooleantrueFetch each listing page for description, photos, features, agent, inspections and suburb median
sortBystring"dateupdated-desc"Sort order for location searches
propertyTypesstring[][]Domain property-type filter values
minBedrooms / maxBedroomsinteger—Bedroom range
minBathrooms / maxBathroomsinteger—Bathroom range
minPrice / maxPriceinteger—Price range in AUD
minParkinginteger—Minimum parking spaces
maxRequestRetriesinteger3Retries for transient request failures

Access routing is managed by the Actor owner and is not part of the input.

Output

Each dataset record represents one property listing. Example (shortened) from a 2026-10-27 run:

{
"listingId": "2021278349",
"title": "Apartment / Unit / Flat",
"priceDisplay": "For Sale: $720,000 - $770,000",
"listingMode": "sale",
"listingUrl": "https://www.domain.com.au/1802-5-hosking-place-sydney-nsw-2000-2021278349",
"street": "1802/5 Hosking Place",
"suburb": "Sydney",
"state": "NSW",
"postcode": "2000",
"latitude": -33.86703,
"longitude": 151.20944,
"bedrooms": 1,
"bathrooms": 1,
"parkingSpaces": null,
"propertyType": "ApartmentUnitFlat",
"tagText": "New",
"inspectionOpenTime": "2026-10-31T09:30:00",
"searchQuery": "sale/sydney-nsw-2000",
"scrapedAt": "2026-10-27T16:21:21.486Z",
"agentName": "Oliver Quach",
"medianPrice": "765000",
"fullDescription": "Commanding a premier high-floor position on Level 18 within the highly regarded 'The Aston...",
"images": [
"https://rimh2.domainstatic.com.au/AXpS766JI7qIq3mNxcL1xiqsqDI=/fit-in/1920x1080/filters:format(webp):quality(85):no_upscale()/2021278349_1_1_261027_053428-w1200-h800"
],
"propertyFeatures": [
"Air conditioning",
"Balcony / Deck",
"Broadband internet access"
],
"inspectionTimes": [
"2026-10-31T09:30:00 to 2026-10-31T10:00:00"
]
}

Fields Domain does not publish for a listing stay null. price is a number only when Domain shows a single price; ranges and labels such as "Contact agent" stay in priceDisplay. soldDate is filled only when Domain includes it in the listing data. The run's OUTPUT record lists delivered and charged counts, skipped listings and the stop reason.

API Usage

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('muhammadafzal/domain-scraper').call({
searchLocations: [
{ suburb: 'Surry Hills', state: 'nsw', postcode: '2010' },
{ suburb: 'Fitzroy', state: 'vic', postcode: '3065' },
],
listingMode: 'sale',
maxListings: 100,
minBedrooms: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} properties`);

Pricing

This Actor uses pay-per-event pricing. Apify platform usage is included; no separate platform-usage fee is passed to users. Each listing saved to the dataset is one billable event. Listings whose requested detail page fails are skipped and counted in OUTPUT instead of being saved, so they are not charged. A blocked run ends with a failed status and no result charges.

Apify tierPer listing (USD)Per 1,000 listings (USD)Start fee per run (USD)
FREE$0.002001$2.001$0.006251
BRONZE$0.00195$1.95$0.006094
SILVER$0.0019$1.90$0.005938
GOLD / PLATINUM / DIAMOND$0.0016$1.60$0.005

The start fee is charged once per started GB of memory; the default 512 MB run pays it once. At FREE-tier prices, the default 20-listing run costs about $0.046. The authoritative prices are shown in the Actor's Apify pricing settings.

FAQ

Does this work for all Australian states?

Yes. Domain.com.au covers every state and territory. Give the state code (nsw, vic, qld, sa, wa, tas, act, nt) in searchLocations.

How do I get sold prices?

Set listingMode to "sold". Sold records carry the sale price in price and priceDisplay when the agent disclosed it.

Can I filter by property type?

Yes. Use propertyTypes, or copy a filtered Domain.com.au search URL into searchUrls.

What happens if Domain.com.au refuses the request?

The run ends with a failed status, the reason in the status message and OUTPUT, and no result charges.

Are agent details included?

With includePropertyDetails, each record carries the listing agent's name and the contact details Domain shows on the listing page.

Last verified: 2026-10-27