AutoTrader.ca Scraper - Canada Car Listings | $0.49/1K avatar

AutoTrader.ca Scraper - Canada Car Listings | $0.49/1K

Pricing

from $0.49 / 1,000 listings

Go to Apify Store
AutoTrader.ca Scraper - Canada Car Listings | $0.49/1K

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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Features

Limited permissions

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 includePhones only 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; otherwise dealerPhone is 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 listingsAutoTrader.ca Scraper ◄ you are here
UK car listingsAutoTrader UK Scraper
US car listingsCars.com Scraper · Cars & Bids
Europe car listingsAutoScout24 · Mobile.de
Used part pricesCar-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 — monitorMode emits 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 (offer N 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. scrapeDetails adds 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

ParameterTypeDefaultDescription
startUrlsArray—/cars/… search URLs or /offers/… listing URLs.
make / modelString—URL slugs, e.g. toyota and camry → /cars/toyota/camry/.
yearFrom / yearToInteger—Model year, sent as fregfrom / fregto.
priceFrom / priceToInteger—CAD range, sent as pricefrom / priceto.
mileageToInteger—Max kilometres, sent as kmto.
conditionStringallnew, used, or all → offer N, U, or N,U.
provinceString—Code or name (ON, Ontario). Path segment /reg_on/.
postalCodeString—Canadian postal code. Sent as zip with spaces removed and letters upper-cased (m5v 3l9 → M5V3L9).
radiusKmInteger100 with a postal codeKilometres around the postal code, sent as radius. Narrows results only when postalCode is set.
sortStringstandardprice, mileage, model_year, age, distance, standard, and the other site sort keys.
maxItemsInteger100Listings to save. 0 means no row cap.
maxPagesInteger20Pages to open. The run also stops at the site’s numberOfPages. 0 follows numberOfPages only.
scrapeDetailsBooleanfalseOpen each offer page for description, equipment, and specs.
includePhonesBooleanfalseInclude public dealer phone numbers.
monitorModeBooleanfalseSave only new listings and price drops after a seed run.
monitorStoreNameStringautotrader-ca-monitorNamed key-value store for the baseline.
resetMonitorStateBooleanfalseDrop the baseline and seed again.
proxyConfigurationObjectNo proxyDirect 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.

FieldTypeDescription
listingId / url / titleStringListing UUID, offer URL, and title.
make / model / modelVersion / yearMixedIdentity and model year.
price / priceFormatted / currencyNumber / StringAsking price as a number, display string, and CAD.
priceRatingStringPrice evaluation label.
conditionStringnew or used.
mileageKm / transmission / fuel / bodyType / engineMixedSpecs from the card, in kilometres.
drivetrain / doors / seats / exteriorColor / interiorColorMixedFrom the offer page.
city / province / postalCodeStringWhere the vehicle is listed. Province is a code such as ON.
sellerType / dealerName / dealerIdStringdealer or private, plus the dealership when it is a dealer.
dealerPhoneStringPublic dealer phone. Absent unless includePhones is true.
imageUrls / imageCountArray / IntegerPhoto URLs and how many.
description / equipment / warrantyMixedPlain text, equipment names, and warranty text. Offer page only.
searchUrlStringSearch page that returned the row.
changeType / previousPriceMixedMonitor mode: new or price_drop, and the previous CAD price on a drop.
scrapedAtStringISO 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 (changeType price_drop, previousPrice set). 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 caseWhat you get
Used Camry comps in OntarioCAD price, price rating, km, year, city
National model sweepSame make/model with maxPages raised and no province
Dealer stock watchMonitor mode on a /cars/… URL
Spec exportscrapeDetails for colours, drivetrain, equipment, and description
AI / MCP pipelinesFlat 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 ApifyClient
client = 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().items
print(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.

⌂ 换网址