Kijiji Search API returns one page of public Kijiji (Canada) classified ads for a keyword, category and location. Each listing carries the ad id, title, a description snippet, the public ad url, category id, images, publish date (ISO 8601, UTC), location with address and coordinates, price, attributes (canonical codes) and a verified-seller flag. Prices are major-unit CAD floats; ads priced as CONTACT, SWAP_TRADE or GIVE_AWAY return the price type only, never an amount of 0. Paid top ads carry is_sponsored. Pages hold 40 listings; has_more tells whether another page exists. A search with zero matches is a valid, billable empty result. Category and location need numeric ids: Common ids: Canada 0, Alberta 9003, Ontario 9004, Calgary 1700199, Toronto 1700273; Buy & Sell 10, Cars & Vehicles 27, Cars & Trucks 174, Bikes 644, Cell phones 760.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
7 optional filters available.
string
Optional
Search keywords, 1 to 100 characters, e.g. road bike. Omit to browse a category. Example: road bike.
coffee shops
integer
Optional
Numeric Kijiji category id. 0 searches all categories (default). Use the category endpoint to look up a name. Common ids: Canada 0, Alberta 9003, Ontario 9004, Calgary 1700199, Toronto 1700273; Buy & Sell 10, Cars & Vehicles 27, Cars & Trucks 174, Bikes 644, Cell phones 760. Example: 644.
1234567890
integer
Optional
Numeric Kijiji location id. 0 searches all of Canada (default). Use the location endpoint to look up a name. Example: 1700199.
1234567890
integer
Optional
Page number, 1 to 250, 40 listings per page. Defaults to 1.
1
string
Optional
One of date_desc, date_asc, price_asc, price_desc or match. Defaults to date_desc, or match when q is set.
relevance
integer
Optional
Minimum price in whole Canadian dollars.
10
integer
Optional
Maximum price in whole Canadian dollars. Must be greater than or equal to min_price.
10
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"listings": [
{
"id": "1744858222",
"url": "https://www.kijiji.ca/v-bike-frames-parts/calgary/schwalbe-puncture-protection-bicycle-tire/1744858222",
"price": {
"type": "FIXED",
"amount": 10,
"currency": "CAD"
},
"title": "Schwalbe Puncture Protection Bicycle Tire",
"images": [
"https://media.kijiji.ca/api/v1/ca-prod-fsbo-ads/images/85/854bac91-5a53-4753-b825-8a93cdfa4dc7?rule=kijijica-200-jpg"
],
"location": {
"id": 1700199,
"name": "Calgary",
"address": "Calgary, AB T2L",
"latitude": 51.09223,
"longitude": -114.12218
},
"position": 1,
"posted_at": "2026-10-15T16:57:01Z",
"attributes": [
{
"key": "forsaleby",
"values": [
"ownr"
]
},
{
"key": "condition",
"values": [
"usedgood"
]
}
],
"updated_at": "2026-10-15T16:57:01Z",
"category_id": 649,
"description": "Schwalbe bicycle tire with puncture protection. Size 28/32-630 (27 x 1 1/4), suitable for road bikes. Tire is in good condition. Pickup near Morley Trail NW, Calgary.",
"image_count": 7,
"seller_verified": false
}
],
"pagination": {
"page": 1,
"has_more": true,
"per_page": 40,
"total_count": 188
}
},
"meta": {
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A parameter is invalid: q contains a slash or control character, page is outside 1 to 250, sort is unknown, ids are not integers, or max_price is below min_price. This response is not billable.
{
"errors": {
"id": [
"The id is required."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Kijiji is temporarily unreachable, blocked the request or answered with data that does not match the documented shape (error code PARSER_DRIFT). Retry later; this response is not billable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "The Kijiji API is temporarily unavailable. Please retry."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.