Autotrader Canada Scraper avatar

Autotrader Canada Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Autotrader Canada Scraper

Autotrader Canada Scraper

Scrape AutoTrader.ca vehicle listings at scale. Get price, year, mileage, trim, dealer name and phone number, CARFAX report links, full specifications and AutoTrader's own market median price. Multiple search URLs, newest-first sorting, optional full listing details. Export to JSON, CSV or Excel.

Pricing

from $0.50 / 1,000 results

Rating

5.0

(4)

Developer

Coder

Coder

Maintained by Community

Actor stats

0

Bookmarked

43

Total users

0

Monthly active users

6 days ago

Last modified

Share

AutoTrader.ca Scraper

Scrape vehicle listings from AutoTrader.ca — Canada's largest automotive marketplace. Paste one or more search URLs and get clean, structured rows with price, mileage, trim, location, dealer, and optionally the VIN and CARFAX report link for every vehicle.

Built for dealers tracking competitor inventory, analysts following used-car prices, and anyone who needs AutoTrader.ca data in a spreadsheet instead of a browser tab.

What you get

Every listing returns the vehicle (year, make, model, trim, engine, fuel, transmission, mileage, body type), the price (including a clear flag when a listing is price on request rather than a misleading $1), the location (city, province, postal code, distance from your search point) and the seller (dealer name, type, address, dealer page).

Turn on Include full listing details and each row also gets:

FieldWhat it is
vinThe 17-character Vehicle Identification Number
carfax_report_urlDirect link to that vehicle's CARFAX history report
descriptionThe seller's full write-up
image_urlsEvery photo on the listing, not just the thumbnail
body_color, doors, seatsSpecifications from the listing page
warranty_exists, status, is_deliverableListing condition flags

Input

FieldTypeDefaultDescription
startUrlsarray—One or more AutoTrader.ca search URLs. Apply your filters on the site, then paste the address bar.
maxListingsinteger10Listings per search URL. Total = this × number of URLs.
fetchDetailsbooleanfalseOpen each listing for VIN, CARFAX link, description and photos.
scrapeNewListingsbooleanfalseSort newest first.

Any filter the site supports works, because the filters live in the URL:

https://www.autotrader.ca/cars/toyota/corolla/qc/montreal/
https://www.autotrader.ca/cars/bmw/?prx=100&pRng=%2C40000

Output

One row per listing, streamed to the dataset as soon as it is ready — you can start working with results while the run is still going.

{
"ad_id": "71392833",
"title": "2022 Volvo XC90 T6 AWD Momentum",
"year": 2022,
"make": "Volvo",
"model": "XC90",
"trim": "T6 AWD Momentum (7-Seat) Climate Package",
"price": "$ 38,888",
"price_amount": 38888,
"mileage": "28,800 km",
"transmission": "Automatic",
"fuel": "Gasoline",
"city": "MONTRÉAL",
"province": "QC",
"postal_code": "H4P 2H4",
"distance_km": 6,
"dealer_name": "Silver Star Mercedes-Benz Montréal",
"vin": "YV4A22PK8N1234567",
"carfax_report_url": "https://www.carfax.ca/order?vin=YV4A22PK8N1234567",
"detailFetched": true,
"url": "https://www.autotrader.ca/offers/volvo-xc90-..."
}

All fields are shown in the dataset by default.

How it handles the awkward cases

  • A listing whose detail page will not load is still delivered, with all its search-page fields and detailFetched: false — and it is not billed for details. Other scrapers quietly drop these, so you pay for a search that found 50 cars and receive 30 with no explanation.
  • "Price on request" listings are labelled, not invented. The site reports these with a placeholder value; they arrive with price_on_request: true and no price, rather than a $1 supercar in your spreadsheet.
  • New cars have no mileage and are returned as such, rather than with a fabricated zero.
  • The site's own result count is respected, so paging stops where the search actually ends instead of guessing.
  • A page that fails is retried before the search is given up on, and if listings still cannot be collected the run says so rather than quietly returning fewer results than you asked for.

Billing

Pay per event, charged only for what reaches your dataset:

  • listing — one per listing delivered.
  • detail — one per listing whose detail page actually returned data.

Failed fetches, retries, blocked requests and empty results are never charged.

Free plan

Free Apify accounts can run this Actor with every feature enabled on a limited volume, so you can evaluate the real output before paying. The run log states exactly what was trimmed.

Notes

  • Only public AutoTrader.ca listing data is collected. No logins, no personal accounts, no private data.
  • Very large runs are best split across several search URLs — the Actor works them in parallel.