Autotrader Canada Per results avatar

Autotrader Canada Per results

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Autotrader Canada Per results

Autotrader Canada Per results

Our autotrader.ca scraper effortlessly gathers URLs from all pages and extracts detailed information from each listing cars.

Pricing

from $0.60 / 1,000 results

Rating

5.0

(2)

Developer

youssef farhan

youssef farhan

Maintained by Community

Actor stats

3

Bookmarked

62

Total users

2

Monthly active users

12 days ago

Last modified

Share

AutoTrader Canada Scraper: Extract Vehicle Listings from AutoTrader.ca

Scrape AutoTrader Canada listings into clean, structured car data. Export price, mileage, VIN, specs, dealer details, and photos from any AutoTrader.ca search as JSON, CSV, or Excel. Built for car dealers, automotive market researchers, and data teams who need accurate Canadian vehicle data.

No coding required. Paste a search URL, or build your search with 30+ built-in filters.

What is the AutoTrader Canada Scraper?

The AutoTrader Canada Scraper is an Apify Actor that turns AutoTrader.ca search results and vehicle detail pages into structured data. It paginates through every result page, opens each listing, and extracts 127 fields per vehicle, including numeric price and mileage values that are ready for analysis without cleanup.

Unlike HTML scrapers, this Actor parses the embedded JSON on each listing page. Records stay complete and rarely break when AutoTrader changes its page layout.

At a glance

Sourceautotrader.ca (cars, RVs, bikes, boats, trailers, trucks, and more)
Fields per vehicle127 (about 85 populate on a typical dealer listing)
InputAutoTrader.ca search URL, direct listing URL, or the built-in filter form
Filters30+, including make, model, price, year, mileage, body type, fuel, features, and location
OutputJSON, CSV, Excel, XML, JSONL
ProxiesIncluded and automatic, no setup and no Apify Proxy subscription needed
Coding neededNone

How to scrape AutoTrader.ca in 3 steps

  1. Choose your vehicles. Paste an AutoTrader.ca search URL into Start URLs, or leave it empty and fill in the Search filters section instead.
  2. Set a limit (optional). Use Max results for an exact number of vehicles.
  3. Click Start. Results appear in the dataset, ready to download as JSON, CSV, or Excel.

Two ways to tell it what to scrape

Point the scraper at a URL or use the built-in filters.

Start URLs win. If you enter anything in Start URLs, the Search filters section is ignored for that run and a note appears in the log. To search by filters, leave Start URLs empty.

Option 1: Paste an AutoTrader.ca search URL

Set your filters on autotrader.ca, copy the address bar, and paste it into Start URLs. Direct listing URLs (/offers/... or /a/...) also work and skip straight to that vehicle.

{
"start_urls": [
{ "url": "https://www.autotrader.ca/cars/on/toronto/?rcp=100&rcs=0&srt=35" }
],
"max_items": 500
}

Option 2: Use the filter form (no URL needed)

Fill in the Search filters section and the scraper builds the matching AutoTrader search for you, exactly as if you had set the filters on the site.

{
"makes": ["Audi"],
"models": ["A4"],
"conditions": ["used"],
"price_from": 10000,
"price_to": 40000,
"model_year_from": 2015,
"body_types": ["sedan", "wagon"],
"transmission": ["automatic"],
"equipment": ["backup-camera"],
"postal_code": "M5V 3L9",
"radius_km": "400",
"sort_by": "price"
}

Filters combine. Every one you add narrows the results further.

What filters are available?

FilterOptions
Vehicle typeCars, Bikes & ATVs, RVs, Boats, Watercraft, Snowmobiles, Trailers, Commercial & heavy trucks, Heavy equipment, Farm equipment
Make and model120 makes. Model names match forgivingly, so CR-V, crv, and CR V all work
ConditionNew, Used, Employee's car, Antique / classic, Demonstration, Pre-registered
Seller typeDealer or private seller
PriceFrom / to, in CAD
Model yearFrom / to
MileageFrom / to, in km
Body typeSedan, SUV, Pick-up truck, Hatchback, Coupe, Convertible, Wagon, Minivan, Other
Fuel typeGasoline, Diesel, Electric, Hybrid, Flex fuel, Natural gas, Propane (LPG), Other
TransmissionAutomatic or manual
EngineCylinder count, power range in hp or kW
Doors and seatsFrom / to
ColoursExterior (14), interior (11), upholstery material
Features51 options, all required at once: backup camera, heated seats, sunroof, Apple CarPlay, adaptive cruise control, panoramic roof, and more
LocationCanadian postal code or place name, plus a radius from 10 km to 400 km
FreshnessOnly listings posted within the last N days
Damaged vehiclesExcluded by default, matching the site
SortingPrice, model year, mileage, date posted, power, make/model, or distance, ascending or descending

How do I limit how many results I get?

InputWhat it does
Max results (max_items)Hard cap on vehicles. Set 250 and you get exactly 250.
Start page / End pagePage range. Pages hold 100 listings each here, while autotrader.ca shows 20 per page, so page 3 here covers the site's pages 11 to 15.

Use Max results when you want an exact number, because page ranges can only limit output in steps of 100. Setting end_page: 2 with max_items: 150 returns exactly 150 vehicles, not 200.

Leave all three empty to scrape every available page.

What data do you get?

Every record carries the same 127 keys. Which of them are filled depends on what the dealer published, so check Field coverage before you build against a specific field.

Listing info

  • listing_url: direct link to the vehicle listing
  • ad_id: unique AutoTrader ad identifier
  • data_source: origin of the record (AutoTrader Canada)
  • status / vehicle_status: Used or New
  • listing_status: listing state (for example, Active)
  • created_timestamp: exact date and time the listing went up (ISO-8601)
  • posted_age_days: how many days it has been listed, for freshness and stale-inventory filters
  • leads_range: bucketed buyer-interest signal ("Zero" / "Some")
  • description: full vehicle description text

Vehicle specs

  • make, model, year, trim
  • vin: vehicle identification number (used vehicles, see coverage)
  • stock_number: dealer stock reference
  • body_type, transmission, drivetrain, fuel_type
  • cylinders, displacement, doors, seats
  • exterior_color, interior_color

Pricing and market position

  • price_formatted: formatted string (for example, "$ 29,873")
  • price_cad: numeric CAD value for direct calculations
  • market_median_price: AutoTrader's median price for comparable vehicles
  • price_vs_market: dollars above or below that median (negative means cheaper than market)
  • price_vs_market_pct: the same gap as a percentage, ready to sort on
  • suggested_retail_price, suggested_retail_price_raw: MSRP when new (see coverage)
  • price_evaluation: AutoTrader's price rating
  • price_is_final, price_is_negotiable, price_is_conditional: pricing flags
  • financing_available, leasing_available, warranty_exists

Mileage and fuel economy

  • mileage_formatted: formatted (for example, "11,213 km")
  • mileage_km: numeric km value
  • fuel_city_l_100km, fuel_highway_l_100km: numeric consumption

History and condition

  • accident_free: accident-history flag
  • carfax_available: whether a Carfax report is offered
  • carfax_url: link to the report (the free report link where the dealer provides one)
  • carfax_mode: how the report is offered, and the reason vin is or is not present
  • has_full_service_history, non_smoking, new_inspection, is_rental

Seller and dealer

  • seller_name, is_private_seller, dealer_is_dealer, dealer_type, dealer_id
  • dealer_phone, dealer_phone_call_to: display and dial-ready formats
  • dealer_sms_number: the dealer's SMS line where enabled
  • dealer_address_full, dealer_address_street, dealer_city_province
  • dealer_inventory_url, dealer_logo_url

Location

  • city, province, country, zip_code, full_location
  • latitude, longitude: precise coordinates for mapping and radius analysis

Media

  • image_urls: array of full-resolution photo URLs
  • image_count: number of photos
  • header_image: thumbnail URL
  • video_urls, has_360_view

Field coverage

The Actor emits 127 keys per record and reads only what AutoTrader publishes on the page. It never guesses or backfills. Around 85 fields populate on a typical dealer listing and the rest return null. The ones worth knowing before you build:

  • vin is published only for used vehicles whose listing carries a purchasable Carfax report, typically 55 to 75% of a mixed new/used search. AutoTrader does not print the VIN anywhere on the page in the other cases: new vehicles (no Carfax), listings offering a free Carfax report, and listings where the buyer must request the report from the dealer. For those, vin is null, because the data is not on the page to take and no setting changes that. VINs are returned exactly as the dealer published them, including the occasional typo, rather than being silently dropped or "corrected".
  • suggested_retail_price is the manufacturer's suggested retail price when the vehicle was new. It is not a previous asking price. On a used vehicle, MSRP minus the asking price is depreciation, not a discount. AutoTrader does not publish listing price history, so no "was/now" price drop is available. Use market_median_price and price_vs_market to judge whether a listing is priced well. MSRP is present on roughly 40% of listings.
  • posted_age_days and province are computed rather than published: the age from created_timestamp, and the province from the postal code (Canada Post assigns the first letter by province). Both are exact, not estimates.
  • Equipment lists (comfort_equipment, safety_equipment, all_equipment, and similar) populate only when the dealer fills in the structured equipment section. Many dealers put this in description free text instead.
  • Fields such as engine, power_hp, average_market_price, price_drop, and dealer_google_rating are kept in the schema for compatibility but are not currently published by AutoTrader and return null.

If a field you need is null across your results, it is missing from the source page rather than dropped by the scraper. Reach out via the Issues tab and it can often be derived from another field.

Sample output

A real record, abridged (127 keys are returned in full):

{
"ad_id": "6abe52b0-9bc8-416f-9a71-03f0cae48952",
"listing_url": "https://www.autotrader.ca/offers/ford-escape-awd-panoramic-roof-tech-package-low-km-gasoline-white-cat_ma29gr18589tr11414-6abe52b0-9bc8-416f-9a71-03f0cae48952",
"data_source": "AutoTrader Canada",
"make": "Ford",
"model": "Escape",
"year": 2024,
"trim": "AWD | PANORAMIC ROOF | TECH PACKAGE | LOW KM",
"vin": "1FMCU9MNXRUA61773",
"stock_number": "N6350A",
"status": "Used",
"price_formatted": "$ 29,873",
"price_cad": 29873,
"market_median_price": 31300,
"price_vs_market": -1427,
"price_vs_market_pct": -4.6,
"price_evaluation": 1,
"price_is_negotiable": false,
"mileage_formatted": "11,213 km",
"mileage_km": 11213,
"body_type": "SUV",
"transmission": "Automatic",
"drivetrain": "All Wheel Drive",
"fuel_type": "Gasoline",
"cylinders": 3,
"displacement": "1,500 cc",
"doors": 4,
"seats": 5,
"exterior_color": "White",
"interior_color": "Black",
"fuel_city_l_100km": 9.2,
"fuel_highway_l_100km": 7.4,
"accident_free": true,
"carfax_mode": "BuyCarFax",
"carfax_available": true,
"carfax_url": "https://www.carfax.ca/order?vin=1FMCU9MNXRUA61773&report=verified&ref=trader&refID=5_70436986_ON20080213110737382&refdomain=2",
"city": "Scarborough",
"province": "ON",
"country": "CA",
"zip_code": "M1L 2N1",
"full_location": "Scarborough, CA",
"latitude": 43.72814,
"longitude": -79.28359,
"is_private_seller": false,
"seller_name": "Donway Ford Inc",
"dealer_phone": "437-889-2758",
"dealer_address_full": "1975 Eglinton Avenue East, Scarborough, M1L 2N1",
"financing_available": true,
"image_count": 11,
"image_urls": [
"https://prod.pictures.autoscout24.net/listing-images/6abe52b0-9bc8-416f-9a71-03f0cae48952_4358cf4f-9b2b-47a4-b9a7-1cbeaaef68e8.jpg/1280x960.webp",
"https://prod.pictures.autoscout24.net/listing-images/6abe52b0-9bc8-416f-9a71-03f0cae48952_b987bc9a-3448-4f93-beb2-e917edced353.jpg/1280x960.webp"
],
"listing_status": "Active",
"created_timestamp": "2026-06-11T09:10:50.665Z",
"posted_age_days": 36,
"leads_range": "Some",
"description": "Experience style, performance, and advanced technology in this exceptionally low-kilometre 2024 Ford Escape ST-Line AWD..."
}

Who uses this AutoTrader scraper?

  • Used car dealers monitoring competitor pricing on AutoTrader.ca by make, model, and region
  • Automotive market researchers building Canadian vehicle pricing datasets with clean numeric fields
  • Insurance and fintech teams valuing vehicle portfolios from targeted listing subsets
  • Inventory aggregators feeding car-search platforms with fresh AutoTrader Canada data
  • Resellers and flippers filtering accident-free, low-kilometre vehicles across regions
  • Data scientists who need ready-to-use price_cad and mileage_km values without post-processing
  • Analysts matching listings to their own VIN records, or mapping inventory density by latitude and longitude

How does it work?

  • You provide AutoTrader.ca search URLs or fill in the filter form.
  • The Actor requests 100 listings per page and handles all pagination automatically.
  • Each vehicle detail page is fetched and the embedded __NEXT_DATA__ JSON is parsed directly. No HTML scraping and no headless browser, which is why it is fast and stable.
  • Up to 200 detail pages are fetched in parallel through rotating proxies.
  • Runs are resumable. Progress is saved, so an interrupted run picks up where it left off instead of starting over.
  • Failed pages retry automatically with capped exponential backoff.
  • Results land in the Apify dataset, exportable as JSON, CSV, Excel, XML, or JSONL.

Why choose this scraper?

  • More complete records. It parses the listing JSON that AutoTrader itself uses, instead of scraping HTML, so fields are not lost to layout changes.
  • Analysis-ready numbers. Both formatted strings and numeric values are returned for price and mileage, so data drops straight into Excel or a database.
  • No proxy setup. Rotating proxies are built in. You do not need an Apify Proxy subscription.
  • Search without URLs. A full filter form covers make, model, price, year, mileage, body type, fuel, features, and location.
  • Exact result limits. Max results caps the output at any number you choose.
  • Automatic pagination. No manual page incrementing in your URLs.
  • Resumable. Large runs survive interruptions without re-scraping.

Frequently asked questions

How do I scrape AutoTrader Canada without coding?

Open the Actor, paste an AutoTrader.ca search URL into Start URLs, and click Start. If you would rather not build a URL, leave Start URLs empty and use the Search filters section to pick make, model, price, year, and location. Results download as JSON, CSV, or Excel.

This Actor collects only publicly available listing data, the same information any visitor sees on autotrader.ca without logging in. It does not access private accounts or personal data. You are responsible for how you use the output, so review AutoTrader's terms and any laws that apply to your use case, and consult a lawyer if you are unsure.

How many listings can I scrape at once?

AutoTrader itself caps any single search at 4,000 listings, no matter how many results it reports. That is a limit of the website, not of this scraper. To collect more, split your search and run it several times: by price band, by model year, by province using postal code and radius, or one make at a time. Each narrowed search gets its own 4,000-listing allowance.

Why do I get 4,000 listings when the search says there are more?

Same reason as above. AutoTrader stops serving results past 4,000 for a single search. Split the search into narrower ones and run each separately.

Do all listings include a VIN?

No. AutoTrader publishes a VIN only for used vehicles carrying a purchasable Carfax report, roughly two thirds of a mixed new/used search. New vehicles do not have one, and listings with a free Carfax report do not expose it on the page, so vin is null there. See Field coverage.

What should I put in the Postal code field?

Use either a Canadian postal code on its own (V2N 0A3, V2N0A3, or just the first three characters V2N), or a place name with or without a province (Prince George, Prince George, BC, Toronto, ON).

Do not combine the two. V2N0A3, BC is the one format AutoTrader's own search cannot read. The scraper strips the province off a postal code for you, and if a location cannot be resolved at all it stops the run with an error rather than quietly scraping the entire country.

If you leave the radius empty, AutoTrader applies its own default of 100 km.

Can I filter by drivetrain (AWD, FWD, RWD)?

No, and neither can AutoTrader. The site shows drivetrain on each listing, but its search backend does not filter on it, so the option is ignored even on autotrader.ca itself. The drivetrain of every scraped vehicle is included in the output, so you can filter the dataset afterwards.

I filled in the filters but it scraped something else. Why?

You almost certainly had something in Start URLs. Start URLs always take precedence, and the Search filters section is ignored whenever they are set. The run log says so explicitly. Clear Start URLs to search by filters.

Can I limit how many results I get?

Yes, in two ways. Max results caps the number of vehicles outright, so setting 250 returns exactly 250. Start page and End page scrape a page range instead, but pages hold 100 listings each here, so they only limit output in steps of 100. Leave all three blank to fetch everything.

Yes. Pass a direct listing URL in Start URLs. Both the current https://www.autotrader.ca/offers/... form and the older https://www.autotrader.ca/a/... form are supported, and the Actor scrapes just that vehicle.

Does it handle proxies and anti-bot protection?

Yes, with nothing to set up. Every run goes through a built-in rotating proxy network with browser-like request fingerprinting and automatic retries. You do not need an Apify Proxy subscription or a proxy of your own.

Can I scrape RVs, motorcycles, boats, or trucks too?

Yes. Set Vehicle type in the filter section to RVs, Bikes & ATVs, Boats, Watercraft, Snowmobiles, Trailers, Commercial & heavy trucks, Heavy equipment, or Farm equipment. Every other filter applies within the type you pick.

What output formats are available?

JSON, CSV, Excel, XML, and JSONL, all available from the Apify dataset UI and the REST API.

Is the data live?

Yes. Every run fetches current listings directly from AutoTrader.ca. Nothing is cached or served from an old copy.

Does it support scheduling and webhooks?

Yes. Use Apify's built-in scheduler for cron-based runs (hourly, daily, weekly) and webhooks to trigger downstream pipelines when a run finishes.

Can you add more fields?

The embedded JSON contains extensive vehicle data, so most additional fields can be added on request. Reach out via the Issues tab.

Use via API or MCP

Run this Actor programmatically via the Apify REST API, or connect it as an MCP server for AI agents like Claude, ChatGPT, and Cursor.

API run endpoint:

POST https://api.apify.com/v2/acts/fayoussef~autotrader-ca/runs?token=YOUR_TOKEN

MCP server URL:

https://mcp.apify.com/actors/fayoussef~autotrader-ca

Full API docs: https://docs.apify.com/api/v2

Need a custom scraper?

Need a different automotive site, extra fields, or a fully managed data pipeline? Visit automationbyexperts.com for custom builds, retainers, and data-as-a-service.