Kijiji Scraper — Listings, Cars, Rentals & New-Listing Alerts avatar

Kijiji Scraper — Listings, Cars, Rentals & New-Listing Alerts

Pricing

from $0.80 / 1,000 listings

Go to Apify Store
Kijiji Scraper — Listings, Cars, Rentals & New-Listing Alerts

Kijiji Scraper — Listings, Cars, Rentals & New-Listing Alerts

Scrape Kijiji.ca classifieds from any search URL or by keyword, city and category. Prices, photos, locations, attributes, car details (year, make, model, km, VIN) and rental details (beds, baths, utilities). Monitor mode returns only new listings and price drops.

Pricing

from $0.80 / 1,000 listings

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Scrape Kijiji.ca, Canada's largest classifieds site, into clean JSON, CSV or Excel. Paste any Kijiji search URL, or search by keyword, city and category, and get every listing with its price, photos, location, category, posting date, seller type and attributes. Car listings come with year, make, model, trim, kilometres, transmission, drivetrain and VIN in their own columns. Rental listings come with bedrooms, bathrooms, unit type, size, utilities, pets and parking.

Put it on a schedule with monitor mode and each run returns only the new listings and price drops since the last run, which makes it an alert feed for deals, inventory or rentals.

No Kijiji account is needed.

What you can scrape

  • Any Kijiji search URL. Set up a search on kijiji.ca with a keyword, category, location, price range, filters and sort, then paste the URL. The scraper keeps all of those settings.
  • Keyword searches. Enter keywords with a city or province ("Toronto", "GTA", "Calgary", "BC") and optionally a category ("Cars & Trucks", "Long Term Rentals", "Furniture"). You can also add a price range, sort order and ad type.
  • Radius searches. Give a latitude/longitude and a distance in km.
  • Whole categories. Enter a category and location with no keywords to browse the whole category. For example, every car in Calgary.
  • Single listings. Paste a listing URL to get that listing's full details.
  • Large searches. Kijiji shows at most about 4,000 results for one search. When you ask for more, the scraper splits the search into sub-categories, sub-regions and price ranges on its own and removes the duplicates.

Output fields

GroupFields
Listingid, url, title, description, categoryName, categoryPath, adType
Priceprice (CAD), priceType (FIXED / GIVE_AWAY / CONTACT / SWAP_TRADE), originalPrice, priceDropped
Wherecity, province, locationName, latitude, longitude, address + postalCode (business listings)
WhenpostedAt, refreshedAt (last bump), endsAt
PhotosimageUrl, images (full size), imageCount
SellersellerType (private / business), sellerVerified, sellerRating
PlacementisTopAd, isShowcase, isHighlighted
Attributesattributes (every Kijiji attribute), attributeLabels (human-readable, with details)
Carsautos.year, make, model, trim, mileageKm, condition, bodyType, transmission, drivetrain, fuelType, color, doors, seats, vin, stockNumber
RentalsrealEstate.bedrooms, bathrooms, unitType, sizeSqft, furnished, petsAllowed, parkingSpots, agreementType, rentedBy, availableFrom, utilitiesIncluded, laundryInUnit, airConditioning, balcony, neighbourhood, virtualTour…
With Full listing detailsfull description, all images, views, status, endsAt, videoUrl, attributeLabels
Monitor modemonitorEvent (new / priceDrop / resurfaced), previousPrice

Sample (car listing, full details on)

{
"id": "1742577667",
"url": "https://www.kijiji.ca/v-cars-trucks/city-of-toronto/2018-ford-f-150-xlt-4x4-5-0l-v8-backup-camera-clean-carfax/1742577667",
"title": "2018 Ford F-150 XLT 4x4 - 5.0L V8 - Backup Camera - Clean Carfax",
"price": 17990,
"priceType": "FIXED",
"currency": "CAD",
"categoryPath": "Cars & Vehicles > Cars & Trucks",
"city": "Scarborough",
"province": "ON",
"address": "2115 Lawrence Avenue East, Scarborough, ON, M1R 2Z8",
"latitude": 43.745823,
"longitude": -79.290037,
"imageUrl": "https://media.kijiji.ca/api/v1/ca-prod-dealer-ads/images/38/388e438f-a043-4ae0-a604-b9e12d112cd4?rule=kijijica-1600-jpg",
"imageCount": 27,
"postedAt": "2026-08-26T14:43:27.000Z",
"refreshedAt": "2026-09-23T13:56:11.000Z",
"status": "ACTIVE",
"views": 577,
"sellerType": "business",
"autos": {
"year": 2018, "make": "Ford", "model": "F-150", "trim": "XLT", "mileageKm": 248799,
"condition": "Used", "bodyType": "Pickup Truck", "transmission": "Automatic",
"drivetrain": "4 x 4", "fuelType": "Gas", "color": "Black", "vin": "1FTFW1E58JKF46621"
},
"realEstate": null,
"monitorEvent": null
}

The dataset has three ready-made table views: Overview, Cars & vehicles and Rentals & real estate.

Input examples

Paste a search:

{ "startUrls": ["https://www.kijiji.ca/b-cars-trucks/calgary/c174l1700199?price=5000__15000"], "maxItems": 500 }

Keywords in a city:

{ "keywords": ["iphone 15", "ipad"], "location": "Montreal", "sort": "priceAsc", "maxPrice": 800, "maxItemsPerQuery": 200 }

Rentals with full details:

{ "category": "Long Term Rentals", "location": "Toronto", "maxItems": 300, "includeDetails": true }

Hourly new-listing alert (schedule this):

{ "keywords": ["dji drone"], "location": "GTA", "monitorMode": "newAndPriceDrops", "monitorStateKey": "gta-drones", "maxItemsPerQuery": 120 }

Monitor mode

On a schedule, turn on Monitor mode and give the monitor a name. The first run saves everything it finds as the baseline. After that, each run returns:

  • new: listings posted since the previous run.
  • priceDrop: listings seen before whose price went down. The old price is in previousPrice. This needs "New listings + price drops".
  • resurfaced: listings not seen before but posted earlier, such as ads bumped back to the top. These are returned only if you turn the option on.

Listings that haven't changed are skipped and not charged. With "Newest first" order, each run stops as soon as it reaches listings the previous run already covered, so frequent schedules stay fast and cheap.

Use cases

  • Car dealers and flippers. Track every new vehicle in a region with year, make, model, km and VIN, then spot underpriced cars as they're posted.
  • Rental market analysis. Get rents by neighbourhood, bedrooms, unit type and utilities for Toronto, Vancouver, Montreal or any city.
  • Resellers and deal hunters. Get alerts for new listings and price drops on items you buy.
  • Price research. Build second-hand price benchmarks for any product category across Canada.
  • Lead generation for businesses. Find which dealers and businesses advertise in a category and area. Business listings include their public address.

FAQ

What happens if Kijiji doesn't respond, the run hits its time limit, or something breaks? The run always finishes as SUCCEEDED with everything collected so far and a status message that says what happened (for example "Partial — 652 listings saved before the run's time limit …"). You are only charged for listings that were actually saved. If the full-details lookup fails for some listings, you still get their search data (and are not charged the detail event for them).

My input uses different field names. Common aliases are accepted: maxResults / limit for maxItems, url / urls for startUrls, keyword / query for keywords, city for location, fetchDetails for includeDetails, sortBy with names like "newest" or "cheapest". Lists may be given as one string (URLs one per line, keywords separated by commas).

How many listings can I get? Kijiji shows at most about 4,040 listings for one search. Above that, the scraper splits the search into sub-categories, sub-regions and price bands on its own and removes duplicates. Listings with no price ("Please contact") beyond the first 4,040 can't be reached by price bands.

Why is the description short? Search results carry a snippet and the first photo. Turn on Full listing details to get the full description, every photo, the view count and the listing status.

What about private sellers? For private sellers the scraper never returns names or phone numbers. It also leaves out the street address, postal code and nearest intersection, and rounds map coordinates to about 1 km. Phone numbers and e-mail addresses written into the description are masked. Business and dealer listings keep their public address.

Which proxy should I use? Leave the default. The scraper starts on Apify datacenter proxies and switches to Canadian residential proxies on its own when a request needs it.

Why does postedAt equal refreshedAt for some cars? Kijiji's car search results only show when a listing was last refreshed. Turn on Full listing details to get the original posting date.

Is it legal to scrape Kijiji? This Actor only collects publicly available data: the listings, prices, photos, locations and listing details that anyone can see on kijiji.ca without an account. Collecting publicly available data is generally legal, but you're responsible for how you use it. Listing text is written by the people who posted it, so a description can mention a name, and business listings keep the address and contact details the business published; that can count as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as Kijiji's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?

Does it access any private data? No. Everything comes from pages kijiji.ca shows to any visitor without logging in. It never uses a login or a Kijiji account, never touches private or restricted accounts, never reaches password-protected areas, and never returns a seller's name, phone number or e-mail as a field. For private sellers it also leaves out the street address and postal code and masks phone numbers and e-mail addresses written into the description.

Can I scrape in French? Yes. Paste French Kijiji URLs as they are. Titles and descriptions come back as the seller wrote them, and category names come back in English.