One Property24 listing: title, price, property type, street address, listing date, the whole property overview (erf and floor size, rates and taxes, levies, zoning, rooms, building, parking, other features...), description, coordinates when shown, photos, the agency and its agents. A private seller's details are left out. Pass latest=true with search filters to open the newest matching listing.
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
url
string
A property24.com listing link ending in the listing number.
latest
boolean
true: open the first current result of a search made with the other filter params given here (the same as the search route's, e.g. search_url), instead of id/url. Example: true
search_url
string
With latest: a search link whose first listing is opened. Example: https://www.property24.com/for-sale/cape-town/western-cape/432
import os, requests
res = requests.get(
"https://api.api.sh/property24/v1/listing",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/property24/v1/listing");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.