Domain Real Estate AU Listings | Historical Price | AI Insights avatar

Domain Real Estate AU Listings | Historical Price | AI Insights

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Domain Real Estate AU Listings | Historical Price | AI Insights

Domain Real Estate AU Listings | Historical Price | AI Insights

Extract enriched Domain.com.au property listings across buy, rent, and sold, with AI-enhanced content and deep structured data including descriptions, features, photos, GPS, agent contacts, suburb insights, school catchments, and complete sold and leased price history timelines.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Domain.com.au Property Scraper

Pull every listing on Domain.com.au, Australia's #2 property portal, with the full field surface across buy, rent, and sold modes.

Highlights: Property History & Property Insights. Beyond the standard listing fields, this scraper can enrich every record with Property History (the full sold/listed/leased price timeline per unit) and Property Insights (AVM value estimates, suburb market trends, and property-level intelligence such as planning overlays, school zoning, NBN, and council). Together they turn a plain listing into a full valuation-and-history dossier. See Enriched output.

What you get per listing

Example record (shape only, values are illustrative placeholders):

{
"id": "0000000000",
"url": "https://www.domain.com.au/1-example-street-suburb-nsw-2000-0000000000",
"listingType": "buy",
"displayAddress": "1 Example Street, Sample Suburb NSW 2000",
"suburb": "Sample Suburb", "state": "NSW", "postcode": "2000",
"latitude": 0.0, "longitude": 0.0,
"price": "Contact Agent",
"bedrooms": 2, "bathrooms": 2, "parkingSpaces": 1,
"propertyType": "Apartment Unit Flat",
"headline": "Example listing headline.",
"description": "Example multi-paragraph description.",
"structuredFeatures": ["Air Conditioning", "Built-In Wardrobes", "Pool", "Security Access"],
"status": "NEW",
"inspection": {
"byAppointmentOnly": false,
"inspections": [
{ "start": "2026-01-03T13:45:00", "end": "2026-01-03T14:00:00", "time": "1:45pm", "dayOfWeek": "Saturday" }
]
},
"firstListedDate": "2026-01-01T00:00:00",
"agencyName": "Example Real Estate",
"agencyId": "QWdlbmN5OjAwMDAw",
"agencyProfileUrl": "https://www.domain.com.au/agencies/00000/",
"agents": [{
"name": "Jane Smith",
"phone": "0400 000 000",
"mobile": "0400 000 000",
"email": "jane@example.com.au",
"photo": "https://rimh2.domainstatic.com.au/.../contact_000000.JPG"
}],
"tags": ["apartment_unit_flat", "new"]
}

35+ fields populated per listing, including:

  • Agent name, phone, mobile, email, headshot URL
  • Agency name, ID, profile URL
  • Full address (street, suburb, state, postcode) + lat/lng
  • Beds, baths, parking, land size
  • Property type
  • Headline and full description (multi-paragraph)
  • Structured features list (typically 15 to 20 per listing)
  • Status (NEW / UNDER_OFFER / SOLD / LEASED)
  • First-listed date, sold/leased dates where applicable
  • Hero image URL
  • Optional cross-source enrichment for property insights and extended listing fields when includePropertyInsights or includeExtendedListing is enabled.

Two modes (input)

Search mode

Filter by suburb plus listing type.

{
"mode": "search",
"listingType": "buy",
"locations": ["sydney-nsw-2000", "melbourne-vic-3000"],
"minBedrooms": 2,
"maxListings": 100,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AU" }
}

URL mode

Paste Domain listing URLs, search URLs, or a mix.

Open-for-inspection URLs are supported. Paste a suburb URL whose path ends in /inspection-times/ (e.g. …/rent/<suburb-slug>/inspection-times/) to scrape only listings with a scheduled inspection in the next 7 days. Each result's inspection field carries the full schedule (start/end time, day of week). Pagination walks the whole filtered set automatically.

{
"mode": "url",
"urls": [
"https://www.domain.com.au/level-12-303-castlereagh-street-sydney-nsw-2000-2013554678",
"https://www.domain.com.au/1-alfred-street-sydney-nsw-2000-2019522695"
],
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AU" }
}

Proxy requirement

Apify Residential proxy, country AU or NZ. Residential exits are required for reliable reachability and for the optional cross-source enrichment paths.

Input fields

  • mode is search or url
  • listingType is buy (default), rent, or sold
  • locations is a list of suburb-state-postcode slugs (search mode); accepts lowercase hyphens
  • urls is a list of Domain listing URLs (URL mode)
  • propertyTypes (optional filter; example ["apartment-unit-flat", "house"])
  • minBedrooms, maxBedrooms, minBathrooms, minPrice, maxPrice (optional filters)
  • excludeUnderOffer drops listings with status UNDER_OFFER
  • inspectionsOnly (search mode) returns only listings with a scheduled inspection in the next 7 days; each result gets an inspection schedule. In URL mode, paste an /inspection-times/ URL instead.
  • auctionsOnly (search mode) returns only listings going to auction in the next 7 days. Best paired with listingType: "buy". Domain has no auction URL to paste, so this toggle is the only way to filter auctions.
  • maxListings is the hard output cap (default unlimited)
  • fetchPropertyHistory adds the sold/leased price-history timeline (needs residential AU)
  • includePropertyInsights adds suburb-level insights (median, days on market, demographics)
  • includeExtendedListing adds the cross-source indoor/outdoor feature split

Tags

Each listing carries category tags you can filter or group on:

  • Property type (apartment_unit_flat, house, townhouse, ...)
  • Status (new, under_offer, sold, leased)
  • Sale method (auction when the price string indicates one)

Enriched output (when cross-source toggles are on)

The three optional toggles attach extra fields to each listing. Each is independent and can be enabled on its own.

Highlight: Property History & Property Insights. These are the two flagship enrichments. Property History (fetchPropertyHistory) gives you the full sold/listed/leased price timeline per unit, and Property Insights (includePropertyInsights) adds AVM value estimates, suburb market trends, and property-level intelligence (planning overlays, school zoning, NBN, council). Together they turn a plain listing into a full valuation-and-history dossier.

⭐ Property History: fetchPropertyHistory: true, adds priceHistory[]

A timeline of past sale, listing, and lease events for the SPECIFIC unit (apartment listings need a unit number like 12/45 … in the address to match; bare-building addresses are skipped to avoid returning aggregate building data).

"priceHistory": [
{ "event": "listed_for_sale", "year": 2026, "price": "Auction Guide $1,000,000", "date": "1 Jan 2026", "agent": "Example Real Estate", "details": "Listed 1 Jan 2026 by Example Real Estate" },
{ "event": "sold", "year": 2018, "price": "$870,000", "date": "1 Jan 2018", "agent": "Example Real Estate", "details": "Sold 1 Jan 2018 by Example Real Estate" },
{ "event": "listed_for_sale", "year": 2018, "price": "$880,000", "date": "1 Dec 2017" },
{ "event": "sold", "year": 2012, "price": "$640,000", "date": "1 Jan 2012" }
]

Typical 0-10 events per unit. Empty when the cross-source index has no record for this specific unit.

⭐ Property Insights: includePropertyInsights: true, adds valueEstimates, marketInsights, pcaInsights

Three separate blocks for AVM valuation, suburb market trends, and property-level intelligence:

"valueEstimates": {
"sale": { "value": 1050000, "display": "$1.05M", "confidence": "MEDIUM", "range_min": 950000, "range_max": 1150000 },
"rental": { "value": 900, "display": "$900/wk", "confidence": "MEDIUM", "range_min": 800, "range_max": 1000 }
},
"marketInsights": {
"median_price": "$1,200,000",
"price_growth_12mo": "+5.2%",
"median_rent": "$950",
"rent_growth_12mo": "+8.1%"
},
"pcaInsights": {
"planningOverlays": { "bushfire": false, "flood": false, "heritage": true },
"council": "Sample Council",
"landDescription": "Lot 1 in Strata Plan 0000",
"internet": { "connectionType": "FTTP", "quality": "Excellent", "description": "NBN Fibre to the Premises" },
"schoolZoning": [
{ "name": "Sample Public School", "isZoned": true, "phase": "primary" },
{ "name": "Sample Secondary College", "isZoned": true, "phase": "secondary" }
],
"builtYear": 2005,
"mobileCoverage": "5G",
"mediaCounts": { "photos": 18, "floorPlans": 1, "videos": 0 }
}

includeExtendedListing: true, adds extendedListing

Indoor/outdoor feature split and a handful of listing-card fields Domain itself doesn't expose:

"extendedListing": {
"indoorFeatures": ["Air conditioning", "Built-in robes", "Dishwasher", "Floorboards", "Gas heating"],
"outdoorFeatures": ["Balcony / Deck", "Secure parking", "Shed"],
"studies": 1,
"buildingSize": 95,
"buildingSizeUnit": "m²",
"priceFrom": 950000,
"priceTo": 1050000,
"hasFloorplan": true,
"hasVideo": false,
"has3DTour": true,
"hasStatementOfInformation": false,
"constructionStatus": "existing",
"dateUpdated": "2026-01-15T09:00:00",
"auctionDate": "2026-02-15T11:00:00",
"soldPrice": null,
"daysOnMarket": 14,
"bond": null,
"availableDate": null
}