Kijiji.ca Scraper
Pricing
from $2.50 / 1,000 results
Kijiji.ca Scraper
Scrape Kijiji.ca — Canada's #1 classifieds — with a vertical-aware structured schema across all 5 verticals: Autos, Real Estate, Jobs, Services, Marketplace. Per-vertical fields (make/model/VIN, bedrooms/rent/utilities), FSBO vs dealer detection, bilingual EN/FR. Pure HTTP, no browser.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract classified listings from Kijiji.ca — Canada's #1 classifieds site (Adevinta Group) — with a vertical-aware structured schema. Most Kijiji scrapers flatten everything into one generic table; this one understands that Autos, Real Estate, Jobs, Services and Marketplace each need their own fields.
What Makes This Different
The Kijiji scraper market is crowded but shallow — 12+ actors that all do "search URL → flat listing." This one differentiates with:
- Vertical-aware schema — Autos get
make/model/year/mileageKm/VIN/CARFAX, Real Estate getsbedrooms/rent/utilitiesIncluded/amenities, Jobs getsalaryMin/Max/jobType, etc. - FSBO vs Dealer detection — derives
adSource(fsbo / dealer / professional / ebay) from the image CDN path, so flippers and dealer-monitors get the split they need - Bilingual EN/FR handling — detects
descriptionLangvia French hint-word density (Quebec listings are French) - Paid placement tiers — flags
isTopAd / isShowcase / isHighlighted(a seller-seriousness signal) - Kijiji price grammar — parses
Please Contact,Free,Swap/Trade,$X OBO,$X firminto structuredpriceType+isNegotiable
How It Works
Kijiji.ca is a React/Next.js SPA. Listing data is hydrated into the page as JSON. This actor:
- Fetches the search/category result page HTML
- Extracts the hydration JSON (
__NEXT_DATA__, Apollo state, or JSON-LD — tolerant) - Deep-searches that JSON for listing arrays
- Parses each listing with the vertical-aware schema
- Optionally visits each listing's detail page (VIP) for full data
- Follows pagination
No browser, no headless Chrome — pure HTTP.
Input
Search URLs mode (recommended)
Search on Kijiji.ca, copy the result page URL, paste it in:
{"mode": "search-urls","searchUrls": ["https://www.kijiji.ca/b-cars-trucks/gta-greater-toronto-area/c174l1700272","https://www.kijiji.ca/b-apartments-condos/city-of-toronto/c37l1700273"],"fetchDetails": true,"maxItems": 100}
Keyword search mode
{"mode": "keyword-search","keyword": "toyota camry","categoryCode": "c174","provinces": ["ON", "QC"],"maxItems": 100}
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search-urls | search-urls or keyword-search |
searchUrls | array | [] | Kijiji result page URLs (search-urls mode) |
vertical | string | auto | auto / marketplace / autos / real-estate / jobs / services |
keyword | string | "" | Free-text search (keyword-search mode) |
categoryCode | string | "" | Category code e.g. c174, c37, c10 (keyword-search mode) |
provinces | array | ["ON"] | Province codes (keyword-search mode) |
minPrice / maxPrice | integer | 0 | CAD price filter |
sortBy | string | dateDesc | relevance / dateDesc / priceAsc / priceDesc |
adSourceFilter | string | all | all / fsbo-only / dealer-only / exclude-ebay |
language | string | both | both / en / fr |
fetchDetails | boolean | true | Visit each VIP page for full data (slower, richer) |
maxItems | integer | 100 | Total listing cap (0 = unlimited) |
maxPages | integer | 10 | Pages per search URL |
requestDelay | integer (ms) | 500 | Delay between requests |
maxConcurrency | integer | 3 | Parallel requests |
maxRetries | integer | 3 | Retries on 403/503/429 |
proxyConfiguration | object | CA residential | Proxy settings |
debugMode | boolean | false | Verbose parser logging (hydration structure, listing keys, attribute dumps) for the first page of each search — for troubleshooting |
Category Codes
Codes verified against live Kijiji. The actor also auto-detects the vertical from the search-URL slug, so an exact code match isn't required.
| Code | Category | Vertical |
|---|---|---|
c174 | Cars & Trucks | autos |
c30 | Motorcycles | autos |
c27 | Cars & Vehicles (parent) | autos |
c37 | Apartments & Condos | real-estate |
c34 | Real Estate (parent) | real-estate |
c10 | Buy & Sell | marketplace |
c45 | Jobs | jobs |
c72 | Services | services |
Tip: the simplest path is to browse Kijiji.ca to the category/city you want and paste the result-page URL into
searchUrls— the vertical is inferred automatically.
Provinces
| Code | Province | Code | Province |
|---|---|---|---|
ON | Ontario | MB | Manitoba |
QC | Quebec | SK | Saskatchewan |
BC | British Columbia | NS | Nova Scotia |
AB | Alberta | NB | New Brunswick |
NL | Newfoundland | PE | Prince Edward Island |
Output
Common fields appear on every record; vertical-specific fields are populated based on the listing's vertical.
Autos listing example
{"listingId": "1733059633","vertical": "autos","categoryCode": "c174","title": "2023 Ford Edge SEL No Accident Leather Radar Cruise Navigation","url": "https://www.kijiji.ca/v-cars-trucks/mississauga-peel-region/2023-ford-edge.../1733059633","descriptionLang": "en","priceAmount": 23995,"priceCurrency": "CAD","priceType": "fixed","locationCity": "Mississauga","locationProvince": "ON","latitude": 43.6449207,"longitude": -79.6509123,"adSource": "dealer","posterId": "COMMERCIAL_7108","make": "ford","model": "edge","trim": "SEL","year": 2023,"mileageKm": 76402,"transmission": "Automatic","fuelType": "Gasoline","drivetrain": "AWD","bodyType": "SUV / Crossover","color": "white","condition": "used","vin": "2FMPK4J95PBA28054","forSaleBy": "Dealer","features": ["Bluetooth", "Alloy Wheels"],"imageCount": 25,"isTopAd": true,"priceDropped": null,"scrapedAt": "2026-05-14T12:49:00Z"}
make/modelcome straight from Kijiji's attribute data and are lower-cased (ford,edge); the human-readable name is intitle. Some Kijiji model values are internal slugs (e.g.crv,slvrd1500).
Real estate listing example
{"listingId": "1735361401","vertical": "real-estate","categoryCode": "c37","title": "Modern, Newly Renovated 1 Bed+Den on the Danforth","priceAmount": 2300,"priceType": "fixed","locationCity": "Toronto","locationProvince": "ON","latitude": 43.67986,"longitude": -79.3389,"adSource": "fsbo","listingType": "For Rent","propertyType": "apartment","bedrooms": "1.5","bathrooms": "1","rentMonthly": 2300,"utilitiesIncluded": ["Heat", "Water"],"furnished": "No","petsAllowed": "No","sizeText": "520 sq ft","availableDate": "2026-06-01T00:00:00Z","agreementType": "one-year","buildingAmenities": ["Laundry (In-Unit)", "Air Conditioning"]}
Kijiji codes bathrooms as count×10 — the parser decodes
"10"→"1","15"→"1.5".furnished/petsAllowedare decoded toYes/No/Limited.utilitiesIncludedandbuildingAmenitiesare collected from Kijiji's separate boolean attributes.
Notes
adSourceis derived from the image CDN path (ca-prod-fsbo-ads→ fsbo) with a poster-type fallbackdescriptionLangis auto-detected; Quebec listings are usuallyfrpriceType:fixed/contact(Please Contact) /free/swapisRepost,priceDropped,underpricedFlag,categoryMedianrequire cross-run state and are reserved for a future version (currentlynull)motivatedSelleris detected from urgency keywords in the title/description
Use Cases
- Auto dealers & used-car pricing — Kijiji Autos benchmark, FSBO sourcing, VIN + mileage + trim valuation input
- Resellers & flippers — FSBO filter + motivated-seller signal + price tracking pipeline
- Real estate investors & property managers — rental price trends, utilities-included analysis, competitor pricing (CAPREIT, Minto, Boardwalk)
- Retail arbitrage & pricing intelligence — second-hand price vs retail, demand proxy by listing volume
- Local recruitment analysis — Kijiji Jobs blue-collar/local segment that Indeed/SEEK miss
- Academic & policy research — Statistics Canada, Bank of Canada, CMHC: second-hand economy, housing affordability
- Fraud & trust/safety — abnormal pricing, repost patterns, "cash only" risk signals
- Quebec/bilingual market specialists — French content detection and normalization
Cost & Performance
- No browser — pure HTTP, low CU consumption
fetchDetails: trueroughly doubles requests (1 search page + 1 VIP per listing) but yields full data- Set
fetchDetails: falsefor fast, summary-only scrapes - Canadian residential proxy strongly recommended for sustained runs
Limitations
- Field discovery: Kijiji's internal
__NEXT_DATA__field names can change; the parser is tolerant (tries many field names + deep-search fallback) but a Kijiji frontend rewrite may need a parser update. - Kijiji Autos platform (
autos.kijiji.ca) is a separate frontend; this actor scrapes the classic Kijiji/b-cars-trucks/autos which are cross-linked. - Intelligence fields (repost / price-drop / underpriced detection) need persistent cross-run state — reserved for a future release.
- Anti-bot: moderate. Datacenter IPs work partially; residential CA proxy is the reliable path.
Changelog
| Version | Date | Notes |
|---|---|---|
| 1.0.0 | 2026-05-14 | Initial release — vertical-aware schema across all 5 verticals (Autos, Real Estate, Jobs, Services, Marketplace), calibrated against live Kijiji. Apollo-state hydration parsing with __ref denormalization, FSBO/dealer detection from image CDN, bilingual EN/FR detection, Kijiji price-grammar parsing, enum decoding (transmission/fuel/bodytype/bathrooms/furnished/pets), search-urls + keyword modes, optional VIP detail enrichment, debugMode for troubleshooting. |