Kijiji ad details
One Kijiji ad: price, full description, every attribute, photos, location, posting and end dates, views, category path and, for business sellers, the business profile (name, website, logo, listing count, address). Pass id, url, or latest=1 with search params (q, location_id, category, ...). 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 | Kijiji ad id. |
url | string | Kijiji ad 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: sofa |
location_id | string | Kijiji location id (with latest=1). Example: 1700273 |
category | string | Kijiji category id (with latest=1). |
seller_type | private | business | With latest=1: private or business. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/kijiji/v1/listing" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/kijiji/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/kijiji/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).