You need accurate Australian real estate data wired into your app this week—searchable regions and suburbs, paginated result sets, and a way to drill into an individual listing. By the end of this guide you’ll query sold properties for a region, fetch a property’s details by ID, and stitch the workflow into your backend or an AI agent using MCP, all via the Australia Realty API on Zyla API Hub.
What this API gives you
The Australia Realty API provides listing discovery and detail retrieval for Australian properties. You can:
- List properties with filters (channel, region/suburb, pagination, sorting).
- Retrieve full details for a specific property by ID.
- Request location suggestions (autocomplete) to help users target regions and suburbs correctly.
Common integrations include internal comps dashboards, deal pipelines, market monitoring tools, alerting bots, and property pages that enrich listings with broker contact and imagery.
The API is available on Zyla API Hub, an API marketplace with more than 10,000 public APIs across categories. One account, one key, subscription + quota billing (not pay-per-call). For this API, you can start a 7-day trial from the item page.
Getting started on Zyla API Hub
Open the Australia Realty API page on Zyla, click Subscribe or Start Free Trial when available, and get your API key. Authentication is a single header on every request:
- Authorization: Bearer YOUR_API_KEY
Check the API page for current access options and pricing. There is no Free Plan; the first API typically includes a 7-day trial or 50 requests to validate your integration before scaling usage.
Link to the listing to begin: Start 7-day trial on Australia Realty API. You can also browse the rest of the marketplace at zylalabs.com.
Endpoints you’ll use
1) Get Properties List
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list
Description: List properties with options and filters. A note on pagination: if the page field in the response returns a value of 50, this is the highest pagination number available. Also, when rendering images from results, you must specify a size in the image URL (170x32, 160x30, 114x21, 1536x800).
Parameters (only those clearly defined are supported):
- pageSize (string, optional): e.g., 50
- channel (string, required): e.g., sold
- searchLocation (string, required): e.g., Sunshine Coast, QLD
- searchLocationSubtext (string, required): e.g., Region
- type (string, required): e.g., region
- page (string, optional): e.g., 2
- sortType (string, optional): e.g., new-desc
Official cURL example (copy-pasteable):
curl -s -X GET "https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list?pageSize=50&channel=sold&searchLocation=Sunshine+Coast%2C+QLD&searchLocationSubtext=Region&type=region&page=2&sortType=new-desc" \
-H "Authorization: Bearer YOUR_API_KEY"
Official JSON response (truncated in listing; shown here exactly as provided):
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "Why pay a fortune for holidays when you can own your own piece of Resort-style living on the beautiful Sunshine Coast.<br/>Take use of the pool, 2 tennis courts, putting green, BBQ Area by the River and separate play ground for the children.<br/><br/>This 3 bedroom Townhouse is situated in the Pet Friendly gated and secure Resort just a short 2km from the beautiful Mudjimba Beach.<br/>The Resort is surrounded by a canal on two sides, ideal for fishing or boating,…
What you’ll typically read from this payload:
- totalResultsCount: the grand total matching the query.
- resolvedQuery.page and pageSize: confirm current page and server-side page size.
- tieredResults[0].results: the actual listings for the page.
- Each result’s lister and lister.mainPhoto fields to display agent info and images. For images, prefix server + resize prefix + uri, e.g., server + "/1536x800" + uri.
2) Get Property Details
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/1222/get-property-details
Description: Retrieve detailed information for a single property by ID. When requesting or rendering images, specify the format directly in the URL (170x32, 160x30, 114x21, 1536x800) such as https://i3.au.reastatic.net/170x32/.../image.jpg.
Parameters:
- id (number, required): the property ID.
Official cURL example:
Official JSON response excerpt (exactly as provided):
{"totalResultsCount":1,"results":[{"prettyUrl":"property-unit-qld-east+brisbane-444325280","standard":false,"midtier":false,"lister":{"mobilePhoneNumber":"0415648373","website":"http://www.housemark.com.au","phoneNumber":"0415648373","powerProfile":false,"name":"Isabella Palinkas","mainPhoto":{"server":"https://i3.au.reastatic.net","name":"main photo","uri":"/10082ec1487f85957c4f7062944636ee7600a93bdaf34549cb5f2705c1250f13/main.jpg"},"id":"3706692","email":"[email protected]"},"featured":false,"signature":true,"channel":"rent","description":"Welcome to 4/8 Longlands Street, East Brisbane! Just moments from The Gabba and surrounded by an array of cafés, shops, transport options, and major amenities, this home is ideal for those seeking easy inner-city living.<br/><br/>Recently transformed with a complete interior refresh, this beautifully updated unit is ready for its new owners to enjoy. Featuring fresh paint throughout, a stunning brand-new kitchen, renovated bathroom and laundry, and new flooring throughout, every detail has been thoughtfully modernised. Combining comfort, functionality and modern appeal, this is an outstanding opportunity for those seeking…
You’ll typically read results[0] to access lister information, images, and description for rendering a property page or enriching a CRM record.
3) Autocomplete
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/5339/autocomplete
Description: Returns location suggestions. To use this endpoint you must specify a term to be autocompleted. The documentation does not publish the request parameter keys for the term; use the Authorization header only in the sample below. Build your UI to handle the returned suggestions structure and consult the API page for current input options.
Official cURL example:
Official JSON response snippet (exactly as provided):
{"_embedded":{"suggestions":[{"display":{"subtext":"Region","text":"Sydney CBD, NSW"},"id":"6102b706-7216-4cde-b780-45cba0514ac5","source":{"atlasId":"6102b706-7216-4cde-b780-45cba0514ac5","name":"Sydney CBD","state":"NSW"},"type":"region"},{"display":{"subtext":"Suburb","text":"Sydney, NSW 2000"},"id":"99b291a3-bfcf-4bf9-bbaa-bdb9d89abc24-2000","source":{"atlasId":"99b291a3-bfcf-4bf9-bbaa-bdb9d89abc24","name":"Sydney","postcode":"2000","state":"NSW"},"type":"suburb"},{"display":{"subtext":"Suburb","text":"Sydney Olympic Park, NSW 2127"},"id":"19174a2e-3f53-4be4-8477-443d47249f20-2127","source":{"atlasId":"19174a2e-3f53-4be4-8477-443d47249f20","name":"Sydney Olympic Park","postcode":"2127","state":"NSW"},"type":"suburb"},{"display":{"subtext":"Region","text":"Western Sydney, NSW"},"id":"637c2a12-9141-4e1d-adfa-30bd200a49a4","source":{"atlasId":"637c2a12-9141-4e1d-adfa-30bd200a49a4","name":"Western Sydney","state":"NSW"},"type":"region"},{"display":{"subtext":"Region","text":"South Western Sydney, NSW"},"id":"0eadb86e-6345-43b6-ab6d-18e17c779817","source":{"atlasId":"0eadb86e-6345-43b6-ab6d-18e17c779817","name":"South Western Sydney","state":"NSW"},"type":"region"},{"display":{"subt…
You’ll read _embedded.suggestions, then each suggestion’s display.text and display.subtext (e.g., “Region” vs “Suburb”), along with source fields you can store to drive a follow-up search with the list endpoint.
End-to-end example: query and parse sold listings
Below is a minimal Python example that calls the same Get Properties List endpoint as the official cURL and parses the fields you’ll likely need: total count, current page, and a flattened list of listings with agent info and an image URL at a specific size.
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list"
params = {
"pageSize": "50",
"channel": "sold",
"searchLocation": "Sunshine Coast, QLD",
"searchLocationSubtext": "Region",
"type": "region",
"page": "2",
"sortType": "new-desc"
}
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.get(url, headers=headers, params=params, timeout=30)
resp.raise_for_status()
data = resp.json()
total = data.get("totalResultsCount")
current_page = data.get("resolvedQuery", {}).get("page")
page_size = data.get("resolvedQuery", {}).get("pageSize")
# Safely access tier 1 results
results = []
for tier in (data.get("tieredResults") or []):
if tier.get("tier") == 1:
for item in (tier.get("results") or []):
lister = item.get("lister") or {}
main_photo = (lister.get("mainPhoto") or {})
# Build a display-ready image URL at 1536x800 when available
server = main_photo.get("server")
uri = main_photo.get("uri")
img_url = f"{server}/1536x800{uri}" if server and uri else None
results.append({
"prettyUrl": item.get("prettyUrl"),
"channel": item.get("channel"),
"description": item.get("description"),
"agent": {
"name": lister.get("name"),
"email": lister.get("email"),
"phone": lister.get("phoneNumber") or lister.get("mobilePhoneNumber"),
"website": lister.get("website")
},
"image": img_url
})
print(f"Total matches: {total}, page {current_page}, pageSize {page_size}")
print(f"Listings returned: {len(results)}")
if results:
print("First listing:", results[0])
Implementation tips:
- Image URLs: the response provides server and uri; insert a size path segment such as “/1536x800” between them.
- Pagination: respect the note that if the page field returns 50, that’s the last available page. Do not request beyond that.
- Sorting: sortType=new-desc returns newest first; decide and persist your last-seen prettyUrl for delta fetches.
Rendering images correctly
When building an image URL from lister.mainPhoto, insert one of the required size segments (170x32, 160x30, 114x21, 1536x800) into the path. For example: server=https://i3.au.reastatic.net and uri=/…/main.jpg becomes https://i3.au.reastatic.net/1536x800/…/main.jpg. Avoid hotlinking without the size segment; the server expects a concrete size path.
Practical usage patterns
- Daily solds feed: schedule the Get Properties List endpoint with channel=sold and your target regions to capture all sales. Cache totalResultsCount and stop paginating when you hit the reported last page or a 0-count response.
- Property details on click: when a user clicks a listing, call Get Property Details with the ID you store (from your upstream source or UI). Render agent contact and full description.
- Type-ahead search: integrate Autocomplete to guide users to “Region” or “Suburb” selections. Use display.subtext to label the type, and source fields to persist the selection along with the type you pass to the list endpoint.
- Agent rollups: aggregate tieredResults results by lister.id or lister.email to build agent-level stats like count of active vs sold listings in your UI.
Implementation details that save time
- Authentication: always pass Authorization: Bearer YOUR_API_KEY. No other auth fields are required.
- Pagination guardrail: the page field can max out at 50; treat this as the server-enforced cap for paging through a query.
- Partial payloads: treat nested fields as optional. Use safe accessors for lister, mainPhoto, and description in case they’re missing for a given record.
- Caching: cache autocomplete suggestions and the first page of popular regions to reduce perceived latency for repeat users.
- Retries: wrap GETs with idempotent retry logic on 429/5xx with backoff. Keep your concurrency reasonable, aligned with your subscription quota.
- Sorting: if you rely on new-desc for incremental syncs, record the last page you processed and compare the first page on the next run to detect new items.
Using the API from AI agents via MCP
You can call any Zyla API from an MCP-compatible client (e.g., Claude Code, Cursor, Windsurf) using the MCP endpoint. Point your tool to:
https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
This allows your agent to invoke the same Australia Realty API endpoints you used above. For details on MCP, see the docs: MCP. Once configured, you can have your agent perform a list query (e.g., sold in Sunshine Coast, QLD) and then fetch property details for any returned ID, and finally construct sized image URLs before responding to the user.
Real-world workflows
- Lead qualification: run a daily solds query for a region and push highlights (agent, description excerpt, hero image URL) into Slack. Clicking an item triggers a details fetch by ID.
- Market analytics: paginate through results to compute weekly volume changes by region (using totalResultsCount and page iteration), then render charts in your dashboard.
- Listing enhancement: ingest suggestions from Autocomplete to standardize user-entered locations before you store searches or run alerts.
- CRM enrichment: when a record has a property ID, hydrate it with lister details and a sized image URL to assist outreach and property presentations.
Troubleshooting
- Empty results: confirm you passed channel, searchLocation, searchLocationSubtext, and type (e.g., sold, Sunshine Coast, QLD, Region, region).
- Images not loading: verify you inserted a valid size segment (170x32, 160x30, 114x21, 1536x800) in the server + uri path.
- Pagination stalls: if page returns 50, stop paginating further. Re-check sortType if you need the newest set first.
- Autocomplete inputs: the endpoint requires a term, but parameter keys are not published here. Use the Authorization header and consult the API page for current input options.
FAQ
How do I authenticate?
Include the header Authorization: Bearer YOUR_API_KEY on every request to Zyla endpoints.
What is the maximum page I can request?
If the page field returns 50 in the response, treat that as the highest pagination number available for that query.
How do I build a working image URL?
Concatenate lister.mainPhoto.server + “/SIZE” + lister.mainPhoto.uri where SIZE is one of 170x32, 160x30, 114x21, 1536x800.
Does the API support autocomplete inputs?
Yes, use the Autocomplete endpoint. A term is required, but the request parameter keys are not published in this guide; send your Authorization header and check the API page for specifics.
What’s the pricing model?
Subscription + quota (not pay-per-call). There is no Free Plan. Check the API page for current access options; you can start a 7-day trial from the listing.
Ship it
You now have working requests for listing discovery, property detail retrieval, and autocomplete—plus the image sizing rule and pagination guardrails that typically trip teams up under deadline. Create a Zyla account, grab your key, and start building with the Australia Realty API today: Start 7-day trial on Australia Realty API. If you prefer agent-based workflows, wire it up via MCP as well.
Official API response
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "Why pay a fortune for holidays when you can own your own piece of Resort-style living on the beautiful Sunshine Coast.<br/>Take use of the pool, 2 tennis courts, putting green, BBQ Area by the River and separate play ground for the children.<br/><br/>This 3 bedroom Townhouse is situated in the Pet Friendly gated and secure Resort just a short 2km from the beautiful Mudjimba Beach.<br/>The Resort is surrounded by a canal on two sides, ideal for fishing or boating,…
Official API response
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "Why pay a fortune for holidays when you can own your own piece of Resort-style living on the beautiful Sunshine Coast.<br/>Take use of the pool, 2 tennis courts, putting green, BBQ Area by the River and separate play ground for the children.<br/><br/>This 3 bedroom Townhouse is situated in the Pet Friendly gated and secure Resort just a short 2km from the beautiful Mudjimba Beach.<br/>The Resort is surrounded by a canal on two sides, ideal for fishing or boating,…