Kijiji Scraper — Canadian Classifieds, Prices & Locations
Pricing
from $3.50 / 1,000 results
Kijiji Scraper — Canadian Classifieds, Prices & Locations
Scrape Kijiji.ca, Canada's largest classifieds site, in bulk: title, price in CAD, description, city, address, GPS coordinates, post date, seller info and top-ad flag as separate sortable columns. Category browse or keyword search. No login, no API key.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape Kijiji.ca, Canada's largest classifieds site, in bulk — no login, no API key, no browser. Point the Actor at any category or result page and it walks the pages, parses every card into flat, sortable columns, and saves rows as it goes.
18 columns per row · thousands of rows per run · numeric prices, not strings · JSON, CSV, Excel or API · pay only for the rows you keep.
Why this Kijiji.ca scraper
Kijiji.ca publishes everything a buyer needs on the result page — but as prose, inside a card, behind pagination. Reading it at any useful scale by hand is not realistic, and copy-paste gives you text where you need numbers.
This Actor turns those pages into a table. price is a number, not a formatted string. Location, seller and vehicle specs are their own columns instead of one blob. That is the difference between data you can pivot on and data you have to clean first.
It is built on the same engine as the rest of this fleet, which means three things you only notice when they are missing:
- It respects the clock. Every run carries a time budget and saves rows continuously, so a slow page never costs you the whole run.
- One bad page does not end the crawl. An unreachable page is retried, then skipped and logged — not treated as the end of the listing.
- It says what it did. Row counts, skipped pages and stop reasons all appear in the log, so a short run is always explainable.
What you get
Market research across Canadian classifieds
Kijiji is where Canadians buy and sell everything. price is numeric in CAD, location tells you the city, and postedDate gives you time-series data — enough to track what moves, where, and at what price.
Local demand mapping with GPS coordinates
latitude and longitude let you plot listings on a map, cluster by neighbourhood, and measure demand density — useful for retail site selection, service territory planning, or competitive analysis.
Ad spend intelligence via top-ad detection
isTopAd flags paid placements. Track the ratio of promoted to organic ads in a category and you have a proxy for how competitive that vertical is.
Second-hand pricing and resale analytics
Walk any Kijiji category daily, diff the results, and you have a continuous feed of new listings, price drops, and sold items (disappeared listings). That is a resale-price index built from real market activity.
Input
| Field | Type | What it does |
|---|---|---|
startUrl | string | Any Kijiji.ca category or result URL. The Actor paginates from here. |
searchQuery | string | Optional keyword. When set, the site is searched for it and the category URL is ignored. |
maxResults | integer | Stop after this many rows (default 200). |
proxyConfiguration | object | Apify Proxy settings. The default is fine. |
Example input
{"startUrl": "https://www.kijiji.ca/b-phone/canada/c132l0","searchQuery": "","maxResults": 200,"proxyConfiguration": { "useApifyProxy": true }}
Output
One row per listing, 18 columns:
| Column | Type | Description |
|---|---|---|
listingId | string | Kijiji ad ID. |
title | string | Ad headline. |
listingUrl | string | Canonical ad page. |
description | string | Ad body text. |
price | number | Asking price in Canadian dollars. Null for contact-for-price ads. |
currency | string | Always CAD. |
priceType | string | FIXED, NEGOTIABLE, CONTACT, FREE or SWAP_TRADE. |
location | string | City or neighbourhood name. |
address | string | Full street address where available. |
latitude | number | GPS latitude. |
longitude | number | GPS longitude. |
postedDate | string | Ad activation date in ISO format. |
isTopAd | boolean | True when the seller paid for a top-ad placement. |
imageUrl | string | First ad photo. |
imageCount | number | Number of photos on the ad. |
country | string | Always Canada. |
source | string | Always kijiji_ca. |
scrapedAt | string | ISO timestamp of collection. |
Example row
{"listingId": "…","title": "…","listingUrl": "…","description": "…","price": 0,"currency": "…","priceType": "…","location": "…","address": "…","latitude": 0,"longitude": 0,"postedDate": "…","isTopAd": false,"imageUrl": "…","imageCount": 0,"country": "…","source": "…","scrapedAt": "…"}
Export from the Apify Console as JSON, CSV, Excel, XML or RSS, or pull it straight from the Dataset API.
How to use it
- Open the Actor and paste a Kijiji.ca URL into Category or listing URL.
- Set Maximum results to how many rows you want.
- Click Start. Rows appear in the dataset while the run is still going.
- Export, or schedule the run daily and diff the results to track price moves.
You can also run it from the Apify API, the JavaScript client or the Python client, and wire the output into Google Sheets, Zapier, Make or your own warehouse.
Frequently asked questions
Do I need a Kijiji account or API key?
No. Everything comes from Kijiji's public listing pages.
Can I search by keyword?
Yes. Fill in Search keyword and the Actor searches Kijiji for that term instead of walking a category.
What does priceType mean?
FIXED means a stated price. CONTACT means the seller wants you to call. FREE means the item is free. SWAP_TRADE means the seller wants to trade.
Why is price null for some listings?
Those are contact-for-price or free listings. The priceType column tells you which case applies.
How accurate are the GPS coordinates?
They come directly from Kijiji's listing data. Kijiji typically places the pin at neighbourhood level, not at an exact street address.
Which currency?
Canadian dollars (CAD), stated in the currency column.
How much does it cost?
You pay per row kept, plus Apify platform usage. A 1,000-row run is inexpensive; run it on a schedule and you have a continuous price feed for the cost of a coffee.
Is scraping Kijiji.ca legal?
This Actor reads only publicly available pages — the same ones anyone can open in a browser — and collects no personal data beyond the seller display name that Kijiji.ca itself publishes next to each listing. You are responsible for how you use the output, including compliance with Kijiji.ca's terms and with data-protection law such as the GDPR. If in doubt, take legal advice.
Related Actors
Browse the rest of the fleet for country marketplace, classifieds, property and company-registry scrapers covering more than eighty countries.
Support
Found a broken column or a site change? Open an issue on the Actor's Issues tab and it will be looked at. This Actor is actively maintained — see the Changelog for its history.
Kijiji.ca is a trademark of its respective owner. This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Kijiji.ca.