Trade Me property
New Zealand real-estate listings, for sale or to rent, with region, district, suburb, property type, bedrooms, bathrooms, price, floor area and land area filters and sort: price, address, bedrooms, bathrooms, floor and land area, parking, location, agency, open homes and photos, paged. Pass id or url (or latest=true with the search params to open the first current result) for one listing with the full description, attributes, photos, video, nearby recent sales and agency with its agents.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
q | string | Keywords. |
mode | sale | rent | sale (default) or rent. |
region | auckland | bay-of-plenty | canterbury | gisborne | hawkes-bay | manawatu-whanganui | marlborough | nelson-tasman | northland | otago | southland | taranaki | waikato | wellington | west-coast | Region name or id. Example: auckland |
district | string | District id (comma-separated for several). |
suburb | string | Suburb id (comma-separated for several). |
property_type | string | House, Apartment, Townhouse, Section, Dwelling, BareLand, Unit or Studio. |
bedrooms_min | string | Minimum bedrooms. |
bedrooms_max | string | Maximum bedrooms. |
bathrooms_min | string | Minimum bathrooms. |
bathrooms_max | string | Maximum bathrooms. |
price_min | string | Minimum price (NZD; per week for rentals). |
price_max | string | Maximum price (NZD; per week for rentals). |
floor_area_min | string | Minimum floor area (m²). |
floor_area_max | string | Maximum floor area (m²). |
land_area_min | string | Minimum land area (hectares). |
land_area_max | string | Maximum land area (hectares). |
new_homes | string | true: new homes only. |
sort | featured | price_asc | price_desc | newest | Sort order (default featured). |
limit | string | Results per page (1-50, default 25). |
page | string | Page number (default 1); next_page is null on the last page. |
id | string | Trade Me listing id (one listing). |
url | string | Trade Me listing url (one listing). |
latest | string | true: open the first current result of a search made with these params instead of an id. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/trademe/v1/property" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/trademe/v1/property",
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/trademe/v1/property");
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).