Kijiji Scraper (Cheap) avatar

Kijiji Scraper (Cheap)

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Kijiji Scraper (Cheap)

Kijiji Scraper (Cheap)

Kijiji Listing Extractor collects real estate, vehicle, and classified ads from Kijiji.ca. It gathers listing prices, images, location coordinates, and technical specifications for market research, price comparisons, and lead generation.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Kijiji Scraper

Kijiji Scraper

Kijiji is full of fresh classifieds, but there's no clean way to get them into a spreadsheet. Copying ads one at a time is slow, and the price, location, and photos are scattered across the page. This scraper handles the collecting: paste a Kijiji browse URL or a single ad link, and it walks the pages and hands back one tidy row per ad — title, asking price, city, coordinates, photo links, and whatever category specs the seller filled in. Works on cars, real estate, jobs, or anything else posted to the board.

What you get

Each ad comes back as a single row with a steady set of columns, so results load straight into a sheet or database without reshaping. The fields split into a few groups:

  • Ad basicsadId, adTitle, adDescription, adUrl, categoryCode
  • PriceaskingPrice, priceKind, currencyCode
  • LocationcityName, fullAddress, geoLat, geoLng
  • PhotosphotoCount, photoLinks
  • Specs and timingitemSpecs, postedDate, rankingDate, placementType, collectedAt

Quick start

  1. Click Try for free and open the input form.
  2. Paste one or more Kijiji URLs into Kijiji URLs — a category or search page to sweep many ads, or a single ad page for one record.
  3. Set a Results limit to cap how many ads you collect.
  4. Hit Start, then download the dataset as JSON, CSV, Excel, or XML when the run finishes.

How it works

Use cases

  • Car market research — track asking prices, mileage, and model years across a region to spot fair deals
  • Real estate monitoring — follow rental and sale listings in a neighborhood and watch how prices move
  • Competitor pricing — see what local sellers and dealers charge so you can position your own listings
  • Lead generation — catch new ads that match your keywords as soon as they post
  • Market sizing — count supply and gauge demand by category and city before you enter a market
  • Price history — run the scraper on a schedule and build your own record of how listings change over time

Input

FieldTypeRequiredDescription
sourceUrlsarray of objectsYesKijiji category, search, or single-ad URLs to pull from. A browse URL walks every page; an ad URL returns one record.
resultsLimitintegerNoStop after saving this many ads across all URLs. Default 25; max 1000.
timeoutSecondsintegerNoSeconds to wait on each page request before giving up. Default 45.

Example input

{
"sourceUrls": [
{ "url": "https://www.kijiji.ca/b-cars-trucks/canada/c174l0" }
],
"resultsLimit": 25,
"timeoutSeconds": 45
}

Output

Every ad becomes one row. Fields that an ad doesn't carry come back empty rather than dropping out, so your columns stay consistent across the whole dataset.

Example output

{
"adId": "1738543866",
"adTitle": "1974 Chevy C50 Tow Truck",
"adDescription": "Chevy C50 Custom 1974. 350 engine, manual transmission, hydraulic winch. Seats 3, radio, recently serviced.",
"adUrl": "https://www.kijiji.ca/v-classic-cars/sherbrooke-qc/chevy-c50-towing/1738543866",
"categoryCode": 122,
"photoCount": 10,
"photoLinks": [
"https://media.kijiji.ca/api/v1/ca-prod-fsbo-ads/images/eb/eb34ebec-c03a-4973-a34c-3f15558e2889?rule=kijijica-200-jpg"
],
"postedDate": "2026-06-02T00:27:35.000Z",
"rankingDate": "2026-06-05T00:30:46.000Z",
"placementType": "TOP_AD",
"cityName": "Sherbrooke",
"fullAddress": "Lac-Mégantic, QC, G6B 1R1",
"geoLat": 45.58221,
"geoLng": -70.89756,
"askingPrice": 11500.0,
"priceKind": "FIXED",
"currencyCode": "CAD",
"itemSpecs": {
"carmake": "chevrolet",
"carmodel": "othrmdl",
"caryear": "1974",
"carmileageinkms": "78000",
"cartransmission": "1",
"carbodytype": "pickuptruck",
"carfueltype": "gas",
"carcolor": "gray",
"drivetrain": "rwd",
"noofdoors": "2",
"noofseats": "3"
},
"collectedAt": "2026-06-07T04:20:00.000Z",
"errorMessage": null
}

Output fields

FieldTypeDescription
adIdstringKijiji's own identifier for the ad
adTitlestringHeadline the seller gave the ad
adDescriptionstringBody text or summary from the ad
adUrlstringLink to the ad page on Kijiji
categoryCodeintegerNumeric code for the Kijiji category
photoCountintegerHow many photos the seller attached
photoLinksarray of stringsImage URLs pulled from the ad
postedDatestringWhen the ad went live (ISO 8601)
rankingDatestringTimestamp Kijiji uses to order the ad (ISO 8601)
placementTypestringAd placement, such as TOP_AD or ORGANIC
cityNamestringCity or town tied to the ad
fullAddressstringStreet-level address when the ad has one
geoLatnumberLatitude of the ad location
geoLngnumberLongitude of the ad location
askingPricenumberListed price as a number, in CAD
priceKindstringPricing style: FIXED, CONTACT, FREE, or SWAP
currencyCodestringCurrency for the price, usually CAD
itemSpecsobjectFlat map of category-specific details like make, model, year, mileage
collectedAtstringTimestamp marking when the row was captured
errorMessagestringReason a page failed; null on success

Tips for best results

  • Test with a small limit first. Set resultsLimit to 10–20 to confirm the output fits your pipeline before you run a full sweep.
  • Use browse URLs to go wide. A category or search page (the ones with /b- in the URL) walks through page after page on its own, up to your limit.
  • Use ad URLs to go deep. Paste a single ad link (the /v- URLs) when you only want one specific record.
  • Raise timeoutSeconds on slow runs. If you see timeout errors, push it toward 60–90 seconds to give each page more room.
  • Specs vary by category. itemSpecs reflects whatever the seller entered, so a car ad carries make and mileage while a rental ad carries different keys.

How can I use Kijiji listing data?

How can I use the Kijiji Scraper to track car prices across Canada? Paste a vehicle category URL, set resultsLimit to the batch you want, and the scraper returns each ad's asking price, model year, mileage, and city. Group the rows by make or region to benchmark prices and flag deals that sit below the going rate.

How can I export Kijiji real estate listings to a spreadsheet? Point it at a rental or for-sale browse URL and run it. Every ad comes back as one row with the title, price, address, coordinates, and photo links, ready to download as CSV or Excel and drop into your own housing analysis.

How can I collect Kijiji ads that match specific keywords for lead generation? Build a Kijiji search URL with your keywords and paste it in. The scraper pulls the matching ads with their descriptions, prices, and locations, so you can pick out fresh offers and follow up while they're still live.

How can I monitor Kijiji listings over time? Schedule the scraper to run on a recurring basis with the same source URLs. Each run captures a collectedAt timestamp, so stacking the datasets gives you a price-and-supply history you can chart however you like.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.