Car Listing Scraper for AutoTrader.ca - Prices & Dealer Leads avatar

Car Listing Scraper for AutoTrader.ca - Prices & Dealer Leads

Pricing

from $0.50 / 1,000 car listings

Go to Apify Store
Car Listing Scraper for AutoTrader.ca - Prices & Dealer Leads

Car Listing Scraper for AutoTrader.ca - Prices & Dealer Leads

Scrape new and used car listings from AutoTrader.ca by make, model, province, year, price, km, fuel or body: CA$ price, price band, specs, photos, dealer phone. Full records add history flags, CARFAX link, VIN where shown; dealer leads add website, Google rating. Not affiliated with AutoTrader.ca.

Pricing

from $0.50 / 1,000 car listings

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by TRADER Corporation or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "AutoTrader.ca" is referenced only to describe the publicly available website this Actor collects data from.

Extract new and used vehicle listings from AutoTrader.ca, Canada's big car marketplace: CA$ prices, AutoTrader.ca's price band and market median, kilometres, year, trim, fuel, gearbox, location and photos, with the selling dealer's name and phone on every listing. Turn on full vehicle records for equipment, history flags, colours, the listing date, the CARFAX report link and the VIN where AutoTrader.ca shows it, and turn every dealer into a B2B lead with website, Google rating, address and map position.

Search by make, model, province, condition, model year, price, kilometres, fuel, body type, gearbox and power (every filter is applied by AutoTrader.ca itself and checked on its own page before anything is billed), or paste AutoTrader.ca links. No login, no API key, no browser.

What each row carries

DataCar listingFull vehicle recordDealer lead
Year, make, model, trim / version, condition (new / used)✅✅
CA$ price, AutoTrader.ca price band✅✅
Market median price and price-rating bands✅
Kilometres, fuel, gearbox, photos✅✅
City and province✅✅✅
Street address and map position (latitude / longitude)street when listed✅✅
Dealer name and phone✅✅✅
Equipment list, colours, doors and seats, drivetrain, cylinders✅
Accident and service history flags, listing date, full description✅
Stock number, CARFAX report link, VIN where AutoTrader.ca shows it✅
Dealer's own website and Google rating✅✅
Makes carried, price range, number of its listings in your search, lead score✅
Contact email from the dealer's own website (opt-in)✅

Use cases

  • Dealer lead generation - car dealers are active B2B buyers (advertising, F&I, reconditioning, software, wholesale inventory). Reach them by phone, website or email and rank them by Google rating and lead score.
  • Pricing & market intelligence - track asking prices, AutoTrader.ca's market median and price bands across makes, models, years and provinces; spot under- and over-priced inventory.
  • Inventory aggregation - feed car-shopping apps, comparison sites and dashboards with structured listings for any make and model anywhere in Canada.
  • Price-drop & new-inventory alerts - schedule recurring runs and capture only listings that are new or whose price changed since last time.
  • Wholesale & remarketing - find specific vehicles (year, trim, kilometres, accident-free) across every dealer in a province in one run.

How to use

  1. Sign up for Apify - the free plan is enough to try this actor.
  2. Open the Car Listing Scraper for AutoTrader.ca, enter a make and model (and optional province and filters) or paste AutoTrader.ca links, and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS - or pull results programmatically via the Apify API.

Input

{
"mode": "search",
"make": "Toyota",
"model": "RAV4",
"province": "ontario",
"condition": "used",
"yearFrom": 2019,
"yearTo": 2022,
"fuelTypes": ["hybrid"],
"priceTo": 35000,
"sort": "age_newest",
"maxResults": 200,
"includeDetails": true,
"emitDealerLeads": true
}
  • mode - search (listings from a make/model/filter search), carDetail (full records for vehicle links you paste in startUrls), or dealerLeads (deduplicated dealer profiles found by a search).
  • make / model - e.g. Toyota / RAV4, Ford / F-150, Tesla / Model 3, as AutoTrader.ca writes them. A make or model AutoTrader.ca does not know stops the run before anything is billed (AutoTrader.ca would otherwise show every car in Canada). Leave empty to search all makes with the filters below.
  • province - limit to one province or territory. Leave empty for all of Canada.
  • condition - all, new or used.
  • yearFrom / yearTo - model years.
  • fuelTypes - AutoTrader.ca's own fuel groups: gasoline, diesel, electric, hybrid (plug-in hybrids included), flex fuel (ethanol), propane (lpg), natural gas (cng), other. It has no hydrogen or diesel-hybrid category; those values are named on the run card and left out.
  • bodyTypes - suv, truck (or pickup), sedan, coupe, convertible, hatchback, wagon, minivan (or van), other.
  • transmission - automatic or manual (AutoTrader.ca has no semi-automatic category).
  • priceFrom / priceTo / mileageFrom / mileageTo / powerFromKw / powerToKw - CA$, kilometres and kilowatts.
  • keyword - keep only vehicles whose name, version, fuel or body contains these words (hybrid, AWD, XLE). AutoTrader.ca has no keyword search, so the run checks each vehicle it reads; add a make and model so it finds enough matches.
  • startUrls - paste AutoTrader.ca search pages (/lst/..., /cars/...) or vehicle pages (/offers/...). Vehicle pages come back as full vehicle records.
  • includeDetails (default false) - read each vehicle's page for the full record. Billed as a Car detail instead of a Car listing.
  • emitDealerLeads (default false) - also output one deduplicated dealer lead per dealer found.
  • enrichDealerEmails (default false) - visit each dealer's own website (home and contact/about pages) for a public contact email.
  • monitorMode (default false) - emit only vehicles that are new or whose price changed since the last run (and only new dealers), tagged monitorStatus. The first run delivers up to maxResults and records the rest of the search without billing it, so later runs report only vehicles that are really new. With sort: "age_newest" each run stops at the first vehicle it already knows, the fastest way to catch new listings; in any other order every run reads the whole search, so price changes anywhere in it are caught too.

Output

One record per vehicle (type: "car" for search listings, type: "carDetail" for full records), plus optional dealer leads (type: "dealerLead"). A real full record from a used-RAV4 search in Ontario (trimmed):

{
"type": "carDetail",
"id": "67359217",
"stockNumber": "9731",
"vin": "2T3RWRFV0KW038890",
"url": "https://www.autotrader.ca/offers/toyota-rav4-xle-hybrid-awd-...",
"title": "2019 Toyota RAV4",
"make": "Toyota",
"model": "RAV4",
"version": "XLE HYBRID AWD P/SUNROOF L/ASSIST B/SPOT CAMERA",
"modelYear": 2019,
"condition": "Used",
"price": { "amount": 28990, "currency": "CAD", "symbol": "$", "formatted": "$ 28,990" },
"priceEvaluation": 2,
"marketMedianPrice": 27900,
"mileageKm": 117497,
"driveTrain": "All Wheel Drive",
"transmission": "Automatic",
"fuel": "Gas/Electric Hybrid",
"bodyColor": "Blue",
"doors": 4,
"seats": 5,
"hadAccident": false,
"equipmentCount": 30,
"listedSince": "2025-09-10T01:40:07.987Z",
"locationText": "TORONTO, ON",
"location": { "countryCode": "CA", "province": "ON", "city": "TORONTO", "zip": "M3J 2G4", "latitude": 43.76433, "longitude": -79.48607 },
"seller": { "id": "47940833", "companyName": "Nexcar Auto Sales & Leasing Inc", "phone": "647-366-7190", "website": "http://www.nexcar.ca/", "googleRating": 4.6 },
"imageCount": 36
}
{
"type": "dealerLead",
"id": "47946161",
"companyName": "Autorama",
"phone": "888-985-2297",
"website": "https://www.autorama.ca/",
"address": { "street": "1205 FINCH AVE W", "city": "TORONTO", "province": "ON", "zip": "M3J2E8", "latitude": 43.7643, "longitude": -79.4839 },
"googleRating": 4.5,
"inventoryCount": 1,
"makesCarried": ["Toyota"],
"priceRange": { "min": 31450, "max": 31450, "currency": "CAD" },
"leadScore": 55
}

Field notes

  • priceEvaluation is the number of AutoTrader.ca's price band the car falls in: 0 is the cheapest band, and full records list every band with its CA$ limits in priceEvaluationRanges (most cars sit in the band around the market median).
  • A price under CA$100 is a dealer's "call for price" placeholder ($1 is common), so price.amount stays empty and priceLabel keeps what AutoTrader.ca shows. A cheapest-first search, or one with a price range, starts at CA$100 so those placeholders do not fill the top. Some dealers type a monthly payment as the price: add priceFrom (for example 1000) to a cheapest-first search to skip those too.
  • AutoTrader.ca lists cars without a mileage first in a lowest-mileage order, so that order, or a mileage range, starts at 1 km and every row carries its kilometres.
  • placement is standard, or promoted for a paid slot AutoTrader.ca puts above the order you chose. With any order other than standard those slots are left out, so the rows follow your order.
  • condition is AutoTrader.ca's own label (New or Used). A few listings (about 1 in 200) are filed under an internal type: they take the condition of a New or a Used search, a full record takes the one its vehicle page states, and in a search for both they stay empty.
  • inventoryCount is the number of the dealer's listings found in your search, not the dealer's whole stock.
  • vin is filled only where AutoTrader.ca shows it (listings whose CARFAX link is a paid report); carfaxReportUrl is the report link and carfaxReportFree says whether it is free.
  • AutoTrader.ca shows no fuel consumption figures (0 of 24 vehicle pages measured in October 2026; its page prints the empty template "- (l/100 km)"), so those fields stay empty, never a placeholder. CO2 appears only as 0 g/km on electric cars, a true zero.
  • AutoTrader.ca's platform has European-style fields that Canadian listings leave empty (first registration, previous owners, emission class, inspections, weight, warranty) or fill rarely (power, gears, engine size); those stay empty rather than guessed. Accident history is stated on about half of the listings, service history on most.
  • The website of a dealer is its own site only: a social or marketplace page is left out.

How much does it cost to scrape AutoTrader.ca?

This Actor uses Apify's pay-per-event pricing: you are charged for the results it delivers, with no monthly rental. From 7 November 2026 each run also has a small run-start fee ($0.005 at the default memory), shown on the Pricing tab. The events it can charge are:

  • Car listing - one search listing: make, model, trim, CA$ price and price band, kilometres, year, fuel, gearbox, city and province, photos and the selling dealer with phone.
  • Full car record - one full vehicle record (instead of the listing): equipment, history flags, colours, market median price, listing date, stock number, CARFAX link and VIN where shown, description, map position and dealer contact.
  • Dealer lead - one dealer: company name, address with map position, phone(s), website, Google rating, number of its listings in your search, makes carried, price range, lead score and, when you turn it on, an email from its own website.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend: when it no longer covers a full vehicle record, the remaining vehicles come as car listings. Use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/autotrader-ca-scraper').call({
make: 'Toyota',
model: 'RAV4',
province: 'ontario',
condition: 'used',
maxResults: 200,
includeDetails: true,
emitDealerLeads: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} vehicles & dealer leads`);

Integrate with any app

Connect the dataset to 5,000+ apps - no code required:

  • Make - multi-step automation scenarios.
  • Zapier - push new dealer leads straight into your CRM.
  • Slack - get notified when a monitored search finds new inventory or a price drop.
  • Google Drive / Sheets - auto-export every run to a spreadsheet.
  • Airbyte - pipe results into your data warehouse.
  • GitHub - trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server - ask your assistant to "find used Toyota RAV4s under $30k in Ontario and list the dealers' phone numbers" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
  • Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete automotive & marketplace data stack:

Tips

  • Big searches: AutoTrader.ca pages through the first 200 result pages of a search (about 3,400 to 4,000 vehicles). To cover a popular make and model, split runs by province, price band or year range.
  • Recurring monitoring: combine Schedules with monitorMode. sort: "age_newest" catches fresh listings fastest; any other order (for example price_asc) reads the whole search each run, so it also catches price drops on older listings.
  • Dealer leads: turn on emitDealerLeads (and optionally enrichDealerEmails) to build a deduplicated dealer database: phone from the listings, website, Google rating and map position from one vehicle page per dealer, email from the dealer's own site.
  • Proxies: the default Apify proxy works; the run switches to Canadian residential IPs by itself if AutoTrader.ca refuses datacenter.

FAQ

How do I scrape AutoTrader.ca for a specific province? Set province (for example ontario or british columbia), or paste an AutoTrader.ca link that already has a province. Combine it with make, model and the other filters.

Are the filters really applied? Yes. AutoTrader.ca drops a filter value it cannot read and shows the wider search, so the actor checks the filters AutoTrader.ca says it applied on each search's first page and stops before billing when one is missing.

Can I get the VIN? Where AutoTrader.ca shows it: the full vehicle record carries the VIN when the listing's CARFAX link is a paid report, and always the stock number and the CARFAX report link.

Can I export to Google Sheets, CSV, or Excel? Yes - one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor price drops automatically? Turn on monitorMode with any sort order except newest first (so every run reads the whole search), create a Schedule (for example daily), and optionally add a webhook or Zapier zap. Only new or repriced listings are emitted each run, tagged with monitorStatus.

Where do dealer emails come from? Never from AutoTrader.ca. With enrichDealerEmails on, the actor visits the dealer's own public website and extracts publicly listed contact emails - the same thing a human visitor would see.

Is scraping AutoTrader.ca legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. PIPEDA for personal data) and AutoTrader.ca's terms.

Data & lawful use

This Actor reads public listings and the seller information shown on them. Sellers on AutoTrader.ca include private individuals, so seller names, usernames and any contact details are personal data. If you are in the EU or UK you are the data controller for what you do with them: have a lawful basis, use the data for market research, price monitoring or lawful sourcing, honour deletion requests, and do not send private sellers unsolicited marketing.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by TRADER Corporation or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

"AutoTrader.ca" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official AutoTrader.ca product, is not authorised or certified by TRADER Corporation, and does not distribute AutoTrader.ca software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this actor is actively maintained.