Domain.com.au Property Listings & Agent Data Extractor
Pricing
from $0.49 / 1,000 results
Domain.com.au Property Listings & Agent Data Extractor
Collect Domain.com.au sale, rent and sold property listings by search URL or direct listing URL, with address, price, beds/baths, photos, inspection times, agents and agency details per record.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Dataspryva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Features
Share
Domain.com.au is one of Australia's two main property portals. This actor turns its public pages into structured JSON: search results for sale, rent and sold listings, individual property detail pages, agent profiles and agency profiles — all without cookies, logins or API keys.
Modes
| Mode | What it collects | Main fields |
|---|---|---|
search | Builds a Domain search from one or more locations plus filters | Listing cards, with detail enrichment when scrapeDetails is on |
urls | Accepts any Domain search URL, listing URL, agent URL or agency URL and routes each one automatically | Mixed record types |
agents | Agent profile pages | Contact details, job title, agency, stats, socials, bio |
agencies | Agency profile pages | Contact details, branding, stats, reviews, team roster, recent listings |
Search mode understands Domain's own filter set: listing type, property types, minimum bedrooms/bathrooms/car spaces, price range, exclude under-offer, surrounding suburbs, sort order and free-text keywords. Every filter is translated into the same query parameters the Domain website uses, so results match what you see on the site.
What a listing record contains
From a search page
type(domain_listing),id,url,listingType(sale,rent,sold)title,address,street,suburb,state,postcodelatitude,longitudeprice,priceLabel,pricePeriod(weekfor rentals),priceGuide({from, to}for ranges)propertyType,bedrooms,bathrooms,carspaces,landArea,landUnitimages,inspections,auctionDateagent({name, photo}),agencyName,agencyColor,agencyLogo,agentNamesfeatures,tag/tags,projectNamescrapedAt
Added when the listing detail page is fetched (scrapeDetails: true or a direct listing URL)
headline,description,descriptionHtml,highlightsagents[]with phone, mobile, email, photo and profile URL, plusagentPhoneagencyPhone,agencyWebsite,agencyProfileUrl,agencyBanner,agencyAddressfloorplans,videos,virtualTourUrl,matterportInterior,matterportExteriorlandArea,buildingArea,energyEfficiencyRating,propertyReferencelistedAt,createdOn,modifiedOn,availableFrom,bondsalesMethod,listingStatus,soldAt,soldSaleMethod,auctionDate,auctionLocationstructuredFeatures[],schoolCatchment[](government and independent schools with distance)suburbMedianPrice,suburbMedianRent,suburbDaysOnMarket,suburbAuctionClearance,suburbSoldThisYear,suburbProfileUrl
What an agent record contains
type (domain_agent), id, url, name, firstName, jobTitle, phone, mobile, photo, profileText, profileTier, agencyId, agencyName, agencyUrl, agencyAddress, agencyLogo, agencyColor, social links, stats (forSale, forRent, sold, auctioned, leased, averageSoldPrice, averageDaysOnMarket), rating, reviewCount, activeSuburbs and scrapedAt. Email is included when Domain publishes it on the public page.
What an agency record contains
type (domain_agency), id, name, url, website, phone, mobile, email, address, logo, heroImage, color, profileTier, description, social links, stats (forSale, soldTotal, forRent, leased, sold, auctioned, averageSoldPrice, averageDaysOnMarket, totalSaleAmount), rating, reviewCount, reviews[], contacts[] (the team roster with per-agent stats), activeSuburbs[] and recentListings[] (up to 24 across sale, rent, sold and leased).
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | search | search, urls, agents or agencies |
locations | array | ["sydney-region-nsw"] | Suburbs, postcodes, regions or Domain slugs for search mode (Bondi Beach NSW 2026, bondi-beach-nsw-2026, sydney-region-nsw) |
listingType | select | sale | sale, rent or sold |
propertyTypes | multi-select | [] | House, townhouse, apartment/unit, villa, duplex, terrace, studio, land, acreage, rural, retirement, block of units and new-home types |
bedrooms, bathrooms, carspaces | select | any | Minimum counts (any, 1+, 2+, …) |
minPrice, maxPrice | integer | unset | Whole AUD; weekly rent for rentals |
excludeUnderOffer | boolean | false | Hide under-offer / under-contract listings |
includeSurroundingSuburbs | boolean | true | Match Domain's default surrounding-suburb expansion |
sort | select | default | Featured, price low-to-high or price high-to-low |
keywords | string | unset | Free-text words matched in listing descriptions |
includeProjectListings | boolean | false | Include off-the-plan units that Domain shows in project cards |
scrapeDetails | boolean | false | Fetch each search result's detail page |
searchUrls | array | [] | Any Domain URLs; also the legacy input key. When set, it takes precedence over the search-mode fields so saved tasks keep working |
agentUrls, agencyUrls | array | [] | Profile URLs for the agent and agency modes |
maxItems | integer | 20 (3 in prefill) | Records to collect (1–500) |
maxPages | integer | 10 (1 in prefill) | Search pages per URL (1–50) |
proxyConfiguration | object | off | Optional Apify proxy override; leave off by default |
Search for houses in Bondi
{"mode": "search","locations": ["bondi-beach-nsw-2026"],"listingType": "sale","propertyTypes": ["house"],"bedrooms": "3","minPrice": 1000000,"maxPrice": 4000000,"excludeUnderOffer": true,"sort": "price-asc","maxItems": 50}
Collect sold comps and their detail pages
{"mode": "urls","searchUrls": ["https://www.domain.com.au/sold-listings/bondi-beach-nsw-2026/"],"scrapeDetails": true,"maxItems": 25}
Collect agent and agency profiles
{"mode": "agents","agentUrls": ["https://www.domain.com.au/real-estate-agent/david-hua-1895120"]}
{"mode": "agencies","agencyUrls": ["https://www.domain.com.au/real-estate-agencies/raywhiteoakleigh-12122/"]}
Pagination and limits
- Domain returns roughly 20–30 result cards per page and caps a region search at 50 pages (about 1,000 listings).
maxPagesdefaults to 10; for deeper coverage split the search into suburbs, property types or price buckets. maxItemsstops the run as soon as enough unique records have been collected. IDs are de-duplicated across pages and URLs.- Region pages often contain project advertisements plus one or two standard results. Off-the-plan child units are hidden unless
includeProjectListingsis on.
Anti-bot and proxy
Domain sits behind Akamai bot management. Direct requests, datacenter proxies and residential proxies were all rejected with HTTP 403 during testing, while Apify's UNBLOCKER proxy solves the challenge and returns the normal page. The actor uses the right Apify proxy automatically, so you do not need to configure one. proxyConfiguration exists only for users who want to force a specific Apify proxy group; it is off by default.
FAQ
Do I need cookies or a login? No. Every mode reads public pages.
Can I scrape rentals and sold listings? Yes — pick rent or sold, or paste a /rent/ or /sold-listings/ URL.
Why is price missing on some listings? Domain labels many listings Auction, Contact Agent, Expressions of Interest or Price Withheld. priceLabel keeps that text; price is only emitted when a real amount exists.
Why is an agent email missing? Domain only publishes emails for some profiles. When it does, the actor decodes and returns it; otherwise the field is omitted.
What happens when a search has no results? The run still succeeds and emits one domain_blocked record with a reason and the URLs you supplied, so downstream pipelines always receive output.
Is this affiliated with Domain.com.au? No. This is an independent third-party actor that reads public Domain.com.au pages.
Limitations
- Domain shows at most 50 result pages per search URL (about 1,000 listings). Use narrower searches (suburb, type, price band, sold date ordering) to go deeper.
- Project advertisements can occupy a large share of a broad region page; keep
includeProjectListingsoff for standard listings or search a suburb instead. - Sold prices are withheld for some listings; the record then keeps the
Price Withheldlabel and omits the number. - Detail-only fields (agents' emails, floor plans, schools, descriptions) require
scrapeDetailsor a direct listing URL and one extra request per listing.