AutoTrader.ca Scraper - Canada Car Listings | $0.49/1K
Pricing
from $0.49 / 1,000 listings
AutoTrader.ca Scraper - Canada Car Listings | $0.49/1K
Scrape AutoTrader.ca car listings across Canada: price, year, mileage, VIN, dealer, location and photos. Search by make/model, province, postal code or URL; monitor new ads. $0.49 per 1,000 cars.
Pricing
from $0.49 / 1,000 listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Features
Share
AutoTrader.ca Scraper — Canada Car Listings, Prices & Dealers
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Trader Corporation (AutoTrader.ca) or its affiliates. Data is read from publicly accessible search and offer pages only. No login. You are responsible for complying with applicable law (including GDPR and Canadian privacy law where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Contact-data controls: Dealer phone numbers are omitted from the dataset by default. Enable
includePhonesonly for business numbers already published on public dealer listings and only when you have a lawful basis. Private-seller phone numbers are not collected. Any phone example below assumes that explicit opt-in; otherwisedealerPhoneis absent.
AutoTrader.ca scraper for Canada’s car marketplace — scrape new and used listings into JSON or CSV via Apify. Search by make and model, province, price, year, and kilometres, or paste a /cars/ results URL or an /offers/ listing URL. Each row includes the CAD price, the site’s price rating, mileage in km, fuel, transmission, city, province, postal code, and dealer name. Turn on listing pages for drivetrain, colours, equipment, and the description. Use it as an AutoTrader.ca API alternative from Python, Node.js, cURL, or MCP / AI assistants.
Best for: Canadian used-car price research, dealer inventory checks, and watching new ads or price drops on a schedule.
| I need… | Actor |
|---|---|
| Canada car listings | AutoTrader.ca Scraper ◄ you are here |
| UK car listings | AutoTrader UK Scraper |
| US car listings | Cars.com Scraper · Cars & Bids |
| Europe car listings | AutoScout24 · Mobile.de |
| Used part prices | Car-Part Scraper |
When to use this Actor
- Canadian price comps — Prices in CAD, the site’s price rating, year, and kilometres for a make and model.
- Province or national search — One model across Canada, or a province path such as Ontario (
/reg_on/). - Dealer inventory — Dealer name, city, province, and postal code from the search card. Dealer phones only if you opt in.
- Copied search — Set filters in the browser, copy the
/cars/…URL, and paste it into Start URLs. - New ads and price drops —
monitorModeemits only listings that are new or cheaper than the last run.
When not to use this Actor
- Private-seller personal data — Names and phone numbers of private sellers are not collected. Dealer business phones require
includePhones. - VIN lookup — AutoTrader.ca does not publish a VIN on these pages.
- US Autotrader.com or AutoTrader UK — Those are different sites. Use Cars.com Scraper for the US and AutoTrader UK Scraper for the UK.
- Account features — No login, saved searches, or messaging.
Key features
- Search and offer URLs —
/cars/…result pages and/offers/…listings. - Filter builder — Make and model slugs, year (
fregfrom/fregto), price (pricefrom/priceto), kilometres (kmto), condition (offerN or U), province (/reg_on/), postal code (zip, spaces removed), radius (radius, only with a postal code), and sort. - Price rating — The site’s price evaluation, mapped the same way as AutoScout24 (
Very good price,Good price,Fair price, …). - Search cards are already useful — Price, km, fuel, transmission, city, province, postal code, and dealer name without opening each offer.
scrapeDetailsadds description, equipment, warranty, colours, drivetrain, doors, and seats. - Monitor mode — Named key-value store. The first run seeds a baseline and saves no rows. Later runs save new listings and price drops.
- Lightweight HTTP — Chrome TLS impersonation, 256 MB default memory, no headless browser. No proxy by default. If a request is blocked, the run switches once to Apify residential CA and continues.
- Flat rows — One dataset item per listing, ready for CSV.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | — | /cars/… search URLs or /offers/… listing URLs. |
make / model | String | — | URL slugs, e.g. toyota and camry → /cars/toyota/camry/. |
yearFrom / yearTo | Integer | — | Model year, sent as fregfrom / fregto. |
priceFrom / priceTo | Integer | — | CAD range, sent as pricefrom / priceto. |
mileageTo | Integer | — | Max kilometres, sent as kmto. |
condition | String | all | new, used, or all → offer N, U, or N,U. |
province | String | — | Code or name (ON, Ontario). Path segment /reg_on/. |
postalCode | String | — | Canadian postal code. Sent as zip with spaces removed and letters upper-cased (m5v 3l9 → M5V3L9). |
radiusKm | Integer | 100 with a postal code | Kilometres around the postal code, sent as radius. Narrows results only when postalCode is set. |
sort | String | standard | price, mileage, model_year, age, distance, standard, and the other site sort keys. |
maxItems | Integer | 100 | Listings to save. 0 means no row cap. |
maxPages | Integer | 20 | Pages to open. The run also stops at the site’s numberOfPages. 0 follows numberOfPages only. |
scrapeDetails | Boolean | false | Open each offer page for description, equipment, and specs. |
includePhones | Boolean | false | Include public dealer phone numbers. |
monitorMode | Boolean | false | Save only new listings and price drops after a seed run. |
monitorStoreName | String | autotrader-ca-monitor | Named key-value store for the baseline. |
resetMonitorState | Boolean | false | Drop the baseline and seed again. |
proxyConfiguration | Object | No proxy | Direct connection. Residential CA is used only as an automatic fallback after a block. |
Example input
{"make": "toyota","model": "camry","yearFrom": 2015,"priceFrom": 5000,"province": "ON","radiusKm": 100,"condition": "used","maxItems": 50,"maxPages": 3,"scrapeDetails": true,"includePhones": false,"proxyConfiguration": {"useApifyProxy": false}}
Start-URL mode (filters already on the page are kept):
{"startUrls": [{ "url": "https://www.autotrader.ca/cars/toyota/camry/?page=2&pricefrom=5000&fregfrom=2015&radius=100" }],"maxItems": 40,"scrapeDetails": false}
Output
Each dataset row is one vehicle. Missing values are null. Search cards fill price, kilometres, fuel, transmission, location, and dealer. scrapeDetails fills description, equipment, warranty, colours, drivetrain, doors, and seats.
| Field | Type | Description |
|---|---|---|
listingId / url / title | String | Listing UUID, offer URL, and title. |
make / model / modelVersion / year | Mixed | Identity and model year. |
price / priceFormatted / currency | Number / String | Asking price as a number, display string, and CAD. |
priceRating | String | Price evaluation label. |
condition | String | new or used. |
mileageKm / transmission / fuel / bodyType / engine | Mixed | Specs from the card, in kilometres. |
drivetrain / doors / seats / exteriorColor / interiorColor | Mixed | From the offer page. |
city / province / postalCode | String | Where the vehicle is listed. Province is a code such as ON. |
sellerType / dealerName / dealerId | String | dealer or private, plus the dealership when it is a dealer. |
dealerPhone | String | Public dealer phone. Absent unless includePhones is true. |
imageUrls / imageCount | Array / Integer | Photo URLs and how many. |
description / equipment / warranty | Mixed | Plain text, equipment names, and warranty text. Offer page only. |
searchUrl | String | Search page that returned the row. |
changeType / previousPrice | Mixed | Monitor mode: new or price_drop, and the previous CAD price on a drop. |
scrapedAt | String | ISO timestamp. |
Example from a Toyota Camry offer (one photo shown; the saved page has imageCount 32):
{"listingId": "376ebed1-bef8-466a-846c-c94b9022db61","url": "https://www.autotrader.ca/offers/toyota-camry-le-fully-certified-with-warranty-gasoline-black-cat_ma70gr201456va2093mt3767tr11711-376ebed1-bef8-466a-846c-c94b9022db61","title": "2012 Toyota Camry Sedan 2.5","make": "Toyota","model": "Camry","modelVersion": "LE | FULLY CERTIFIED WITH WARRANTY","year": 2012,"price": 10990,"priceFormatted": "$ 10,990","currency": "CAD","priceRating": "Very good price","condition": "used","mileageKm": 130875,"transmission": "Automatic","fuel": "Gasoline","bodyType": "Sedan","drivetrain": "Front Wheel Drive","engine": "2.5 · 4 cyl","doors": 4,"seats": null,"exteriorColor": "Black","interiorColor": "Grey","city": "North York","province": "ON","postalCode": "M3J 2E5","sellerType": "dealer","dealerName": "First Choice Motors","dealerId": "47941856","imageUrls": ["https://prod.pictures.autoscout24.net/listing-images/376ebed1-bef8-466a-846c-c94b9022db61_28d3e251-42d4-4a38-9cac-e82bb85b3291.jpg/1280x960.webp"],"imageCount": 32,"description": "2012 TOYOTA CAMRY LE\nFULLY CERTIFIED WITH WARRANTY","equipment": ["AM/FM Stereo", "Anti-lock braking system (ABS)"],"warranty": null,"searchUrl": "https://www.autotrader.ca/cars/toyota/camry/","scrapedAt": "2026-11-02T18:00:00+00:00"}
Monitor mode
Turn on monitorMode and schedule the same input. The Actor stores listing id and price in the key-value store named by monitorStoreName (default autotrader-ca-monitor).
- First run (or
resetMonitorState) — Builds the baseline. No dataset rows. - Later runs — Saves a row when the listing is new, or when the price is lower than the stored price (
changeTypeprice_drop,previousPriceset). Unchanged listings and price increases are not saved. - The run stops early after several already-known listings in a row, which keeps scheduled polls short when you sort by newest.
Use cases
| Use case | What you get |
|---|---|
| Used Camry comps in Ontario | CAD price, price rating, km, year, city |
| National model sweep | Same make/model with maxPages raised and no province |
| Dealer stock watch | Monitor mode on a /cars/… URL |
| Spec export | scrapeDetails for colours, drivetrain, equipment, and description |
| AI / MCP pipelines | Flat JSON for assistants and spreadsheets |
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/autotrader-ca-scraper').call({make: 'toyota',model: 'camry',yearFrom: 2015,priceFrom: 5000,province: 'ON',radiusKm: 100,maxItems: 50,scrapeDetails: true,proxyConfiguration: { useApifyProxy: false },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/autotrader-ca-scraper").call(run_input={"make": "toyota","model": "camry","yearFrom": 2015,"province": "ON","condition": "used","maxItems": 50,"scrapeDetails": True,"proxyConfiguration": {"useApifyProxy": False},})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items[:5])
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~autotrader-ca-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"make": "toyota","model": "camry","maxItems": 20,"proxyConfiguration": {"useApifyProxy": false}}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/autotrader-ca-scraper.
Example prompts:
- "Run AutoTrader.ca Scraper for used Toyota Camry listings in Ontario from 2015, maxItems 40, and return title, price, mileageKm, city, and priceRating as JSON"
- "Scrape AutoTrader.ca Honda Civic listings and summarize median CAD price by year"
- "Chain AutoTrader.ca Scraper then Cars.com Scraper to compare a Camry price band in Canada and the US"
Suite next step
After the Canadian search, compare the same kind of car in the US with Cars.com Scraper or in Europe with AutoScout24. For used-part prices rather than whole cars, run Car-Part Scraper.
FAQ
Is this an AutoTrader.ca API?
There is no public read API for this search. This Actor is an AutoTrader.ca API alternative that returns dataset items you can call from Python, Node.js, or MCP.
Are prices in CAD and mileage in kilometres?
Yes. price is a number, currency is CAD, and mileageKm is the odometer in km.
Why is there no VIN?
These public pages do not include a VIN.
How many listings are on a page?
About 20. The page reports numberOfPages, and maxPages (default 20) stops earlier when you set a lower cap.
Does this return phone numbers?
Only when includePhones is true, and only the dealer business number published on the listing. The field is absent otherwise.
Can I watch price drops?
Yes. Enable monitorMode. The first run only stores a baseline. Later runs save new listings and price drops.
Start URLs or make/model?
Paste a /cars/… or /offers/… URL to keep every filter already in the link. Leave Start URLs empty and set make and model to build /cars/<make>/<model>/.
Search cards or full specs?
Leave scrapeDetails off for price, km, fuel, location, and dealer. Turn it on for description, equipment, colours, and drivetrain.
Related Actors
- AutoTrader UK Scraper — UK car listings
- Cars.com Scraper — US car listings
- Cars & Bids — US enthusiast auctions
- AutoScout24 — Europe car listings
- Mobile.de — German car listings
- Car-Part Scraper — used part prices