Scrappa's GET /api/property-com-au/listing returns the full public record of one Australian property: address, features, images, value estimates, sales and rental timeline, market data and nearby places.
Input
Pass url with a www.property.com.au property link, or path with its path. Take path from a search result, or listing_path from an address autocomplete result. Any other host returns 422. A property id alone is not enough, because the link needs the state and suburb.
What you get
pid,url,path,address,status(For sale, For rent, Off market),property_type,beds,baths,cars,land_size,latitude,longitude,description,features.images[]with phone and desktop sizes in JPG and WebP, andimage_countsfor photos and floorplans.value_estimates: sale value and weekly rental estimate with range and confidence.nullwhen none exists.timeline[]: every listing, auction, sale and rental event with price, date text, links and the agency and agent shown for it.agents[]: the agents and agencies named in the timeline. Property.com.au has no agent or agency profile page, so this is all there is.market_insights,market_trends,similar_properties,neighbouring_properties,nearby_schools,nearby_childcare,internet_availability,planning_summary,breadcrumbsandjson_ld.
What it does not have
Strata, council and water fees are not on the site, so there are no fee fields. Nothing is returned as 0 for them.
Not found
An unknown property returns 404 (not_found), never billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
2 optional filters available.
string
Optional
A property.com.au property link, for example https://www.property.com.au/nsw/bondi-beach-2026/lamrock-ave/8-56-pid-11646090/.
https://www.property.com.au/nsw/bondi-beach-2026/lamrock-ave/8-56-pid-11646090/
string
Optional
The path of a search result or the listing_path of an address autocomplete result. Use instead of url.
example
Request Examples
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: YOUR_API_KEY_HERE"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
<?php
use Illuminate\Support\Facades\Http;
$response = Http::timeout(30)
->withHeaders(['x-api-key' => 'YOUR_API_KEY_HERE'])
->get('https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F');
if ($response->successful()) {
echo $response->body();
} else {
echo "Error: " . $response->status();
}
const options = {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
};
fetch('https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F', options)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.text();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const axios = require('axios');
const options = {
method: 'GET',
url: 'https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F',
headers: {
x-api-key: 'YOUR_API_KEY_HERE',
}
};
try {
const response = await axios(options);
console.log(response.data);
} catch (error) {
console.error('Error:', error.message);
}
require 'net/http'
require 'uri'
uri = URI.parse("https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Get.new(uri.request_uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'
begin
response = http.request(request)
puts response.body
rescue => e
puts "Error: #{e.message}"
end
import http.client
import json
conn = http.client.HTTPSConnection("scrappa.co")
headers = {
'x-api-key': 'YOUR_API_KEY_HERE',
}
try:
conn.request("GET", "/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
except Exception as e:
print(f"Error: {e}")
finally:
conn.close()
import requests
headers = {
'x-api-key': 'YOUR_API_KEY_HERE',
}
try:
response = requests.get('https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F', headers=headers)
response.raise_for_status()
print(response.text)
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class ApiExample {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F")
.addHeader("x-api-key", "YOUR_API_KEY_HERE")
.build();
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
System.out.println(response.body().string());
} else {
System.out.println("Error: " + response.code());
}
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F", nil)
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making request:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println(string(body))
}
#!/bin/bash
curl -X GET \
-H "x-api-key: YOUR_API_KEY_HERE" \
"https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F"
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY_HERE");
try
{
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F"));
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
import axios from 'axios';
async function run(): Promise<void> {
try {
const response = await axios({
method: 'GET',
url: 'https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F',
headers: {
'x-api-key': 'YOUR_API_KEY_HERE',
},
});
console.log(response.data);
} catch (error) {
console.error('Error:', error);
}
}
void run();
use reqwest::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new();
let response = client
.get("https://scrappa.co/api/property-com-au/listing?url=https%3A%2F%2Fwww.property.com.au%2Fnsw%2Fbondi-beach-2026%2Flamrock-ave%2F8-56-pid-11646090%2F")
.header("x-api-key", "YOUR_API_KEY_HERE")
.send()
.await?;
println!("{}", response.text().await?);
Ok(())
}
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
success
data
meta
{
"success": true,
"data": {
"pid": 11646090,
"url": "https://www.property.com.au/nsw/bondi-beach-2026/lamrock-ave/8-56-pid-11646090/",
"path": "/nsw/bondi-beach-2026/lamrock-ave/8-56-pid-11646090/",
"address": {
"full": "8/56 Lamrock Avenue, Bondi Beach, NSW 2026",
"suburb": "Bondi Beach",
"state": "NSW",
"postcode": "2026"
},
"status": "Off market",
"property_type": "Flat apartment",
"beds": 2,
"baths": 1,
"cars": null,
"land_size": {
"value": 525,
"unit": "m2",
"text": "525m\u00b2"
},
"latitude": -33.89082563,
"longitude": 151.27014554,
"description": "8/56 Lamrock Avenue is a 2 bedroom, 1 bathroom flat apartment in Bondi Beach. The property was sold on the 24th of October, 2026 for $1,300,000.",
"features": [
{
"name": "Floorboards",
"value": null
},
{
"name": "Mobile coverage",
"value": "5G"
}
],
"images": [
{
"caption": "Sep 2026",
"alt": "Property at 8/56 Lamrock Avenue, Bondi Beach NSW 2026",
"phone_jpg": "https://i2.au.reastatic.net/1200x900-fit,progressive/653bfe33923b1fdb74d1e1c7f77daa1ff2c14c644a1206b0798d7110748ab1af/main.jpg",
"phone_webp": "https://i2.au.reastatic.net/1200x900-fit,format=webp,progressive/653bfe33923b1fdb74d1e1c7f77daa1ff2c14c644a1206b0798d7110748ab1af/main.jpg",
"desktop_jpg": "https://i2.au.reastatic.net/2560x1920-fit,progressive/653bfe33923b1fdb74d1e1c7f77daa1ff2c14c644a1206b0798d7110748ab1af/main.jpg",
"desktop_webp": "https://i2.au.reastatic.net/2560x1920-fit,format=webp,progressive/653bfe33923b1fdb74d1e1c7f77daa1ff2c14c644a1206b0798d7110748ab1af/main.jpg"
}
],
"image_counts": {
"images": 9,
"floorplans": 1
},
"value_estimates": null,
"timeline": [
{
"group": "2026",
"type": "Sold",
"title": "$1,300,000",
"price_numeric": 1300000,
"details": "24 Oct 2026 by Belle Property - Bondi Junction",
"caption": null,
"image_counts": [],
"links": [
{
"title": "Realestate.com.au",
"url": "https://www.realestate.com.au/sold/property-apartment-nsw-bondi+beach-152423404"
}
],
"agent": null,
"agency": null
},
{
"group": "1992",
"type": "Sold",
"title": "$153,000",
"price_numeric": 153000,
"details": "Sold 21 Mar 1992",
"caption": null,
"image_counts": [],
"links": [],
"agent": null,
"agency": null
}
],
"agents": [],
"market_insights": null,
"market_trends": {
"title": "Other similar properties recently sold",
"properties": []
},
"similar_properties": [],
"nearby_schools": [
{
"group": "Nearby primary schools",
"name": "Bondi Beach Public School",
"in_catchment": true,
"facts": {
"grades": "K-6",
"sector": "Government",
"no_students": "413",
"distance": "0.64km"
},
"links": [
{
"title": "School website",
"url": "https://bondibeach-p.schools.nsw.gov.au/"
}
]
}
],
"nearby_childcare": [],
"neighbouring_properties": [],
"internet_availability": {
"summary": "8/56 Lamrock Ave, Bondi Beach has an HFC NBN connection, updated Aug 2024",
"nbn_technology": "HFC",
"connection_quality": "EXCELLENT"
},
"planning_summary": null,
"breadcrumbs": [
{
"title": "Home",
"path": "/"
},
{
"title": "NSW",
"path": "/nsw/"
},
{
"title": "Bondi Beach",
"path": "/nsw/bondi-beach-2026/"
}
],
"json_ld": [
{
"@type": "Residence",
"address": {
"@type": "PostalAddress",
"streetAddress": "8/56 Lamrock Avenue",
"addressLocality": "Bondi Beach",
"addressRegion": "NSW",
"postalCode": "2026"
}
}
]
},
"meta": {
"endpoint_family": "listing",
"billable": true,
"attempts": 1
}
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Not Found
No property exists at that link (`not_found`). Non-billable.
{
"meta": {
"attempts": 1,
"billable": false,
"retryable": false,
"endpoint_family": "listing"
},
"error": {
"code": "not_found",
"message": "Property.com.au has no record for that address or listing."
},
"success": false
}Validation Error
A parameter is missing, unknown, or the link is not a www.property.com.au property link (`invalid_listing`). Other hosts are never fetched. Non-billable.
{
"errors": {
"sort": [
"The selected sort is invalid."
]
},
"message": "The selected sort is invalid."
}Upstream Unavailable
Property.com.au could not be reached after retries or answered with something unusable (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited.
{
"meta": {
"attempts": 3,
"billable": false,
"retryable": true,
"endpoint_family": "listing"
},
"error": {
"code": "upstream_unavailable",
"message": "Property.com.au is temporarily unavailable. Please retry."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.