Search Kijiji ads

GET https://api.api.sh/kijiji/v1/search
1 credit / call e-commerce try it in the playground →

Kijiji (Canada) classified ads for a keyword, category and location, with price, radius around a point, seller type, price type and sort. Each result has price, photos, location, posting date, attributes and flags; filters lists every category, location and attribute value the site offers for the search (use their ids), top_ads the promoted ads. 40 per page. 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

nametypedescription
q string Keywords. Example: iphone
category string Kijiji category id (10 Buy & Sell, 27 Cars & Vehicles, 37 Real Estate, 644 Bikes, 760 Cell phones); see filters. Default 0 = all. Example: 10
location_id string Kijiji location id (0 Canada, 9004 Ontario, 1700273 City of Toronto, 1700281 Montreal, 1700287 Vancouver); see filters. Example: 1700273
lat string Latitude for a radius search (with lng).
lng string Longitude for a radius search (with lat).
radius string Radius in km around lat/lng (default 50).
address string Label for the lat/lng point (optional).
price_min string Minimum price (CAD).
price_max string Maximum price (CAD). Example: 500
seller_type private | business private or business.
price_type free | contact | swap_trade Only free, contact-for-price or swap/trade ads.
sort relevance | newest | oldest | price_asc | price_desc | distance Sort order.
attributes string Category attribute filters as name:value, comma-separated (names from results[].attributes, e.g. phonebrand:apple).
page integer Results page, 1 for the first. Pass back next_page; null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/kijiji/v1/search?q=iphone" \
  -H "x-api-key: $APISH_KEY"

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.