Discover/Domain API
live

Domain APIdomain.com.au

Access Domain.com.au property listings for sale, rent, and sold properties. Get agent profiles, suburb demographics, and median price data via 7 endpoints.

Endpoint health
verified 6d ago
search_properties_for_rent
get_property_details
get_agent_profile
search_properties_for_sale
search_agents
7/7 passing latest checkself-healing
Endpoints
7
Updated
6d ago

What is the Domain API?

The Domain.com.au API provides 7 endpoints covering property listings for sale, rent, and recent sales across Australia, plus agent profiles and suburb market statistics. Use search_properties_for_sale to filter by location, price range, bedroom count, and property type, or call get_suburb_profile to retrieve median prices, demographics, and school data for any suburb slug.

Try it
Page number for pagination.
Suburb, state and postcode slug (e.g., 'sydney-nsw-2000', 'pyrmont-nsw-2009', 'melbourne-vic-3000').
Maximum price filter.
Minimum price filter.
Maximum number of bedrooms (1-5).
Minimum number of bedrooms (1-5).
Minimum number of bathrooms (1-3).
Property type filter. Accepted values include 'house', 'unit', 'townhouse', 'villa', 'land', 'acreage', 'rural', 'block-of-units'.
api.parse.bot/scraper/974154e5-ea89-4a21-b5a4-dff744547193/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/974154e5-ea89-4a21-b5a4-dff744547193/search_properties_for_sale?page=1&location=melbourne-vic-3000&max_price=2000000&min_price=500000&max_bedrooms=5&min_bedrooms=1&min_bathrooms=1&property_type=townhouse' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace domain-com-au-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Domain Australia Real Estate API — search listings, agents, suburb profiles."""
from parse_apis.Domain_Australia_Real_Estate_API import Domain, PropertyNotFound

client = Domain()

# Search for sale listings in Pyrmont — limit caps total items fetched
for listing in client.search_results.for_sale(location="pyrmont-nsw-2009", limit=3):
    print(listing.id, listing.listing_type)

# Search rental listings and take the first one
rental = client.search_results.for_rent(location="sydney-nsw-2000", limit=1).first()
if rental:
    print(rental.id, rental.listing_type)

# Search sold listings in a suburb
for sold in client.search_results.sold(location="sydney-nsw-2000", limit=3):
    print(sold.id, sold.listing_type)

# Find agents in an area
agent = client.agents.search(location="sydney-nsw-2000", limit=1).first()
if agent:
    print(agent.name, agent.agency_name, agent.average_sold_price)

# Get a suburb profile by location slug
suburb = client.suburb_profiles.get(location="sydney-nsw-2000")
print(suburb.url_slug)

# Typed error handling: catch a not-found property
try:
    detail = client.property_details.get(slug="nonexistent-slug-0000000000")
    print(detail.address, detail.agency)
except PropertyNotFound as exc:
    print(f"Property not found: {exc}")

print("exercised: search_results.for_sale / for_rent / sold / agents.search / suburb_profiles.get / property_details.get")
All endpoints · 7 totalmissing one? ·

Search properties listed for sale on Domain.com.au by suburb location. Returns paginated results including listing details (id, address, price, features, branding, images). Supports filtering by price range, bedrooms, bathrooms, and property type. Paginates via integer page number; totalPages in meta indicates last page.

Input
ParamTypeDescription
pageintegerPage number for pagination.
locationrequiredstringSuburb, state and postcode slug (e.g., 'sydney-nsw-2000', 'pyrmont-nsw-2009', 'melbourne-vic-3000').
max_priceintegerMaximum price filter.
min_priceintegerMinimum price filter.
max_bedroomsintegerMaximum number of bedrooms (1-5).
min_bedroomsintegerMinimum number of bedrooms (1-5).
min_bathroomsintegerMinimum number of bathrooms (1-3).
property_typestringProperty type filter. Accepted values include 'house', 'unit', 'townhouse', 'villa', 'land', 'acreage', 'rural', 'block-of-units'.
Response
{
  "type": "object",
  "fields": {
    "meta": "object containing totalListings, totalPages, currentPage, suburb info",
    "page": "integer current page number",
    "results": "array of property listing objects with id, listingType, listingModel containing url, price, address, features, branding, images",
    "location": "string location slug used"
  },
  "sample": {
    "data": {
      "meta": {
        "totalPages": 47,
        "currentPage": 1,
        "totalListings": 957
      },
      "page": 1,
      "results": [
        {
          "id": 4839,
          "listingType": "project",
          "listingModel": {
            "url": "/project/4839/111-castlereagh-sydney-nsw/",
            "address": {
              "state": "NSW",
              "street": "Castlereagh",
              "suburb": "Sydney",
              "postcode": "2000"
            },
            "promoType": "premium",
            "projectName": "111 Castlereagh",
            "displayAddress": "111 CASTLEREAGH STREET, SYDNEY, NSW 2000"
          }
        }
      ],
      "location": "sydney-nsw-2000"
    },
    "status": "success"
  }
}

About the Domain API

Property Search and Listings

Three search endpoints cover the main listing categories on Domain.com.au. search_properties_for_sale accepts a required location slug (e.g., pyrmont-nsw-2009) plus optional filters for min_price, max_price, min_bedrooms, max_bedrooms, min_bathrooms, and property_type. Results are paginated and each listing object includes an id, address, price, feature summary, branding, and image URLs. search_properties_for_rent follows the same structure but prices reflect weekly rent. search_sold_properties returns sold price and sale date alongside property details, useful for building comparable sales datasets.

Property and Agent Detail

get_property_details accepts a listing slug (the full URL slug including the numeric listing ID) and returns a property object with bedrooms, bathrooms, agency, and agent names, plus a pageProps object containing the full page payload: gallery images, school catchment zones, and suburb insights nested under componentProps. search_agents searches for agents in a given suburb and returns each agent's totalForSale, averageSoldPrice, and reputation score. get_agent_profile takes an agent slug from those results and returns the full profile including biography, listing history, sales statistics, and reviews via the __APOLLO_STATE__ payload inside pageProps.

Suburb Profiles

get_suburb_profile takes a location slug and returns three top-level keys. layout includes the page title, description, canonical URL, and breadcrumbs. details includes a Google Maps image URL and session token. __APOLLO_STATE__ contains the richest data: suburb statistics, property category breakdowns, median sale and rental prices, nearby schools, and surrounding suburb listings. Coverage varies — some smaller suburbs return limited market data where Domain.com.au itself has insufficient transaction volume.

Pagination and Location Slugs

All search endpoints share a consistent response envelope: a meta object with totalListings, totalPages, and currentPage, plus the results array and the location slug echoed back. The page parameter controls pagination across all three search endpoints. Location slugs follow the pattern suburb-state-postcode (e.g., melbourne-vic-3000), matching the URL structure used on Domain.com.au directly.

Reliability & maintenanceVerified

The Domain API is a managed, monitored endpoint for domain.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when domain.com.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official domain.com.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate active for-sale listings in a suburb filtered by bedroom count and price band for a buyer alert tool.
  • Track weekly rent prices across multiple Sydney suburbs by paginating through search_properties_for_rent results.
  • Build a comparable sales report by pulling sold price and sale date from search_sold_properties for a given postcode.
  • Enrich a property listing with school catchment zones and suburb median prices using get_property_details.
  • Score agents in a target suburb by comparing averageSoldPrice and reputation fields from search_agents.
  • Populate a suburb comparison dashboard with median prices, demographics, and surrounding suburb data from get_suburb_profile.
  • Compile an agent's full listing history and review score from get_agent_profile for a vendor selection tool.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Domain.com.au have an official developer API?+
Yes. Domain Group offers an official API at developer.domain.com.au with OAuth-based access to listing search, property details, and suburb data. That API requires an approved developer account and has its own access tiers. This Parse API provides access to the same site's data without requiring a Domain developer account.
What does `get_property_details` return beyond basic listing info?+
In addition to core fields like address, bedrooms, bathrooms, price, and images, it returns a pageProps object that contains school catchment zones, a full gallery array, agent contact details, and suburb insights. This data is nested under componentProps inside pageProps. Note that the depth of suburb insight data varies by listing.
What is the format for the `location` parameter across search endpoints?+
All search endpoints expect a suburb-state-postcode slug, for example sydney-nsw-2000 or fitzroy-vic-3065. This matches the URL path format used on Domain.com.au listing pages. Passing an incorrectly formatted slug will typically return zero results or an empty meta object.
Does the API cover commercial property listings or off-market properties?+
Not currently. The three search endpoints cover residential for-sale, rental, and sold listings. Commercial listings and off-market properties are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting Domain's commercial listing pages.
How reliable is the suburb profile data for smaller regional areas?+
Coverage varies. The get_suburb_profile endpoint notes that some locations return limited market data — this occurs when Domain.com.au itself has insufficient transaction history for a suburb. The __APOLLO_STATE__ object will still be returned but median price and category breakdown fields may be sparse or absent for low-volume suburbs.
Page content last updated . Spec covers 7 endpoints from domain.com.au.
Related APIs in Real EstateSee all →
realestate.com.au API
Search and retrieve property listing data from realestate.com.au, including listings for sale and rent, detailed property information, and nearby schools for any location across Australia.
realcommercial.com.au API
Search commercial property listings across Australia, view detailed property information, and stay updated with the latest real estate market news all from one platform. Find investment opportunities, compare properties, and read industry insights to make informed decisions in the commercial property market.
realestateview.com.au API
Search and explore rental property listings across Australia with detailed information including photos, property types, agent details, and nearby listings. Find available rentals by location, compare properties, and discover similar listings in your area of interest.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
homes.com API
Search for real estate agents and properties available for sale or rent, while accessing detailed agent profiles with their 1-year transaction history, active listings, and performance statistics. Get comprehensive property details and agent information all in one place to help you find the right agent or property that matches your needs.
zoopla.co.uk API
Search for properties available for sale or rent, view detailed listing information, check sold house prices, and find local estate agents all in one place. Get access to live marketplace data to help you research properties, compare prices, and connect with agents on the Zoopla platform.
dotproperty.com.ph API
Search for residential properties for rent or sale on Dot Property Philippines and retrieve detailed information like pricing, specifications, and agent details from individual listings. Access comprehensive property data to compare options and make informed real estate decisions.
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.