Discover/Kijiji API
live

Kijiji APIkijiji.ca

Access Kijiji.ca classified ads via API. Search rentals, jobs, pets, and general listings. Filter by location, category, and keywords across Canada.

Endpoint health
verified 7h ago
search_rental_listings
search_pet_listings
get_categories
search_listings
get_locations
7/7 passing latest checkself-healing
Endpoints
7
Updated
22d ago

What is the Kijiji API?

The Kijiji.ca API exposes 7 endpoints for searching and retrieving classified ad data from Canada's largest classifieds platform. Use search_listings to query across all categories with keyword, location, and category filters, or use specialized endpoints like search_rental_listings and search_job_listings to target specific verticals. Listing detail responses include seller profile data, price in cents with currency, coordinates, and full image arrays.

Try it
Page number for pagination.
Category ID filter. Use get_categories to discover valid IDs.
Location ID filter. Use get_locations to discover valid IDs.
Search keywords to filter listings.
Category URL slug (e.g. 'b-all', 'b-apartments-condos', 'b-jobs').
Location URL slug (e.g. 'l0' for all Canada, 'montreal', 'toronto').
api.parse.bot/scraper/2a6b6220-98b8-4e29-8875-e62665d461dc/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2a6b6220-98b8-4e29-8875-e62665d461dc/search_listings?page=1&cat_id=0&loc_id=0&keywords=laptop&category_slug=b-all&location_slug=l0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace kijiji-ca-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.kijiji_canada_api import Kijiji, ListingSummary, Listing, Category, Location

kijiji = Kijiji()

# Search for laptop listings in Toronto
for listing in kijiji.listingsummaries.search(keywords="laptop", location_slug="toronto", limit=5):
    print(listing.title, listing.url, listing.category_id)

# Get full details of the first result including seller profile
first = next(iter(kijiji.listingsummaries.search(keywords="laptop", location_slug="toronto", limit=1)))
detail = first.details()
print(detail.title, detail.description, detail.seller_profile.name, detail.seller_profile.number_of_listings)

# Search rental listings in Montreal
for rental in kijiji.listingsummaries.search_rentals(location="montreal", limit=3):
    print(rental.title, rental.location.name, rental.activation_date)

# Browse categories
for cat in kijiji.categories.list():
    print(cat.name, cat.id, cat.is_leaf)

# Browse locations
for loc in kijiji.locations.list():
    print(loc.name, loc.id, loc.parent_id)
All endpoints · 7 totalmissing one? ·

Search classified ads across all categories with filters for category, location, and keywords. Returns up to 40 listings per page with pagination metadata. The URL is constructed from category and location slugs plus optional keyword and ID filters. Pagination advances via the page parameter.

Input
ParamTypeDescription
pageintegerPage number for pagination.
cat_idintegerCategory ID filter. Use get_categories to discover valid IDs.
loc_idintegerLocation ID filter. Use get_locations to discover valid IDs.
keywordsstringSearch keywords to filter listings.
category_slugstringCategory URL slug (e.g. 'b-all', 'b-apartments-condos', 'b-jobs').
location_slugstringLocation URL slug (e.g. 'l0' for all Canada, 'montreal', 'toronto').
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing summary objects with id, title, description, price, location, url, imageUrls, categoryId, activationDate, sortingDate, attributes, posterInfo, and flags",
    "pagination": "object with offset, limit, and totalCount"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": "1738941332",
          "url": "https://www.kijiji.ca/v-laptops/oshawa-durham-region/laptops/1738941332",
          "flags": {
            "topAd": false,
            "showcase": false,
            "highlight": false,
            "priceDrop": false
          },
          "price": {
            "type": "CONTACT"
          },
          "title": "Laptops",
          "location": {
            "id": 1700275,
            "name": "Ajax",
            "address": "Ajax, ON L1Z 1G1",
            "coordinates": {
              "latitude": 43.86858,
              "longitude": -79.01506
            }
          },
          "imageUrls": [
            "https://media.kijiji.ca/api/v1/ca-prod-fsbo-ads/images/36/364fb272.jpg"
          ],
          "attributes": {
            "all": [
              {
                "canonicalName": "condition",
                "canonicalValues": [
                  "new"
                ]
              }
            ]
          },
          "categoryId": 773,
          "posterInfo": {
            "rating": null,
            "posterId": "1045740849",
            "verified": false
          },
          "description": "We have all kind of laptops...",
          "sortingDate": "2026-06-09T20:29:14.000Z",
          "activationDate": "2026-06-09T20:29:14.000Z"
        }
      ],
      "pagination": {
        "limit": 40,
        "offset": 0,
        "totalCount": 18880
      }
    },
    "status": "success"
  }
}

About the Kijiji API

Search and Browse Canadian Classifieds

The search_listings endpoint is the general-purpose entry point, accepting keywords, cat_id, loc_id, category_slug, and location_slug as optional filters. Results return up to 40 listings per page, each with id, title, description, price, location, url, imageUrls, categoryId, activationDate, and sortingDate. Pagination is handled through the page parameter, with the pagination object in the response exposing offset, limit, and totalCount for building full result sets.

Category- and Vertical-Specific Search

Three focused search endpoints cover common Kijiji verticals. search_rental_listings filters to apartments and condos, search_pet_listings supports sub-category slugs like cats-kittens or dogs-puppies, and search_job_listings targets job ads. All three accept keywords and a location slug (e.g. montreal, toronto), and return listing arrays with attributes alongside the standard fields. Use get_categories and get_locations to discover valid cat_id and loc_id integers for search_listings, or to enumerate province-level location IDs including parentId relationships.

Listing Detail and Seller Data

get_listing_detail accepts a full or relative listing URL and returns a richer response than the search endpoints. Key additions include a sellerProfile object with the seller's id, name, numberOfListings, userType, and profilePath, and a price object broken out into type, amount (in cents), and currency. Location data includes address and geographic coordinates, making it suitable for mapping applications. Image URLs are returned as an array in imageUrls.

Reliability & maintenanceVerified

The Kijiji API is a managed, monitored endpoint for kijiji.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kijiji.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official kijiji.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track rental price trends by location using price.amount and location fields from search_rental_listings across multiple Canadian cities.
  • Build a job board aggregator pulling Kijiji job listings filtered by keyword and location slug for specific trades or industries.
  • Monitor new listings in a category by polling search_listings with a cat_id and sorting by activationDate to detect recently posted ads.
  • Enrich a pet adoption platform by pulling search_pet_listings with sub-category slugs like cats-kittens or dogs-puppies by city.
  • Map classified ad density by extracting coordinates from get_listing_detail responses and plotting them geographically.
  • Profile high-volume sellers by comparing numberOfListings from the sellerProfile object returned by get_listing_detail.
  • Populate a category navigation UI using the children arrays from get_categories to display Kijiji's full hierarchy with seoUrl links.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Kijiji.ca have an official developer API?+
Kijiji does not publish a public developer API or official documentation for third-party data access. This Parse API provides structured access to the same listing data available on kijiji.ca.
What does get_listing_detail return that search_listings does not?+
get_listing_detail returns the full listing description, a sellerProfile object with seller name, userType, and numberOfListings, a structured price object broken into type/amount/currency, and a location object that includes street address and geographic coordinates. Search result objects include a shortened description and no seller profile data.
How do I find valid category and location IDs for filtering search_listings?+
Call get_categories to retrieve the full category tree, including each category's integer id, seoUrl, and children array. Call get_locations to get province and territory IDs with their parentId relationships. Pass the relevant integer values as cat_id and loc_id in search_listings.
Does the API cover Kijiji Autos or vehicle-specific listing fields?+
The API does not currently include a dedicated vehicle search endpoint or auto-specific attributes like make, model, year, or mileage. General listings in the automotive category are reachable via search_listings with an appropriate cat_id. You can fork this API on Parse and revise it to add a vehicle-specific endpoint that returns those attributes.
Is there a way to retrieve all listings from a specific seller?+
The current endpoints do not support querying by seller ID. The sellerProfile object in get_listing_detail exposes a profilePath, but there is no endpoint that fetches a seller's full listing history. You can fork this API on Parse and revise it to add an endpoint that retrieves listings by seller profile.
Page content last updated . Spec covers 7 endpoints from kijiji.ca.
Related APIs in MarketplaceSee all →
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
craigslist.org API
Search and retrieve Craigslist listings for apartments, vehicles, jobs, services, and other categories across all regional sites to find exactly what you're looking for. Get detailed information about specific listings, browse by location and category, and compare options all in one place.
craigslist.org API
Search Craigslist listings across any region and instantly access structured data including prices, locations, coordinates, images, and direct URLs. Find exactly what you're looking for with organized sale listings that are easy to filter and analyze.
kleinanzeigen.de API
Search and retrieve classified ad listings from kleinanzeigen.de. Filter by keyword, category, price range, and sorting order. Supports vehicles, real estate, jobs, electronics, and general products, with full listing details including title, price, description, location, and seller information.
ebay.ca API
Search and compare eBay Canada listings with detailed item information, pricing history from completed sales, and seller profiles to make informed buying decisions. Discover current deals, browse product categories, and view seller feedback and ratings all in one place.
canada.businessesforsale.com API
Search and browse businesses for sale and franchise opportunities across Canada, retrieving detailed listing information to find investment opportunities that match your interests. Explore comprehensive data on available businesses and franchises to make informed decisions about potential acquisitions.
quikr.com API
Search for used products across Quikr by keyword and category with location filtering, then retrieve detailed listing information including prices, descriptions, and seller details. Access product categories and search suggestions to discover exactly what you're looking for in your area.
realtor.ca API
Search Canadian real estate listings and retrieve detailed property information including photos, prices, descriptions, and agent details from REALTOR.ca. Browse available properties with comprehensive listing data across Canada.
Kijiji API – Search Canadian Classifieds · Parse