# Kijiji (Canada) — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse Kijiji listings across categories like rentals, pets, and jobs, while viewing detailed information about specific ads along with available locations and categories. Filter through thousands of Canadian classifieds to find exactly what you're looking for in your area.

**Category:** Marketplaces | **Website:** [kijiji.ca/](https://kijiji.ca/) | **Docs:** [parse.bot/marketplace/fcad5b72-aa63-41fa-8e97-07fb85cf7ca4/kijiji-ca-api](https://parse.bot/marketplace/fcad5b72-aa63-41fa-8e97-07fb85cf7ca4/kijiji-ca-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_categories

Retrieve all top-level listing categories with their subcategories and IDs. Returns the full category tree in a single response. Useful for discovering valid cat_id values for search_listings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_listing_detail

Fetch full details of a specific classified ad by its URL path, including full description, all images at higher resolution, seller profile information, and listing attributes. The URL can be a relative path or full URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full or relative URL path of the listing (e.g. '/v-laptops/city-of-toronto/laptops-gaming-laptop/1731050620'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_locations

Retrieve top-level location options (provinces and territories) with their IDs. Returns all provinces/territories in a single response. Useful for discovering valid loc_id values for search_listings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/get_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_job_listings

Search job listings by keywords and location. A convenience wrapper around the general search pre-filtered to jobs. Returns up to 40 listings per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `keywords` | string | No | Job search keywords. |
| `location` | string | No | Location slug (e.g. 'montreal', 'toronto'). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/search_job_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keywords":"<string>","location":"<string>","page":"<integer>"}'
```

### search_listings

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cat_id` | integer | No | Category ID filter. Use get_categories to discover valid IDs. |
| `category_slug` | string | No | Category URL slug (e.g. 'b-all', 'b-apartments-condos', 'b-jobs'). |
| `keywords` | string | No | Search keywords to filter listings. |
| `loc_id` | integer | No | Location ID filter. Use get_locations to discover valid IDs. |
| `location_slug` | string | No | Location URL slug (e.g. 'l0' for all Canada, 'montreal', 'toronto'). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cat_id":"<integer>","category_slug":"<string>","keywords":"<string>","loc_id":"<integer>","location_slug":"<string>","page":"<integer>"}'
```

### search_pet_listings

Search pet listings by subcategory, keywords, and location. A convenience wrapper around the general search pre-filtered to pets. Returns up to 40 listings per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Pet sub-category slug (e.g. 'cats-kittens', 'dogs-puppies', 'birds'). |
| `keywords` | string | No | Search keywords to filter pet listings. |
| `location` | string | No | Location slug (e.g. 'montreal', 'toronto'). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/search_pet_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","keywords":"<string>","location":"<string>","page":"<integer>"}'
```

### search_rental_listings

Search apartment and condo rental listings in a specified location. A convenience wrapper around the general search pre-filtered to the real estate rental category. Returns up to 40 listings per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `keywords` | string | No | Search keywords to filter rental listings. |
| `location` | string | No | Location slug (e.g. 'montreal', 'toronto', 'ottawa'). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-kijiji-ca-api-fcad5b72/search_rental_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keywords":"<string>","location":"<string>","page":"<integer>"}'
```
