Trade Me listing details
One Trade Me listing: prices, bids, reserve, dates, views and watchers, description, attributes, photos, shipping and payment options, public questions and answers and, for business sellers, the member and store (name, description, logo, feedback). Pass id, url, or latest=1 with search params. Private sellers' names, phone numbers and email addresses are never returned (masked in ad text).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
id | string | Trade Me listing id. |
url | string | Trade Me listing url. |
latest | string | 1: open the first current result of a search made with this route's search params (q, location and filters) instead of an id. Ads expire, so this keeps a link working. Example: 1 |
q | string | Search keywords (with latest=1). Example: bike |
region | string | Region id (with latest=1). |
category | string | Category (with latest=1). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/trademe/v1/listing" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/trademe/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/trademe/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).