Autotrader Canada Per results
Pricing
from $0.60 / 1,000 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
Maintained by CommunityActor stats
3
Bookmarked
62
Total users
2
Monthly active users
12 days ago
Last modified
Categories
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
| Source | autotrader.ca (cars, RVs, bikes, boats, trailers, trucks, and more) |
| Fields per vehicle | 127 (about 85 populate on a typical dealer listing) |
| Input | AutoTrader.ca search URL, direct listing URL, or the built-in filter form |
| Filters | 30+, including make, model, price, year, mileage, body type, fuel, features, and location |
| Output | JSON, CSV, Excel, XML, JSONL |
| Proxies | Included and automatic, no setup and no Apify Proxy subscription needed |
| Coding needed | None |
How to scrape AutoTrader.ca in 3 steps
- Choose your vehicles. Paste an AutoTrader.ca search URL into Start URLs, or leave it empty and fill in the Search filters section instead.
- Set a limit (optional). Use Max results for an exact number of vehicles.
- 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?
| Filter | Options |
|---|---|
| Vehicle type | Cars, Bikes & ATVs, RVs, Boats, Watercraft, Snowmobiles, Trailers, Commercial & heavy trucks, Heavy equipment, Farm equipment |
| Make and model | 120 makes. Model names match forgivingly, so CR-V, crv, and CR V all work |
| Condition | New, Used, Employee's car, Antique / classic, Demonstration, Pre-registered |
| Seller type | Dealer or private seller |
| Price | From / to, in CAD |
| Model year | From / to |
| Mileage | From / to, in km |
| Body type | Sedan, SUV, Pick-up truck, Hatchback, Coupe, Convertible, Wagon, Minivan, Other |
| Fuel type | Gasoline, Diesel, Electric, Hybrid, Flex fuel, Natural gas, Propane (LPG), Other |
| Transmission | Automatic or manual |
| Engine | Cylinder count, power range in hp or kW |
| Doors and seats | From / to |
| Colours | Exterior (14), interior (11), upholstery material |
| Features | 51 options, all required at once: backup camera, heated seats, sunroof, Apple CarPlay, adaptive cruise control, panoramic roof, and more |
| Location | Canadian postal code or place name, plus a radius from 10 km to 400 km |
| Freshness | Only listings posted within the last N days |
| Damaged vehicles | Excluded by default, matching the site |
| Sorting | Price, model year, mileage, date posted, power, make/model, or distance, ascending or descending |
How do I limit how many results I get?
| Input | What it does |
|---|---|
Max results (max_items) | Hard cap on vehicles. Set 250 and you get exactly 250. |
| Start page / End page | Page 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 listingad_id: unique AutoTrader ad identifierdata_source: origin of the record (AutoTrader Canada)status/vehicle_status: Used or Newlisting_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 filtersleads_range: bucketed buyer-interest signal ("Zero" / "Some")description: full vehicle description text
Vehicle specs
make,model,year,trimvin: vehicle identification number (used vehicles, see coverage)stock_number: dealer stock referencebody_type,transmission,drivetrain,fuel_typecylinders,displacement,doors,seatsexterior_color,interior_color
Pricing and market position
price_formatted: formatted string (for example, "$ 29,873")price_cad: numeric CAD value for direct calculationsmarket_median_price: AutoTrader's median price for comparable vehiclesprice_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 onsuggested_retail_price,suggested_retail_price_raw: MSRP when new (see coverage)price_evaluation: AutoTrader's price ratingprice_is_final,price_is_negotiable,price_is_conditional: pricing flagsfinancing_available,leasing_available,warranty_exists
Mileage and fuel economy
mileage_formatted: formatted (for example, "11,213 km")mileage_km: numeric km valuefuel_city_l_100km,fuel_highway_l_100km: numeric consumption
History and condition
accident_free: accident-history flagcarfax_available: whether a Carfax report is offeredcarfax_url: link to the report (the free report link where the dealer provides one)carfax_mode: how the report is offered, and the reasonvinis or is not presenthas_full_service_history,non_smoking,new_inspection,is_rental
Seller and dealer
seller_name,is_private_seller,dealer_is_dealer,dealer_type,dealer_iddealer_phone,dealer_phone_call_to: display and dial-ready formatsdealer_sms_number: the dealer's SMS line where enableddealer_address_full,dealer_address_street,dealer_city_provincedealer_inventory_url,dealer_logo_url
Location
city,province,country,zip_code,full_locationlatitude,longitude: precise coordinates for mapping and radius analysis
Media
image_urls: array of full-resolution photo URLsimage_count: number of photosheader_image: thumbnail URLvideo_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:
vinis 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,vinisnull, 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_priceis 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. Usemarket_median_priceandprice_vs_marketto judge whether a listing is priced well. MSRP is present on roughly 40% of listings.posted_age_daysandprovinceare computed rather than published: the age fromcreated_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 indescriptionfree text instead. - Fields such as
engine,power_hp,average_market_price,price_drop, anddealer_google_ratingare kept in the schema for compatibility but are not currently published by AutoTrader and returnnull.
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_cadandmileage_kmvalues without post-processing - Analysts matching listings to their own VIN records, or mapping inventory density by
latitudeandlongitude
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.
Is scraping AutoTrader.ca legal?
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.
Can I scrape a single vehicle URL instead of a search?
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.