Property24 estate agency
A Property24 (South Africa) estate agency: name, group (franchise), logo, physical address, coordinates, about text, areas serviced, social links, its agents (name, job title, photo, profile link), how many listings it has for sale and to rent, and its latest listings for sale and to rent (price, rooms, thumbnail). Pass listings (for-sale or to-rent) to also get that page of the agency's listings, each with price, size, rooms, address and photos; pass next_page back as page, null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
id | string | Agency id: the number at the end of a property24.com/estate-agents/<name>/<id> link. Give this or url. Example: 11512 |
url | string | A property24.com estate agency link (estate-agents/<name>/<id>, or its for-sale/agency or to-rent/agency listings link). |
listings | for-sale | to-rent | Also return a page of the agency's listings: for-sale or to-rent. Example: for-sale |
page | integer | Page of the agency's listings (with listings), starting at 1. Pass next_page back as page; it is null on the last page. Example: 1 |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/property24/v1/agency?id=11512" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/property24/v1/agency",
params={"id": "11512"},
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/agency");
url.searchParams.set("id", "11512");
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).