You need Australian real estate data wired into your app this week: search sold properties in a region, paginate through results, and drill into a specific listing with full details and images. By the end of this guide, you’ll query property lists, extract key fields, build correct image URLs, and fetch a property’s details using the Australia Realty API on Zyla API Hub.
What you can build with the Australia Realty API
The Australia Realty API exposes programmatic access to:
- Listing search with filters (e.g., sold channel, region-based queries) via a paginated results feed.
- Detailed information for a specific property by ID.
- Location autocomplete suggestions for building search UIs.
Typical use cases include: market analytics dashboards, internal CRMs for agencies, comps and pricing tools, and location-aware search experiences embedded in consumer apps.
Getting started on Zyla API Hub
Open the marketplace listing, subscribe, and get your API key. Zyla uses a subscription + quota model (not pay-per-call). For first-time use, you can start a 7-day trial from the item page:
Start 7-day trial on Australia Realty API
Use the API key in the Authorization header as: Authorization: Bearer YOUR_API_KEY. All requests are made to zylalabs.com API paths shown below.
Endpoints overview
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. Notes:
- If the page field returns a value of 50, this is the highest pagination number available.
- You must indicate the format in image URLs (e.g., 170x32, 160x30, 114x21, 1536x800) when rendering photos.
Request params (only those documented):
- pageSize (string, optional): 50
- channel (string, required): sold
- searchLocation (string, required): Sunshine Coast, QLD
- searchLocationSubtext (string, required): Region
- type (string, required): region
- page (string, optional): 2
- sortType (string, optional): new-desc
2) Get Property Details
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/1222/get-property-details
Description: Get detailed information of a property. Note on images: you must indicate the format in the URL of the images (e.g., 170x32, 160x30, 114x21, 1536x800).
Request params (only those documented):
- id (number, required): 444325280
3) Autocomplete
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/5339/autocomplete
Description: Returns suggestions for location autocomplete. The documentation states: “To use this endpoint you must specify a term to be autocompleted.” No request parameters are documented here; call it with Authorization only and refer to the response to see available fields.
Official example: Get Properties List (cURL + JSON)
Copy, paste, and run this to fetch sold listings for the Sunshine Coast region (page 2, newest first). Replace YOUR_API_KEY with your key.
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 sample 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,…"
Fields you’ll actually use first:
- totalResultsCount: total count for the query, useful for pagination controls.
- resolvedQuery: echoes your query context (e.g., channel, page, sortType).
- tieredResults[].results[]: the list of properties. From each result, you can take prettyUrl, channel, description, and lister fields (name, contact, mainPhoto).
- lister.mainPhoto.server + image size + lister.mainPhoto.uri: build full image URLs as described below.
Python example: fetch a page and normalize key fields
This example calls the same listing endpoint, reads basic metadata, and demonstrates constructing a display-ready image URL using a required size segment (e.g., 1536x800). Replace YOUR_API_KEY before running.
import requests
API_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": "Bearer YOUR_API_KEY"}
resp = requests.get(API_URL, params=params, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
print("Query URL:", data.get("prettyUrl"))
print("Total results:", data.get("totalResultsCount"))
tiered = data.get("tieredResults", [])
results = []
for tier in tiered:
for item in tier.get("results", []):
lister = item.get("lister", {}) or {}
main_photo = lister.get("mainPhoto", {}) or {}
# Build image URL by inserting a required size (e.g., '1536x800') between server and uri.
# Example: https://i3.au.reastatic.net/1536x800/....../main.jpg
server = main_photo.get("server")
uri = main_photo.get("uri")
image_url = None
if server and uri:
image_url = f"{server}/1536x800{uri}"
results.append({
"prettyUrl": item.get("prettyUrl"),
"channel": item.get("channel"),
"description": item.get("description"),
"listerName": lister.get("name"),
"listerPhone": lister.get("phoneNumber") or lister.get("mobilePhoneNumber"),
"listerEmail": lister.get("email"),
"image": image_url
})
# Print the first few normalized items
for r in results[:3]:
print(r)
Notes:
- Images: you must choose a size (e.g., 170x32, 160x30, 114x21, 1536x800) and insert it between the server and uri parts. For example: server + “/1536x800” + uri.
- Pagination: check the resolvedQuery.page and the returned results. The highest page value available is 50; do not request beyond that.
- Timeouts, retries, and caching are recommended in production. Cache by your full query string and expire as needed.
Property details by ID
To fetch a specific property’s detailed information, call Get Property Details with the required id parameter. You will receive a structure that includes fields like prettyUrl, channel, description, and lister info (including mainPhoto with server and uri). Remember to construct image URLs by inserting your chosen size into the URL path as described above.
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/1222/get-property-details
Example params: id=444325280
Authentication: Authorization: Bearer YOUR_API_KEY
Autocomplete for location inputs
Use the Autocomplete endpoint to power typeahead inputs for searching by region or suburb. The endpoint returns suggestions with display fields and types like “region” or “suburb.” The documentation indicates you must specify a term to be autocompleted, though no parameters are explicitly enumerated here. Call the endpoint with your Authorization header and inspect the response to populate your UI.
Method: GET
URL: https://zylalabs.com/api/1476/australia-realty-api/5339/autocomplete
Practical implementation notes
- Authentication: Always send Authorization: Bearer YOUR_API_KEY.
- Channels: The examples use channel=sold. Filter logic is defined by the endpoint’s documented parameters; do not add undocumented keys.
- Sorting: sortType=new-desc returns the newest first in the example above.
- Pagination: The highest page number available is 50 for the given query; reflect this in your UI (disable Next when page=50).
- Images: Construct from server + “/SIZE” + uri (pick one of 170x32, 160x30, 114x21, 1536x800). Failing to include a size may result in broken images.
- Error handling: Validate responses before accessing nested fields (e.g., tieredResults/tier/results may be absent or empty).
- Throttling and quotas: Zyla uses a subscription + quota model. Check the API page for current access options and pricing.
Where this fits in real projects
- Sales comps and valuation helpers: Pull sold listings for a region, sort newest first, and compute comparable metrics or price distributions.
- Market feeds in agent portals: Build a rolling feed of recent sold properties with lister contacts and hero images.
- Consumer search: Start users with Autocomplete for “Sydney CBD” or “Sunshine Coast, QLD” and then paginate through results with clear next/prev controls.
- Lead routing: Extract lister contact fields (name, phone, email) for outreach or enrichment workflows.
Calling the API from AI agents with MCP
You can call any Zyla API from MCP-compatible clients (e.g., Claude Code, Cursor, Windsurf) via the MCP endpoint. Point your tool to the MCP URL and include your Zyla API key. This allows agents to fetch listings or details dynamically during a coding or analysis session.
Tip: Wrap listing queries as reusable MCP “tools” that accept a searchLocation and page, then return normalized objects (prettyUrl, lister, image URL). Keep tool outputs small to avoid context bloat in long agent sessions.
End-to-end workflow sketch
- Collect a user’s target area using Autocomplete (e.g., type: “region” or “suburb”).
- Send a Get Properties List request with channel=sold, the selected searchLocation, searchLocationSubtext, type, and (optionally) page, sortType.
- Render results and build images by inserting a size segment between server and uri.
- When a user selects a property, call Get Property Details with id to show the full description and lister info.
- Paginate up to page 50 if needed; gray out Next beyond that.
Troubleshooting tips
- Empty results: Verify required params—channel, searchLocation, searchLocationSubtext, and type—exactly match what your UI captured (e.g., Region vs Suburb).
- Broken images: Ensure you inserted a valid size (e.g., “/1536x800” before the uri) and included the leading slash before the uri path.
- Unexpected sort order: Confirm sortType=new-desc if you want newest results first.
- Pagination errors: Don’t request beyond page 50; use totalResultsCount to calibrate total pages in your UI.
FAQ
How do I authenticate requests?
Include the header: Authorization: Bearer YOUR_API_KEY on every request to zylalabs.com API endpoints.
Is there a free plan?
There is no free plan. You can start a 7-day trial from the marketplace listing page. Check the API page for current access options and pricing.
What’s the maximum page I can request?
If the page field returns a value of 50, this is the highest pagination number available for that query. Do not request beyond page 50.
How do I build property image URLs?
Use lister.mainPhoto.server, insert a size like 1536x800, then append lister.mainPhoto.uri. Example: server + “/1536x800” + uri.
Which parameters are required for listing search?
channel, searchLocation, searchLocationSubtext, and type are required. pageSize, page, and sortType are optional per the documented example.
Ready to ship your integration? Subscribe and grab your key from the marketplace listing, then copy the cURL above to get results in minutes: Start 7-day trial on Australia Realty API
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,…