AutoTrader.ca Scraper - Cars, Prices & Dealer Leads
Pricing
Pay per event
AutoTrader.ca Scraper - Cars, Prices & Dealer Leads
Scrape AutoTrader.ca, Canada's #1 car marketplace. Get new & used vehicle listings, full specs, real prices, mileage, fuel, photos & VIN. Filter by make/model/price/year/province. Full car details + dealer B2B leads with phone, website & ratings. Price-drop & new-listing monitoring, no start fee.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
AutoTrader.ca Scraper — Cars, Prices & Dealer Leads (New & Used, All Canada)
Extract complete vehicle data from AutoTrader.ca, Canada's #1 new & used car marketplace — real CA$ prices, market-price evaluation, mileage, full specs, accident & service history, VIN/stock numbers, and every photo. Then turn every selling dealer into a ready-to-contact B2B lead with phone, website, full address, Google rating, inventory size and a 0–100 lead score.
No login, no API key, no browser — fast JSON extraction with 99%+ reliability across all provinces.
Why this AutoTrader.ca scraper?
AutoTrader.ca's legacy search API is locked behind PerimeterX, so most scrapers return shallow cards or break. This actor reads the site's own server-rendered data island and ships the richest dataset in the category — every listing already carries the dealer's phone and full address, and the detail page adds market-price intelligence other scrapers never expose.
| Data | Typical scrapers | This actor |
|---|---|---|
| Real CA$ price + price-rating (great/good/fair) | partial | ✅ |
| Market median price + evaluation ranges | ❌ | ✅ |
| Mileage, year, fuel, transmission, drivetrain | partial | ✅ |
| Full equipment, colours, doors/seats, fuel economy & CO₂ | ❌ | ✅ |
| Accident history, service history, previous owners | ❌ | ✅ |
| VIN / stock number | ❌ | ✅ |
| All photos (full resolution) | partial | ✅ |
| Selling dealer phone + full address + geo | ❌ | ✅ on every listing |
| Dealer website + Google rating | ❌ | ✅ |
| Dealer contact email (from their website) | ❌ | ✅ opt-in |
| Dealer inventory size, makes carried & price range | ❌ | ✅ |
| Lead score (0–100) per dealer | ❌ | ✅ |
| New-listing & price-drop monitoring | ❌ | ✅ |
Use cases
- Dealer lead generation — car dealers are active B2B buyers (advertising, F&I, reconditioning, software, wholesale inventory). Score them by inventory size and Google rating, and reach them directly by phone, website or email.
- Pricing & market intelligence — track real transaction-side asking prices, market median, and price-rating 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/model anywhere in Canada (Toronto, Montreal, Vancouver, Calgary, Edmonton, Ottawa, Winnipeg…).
- 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/mileage/accident-free) across every dealer in a province in one run.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the AutoTrader.ca Scraper, enter a make/model (and optional province & filters) or paste AutoTrader.ca URLs, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"mode": "search","make": "Honda","model": "Civic","province": "ontario","yearFrom": 2019,"priceTo": 30000,"condition": "used","sort": "age_newest","maxResults": 200,"includeDetails": true,"emitDealerLeads": true,"enrichDealerEmails": true}
- mode —
search(listings from a make/model/filter search),carDetail(full records for vehicle URLs you paste instartUrls), ordealerLeads(deduplicated dealer B2B profiles discovered from a search). - make / model — e.g.
Honda/Civic,Ford/F-150,Tesla/Model 3. Leave empty to search all makes with the filters below. - province — limit to a single province/territory (
ontario,quebec,british columbia,alberta…). Leave empty for all of Canada. - startUrls — paste AutoTrader.ca search pages (
/lst/...,/cars/...) or vehicle pages (/offers/...,/a/...). Auto-routed by type. - priceFrom / priceTo / yearFrom / yearTo / mileageFrom / mileageTo / fuelTypes / transmission / bodyTypes / powerFromKw / powerToKw / condition / keyword — filters, all combined.
- includeDetails (default false) — open each vehicle's detail page for the complete record (equipment, history, VIN/stock #, fuel economy, market-price evaluation, full description). Billed as a Car detail.
- emitDealerLeads (default false) — also output one deduplicated dealer-lead record per unique dealer found.
- enrichDealerEmails (default false) — crawl each dealer's own website (home + contact/about) for a public contact email. Only runs for dealers that publish a website.
- monitorMode (default false) — emit only vehicles that are new or whose price changed since the last run (and only new dealers). Perfect for price-drop alerts; works with Apify Schedules.
Output
One record per vehicle (type: "car" for listings, type: "carDetail" for full records), plus optional dealer leads (type: "dealerLead").
{"type": "carDetail","id": "69762749","stockNumber": "095826A","url": "https://www.autotrader.ca/offers/honda-ridgeline-...","make": "Honda","model": "Ridgeline","version": "Trail Sport Sunroof | Heated Seats | Apple CarPlay","modelYear": 2025,"condition": "Used","price": { "amount": 44985, "currency": "CAD", "symbol": "$", "formatted": "$ 44,985" },"priceEvaluation": 1,"marketMedianPrice": 48600,"priceEvaluationRanges": [{ "min": null, "max": 43900, "category": 0 }],"mileageKm": 53521,"driveTrain": "4x4","transmission": "Automatic","fuel": "Gasoline","bodyColor": "White","doors": 4,"hadAccident": false,"fullServiceHistory": true,"previousOwners": 1,"equipment": ["Leather seats", "Sunroof", "Heated seats", "Apple CarPlay"],"description": "New Price! 2025 Honda Ridgeline Trail Sport…","location": { "countryCode": "CA", "province": "ON", "city": "VAUGHAN", "zip": "L6A4A1", "latitude": 43.83532, "longitude": -79.5349 },"seller": {"id": "47944360","companyName": "MAPLE HONDA","phone": "888-317-5576","website": "http://www.maplehonda.com","googleRating": 4.8},"imageCount": 28,"scrapedAt": "2026-06-18T00:00:00.000Z"}
{"type": "dealerLead","id": "47944360","companyName": "MAPLE HONDA","phone": "888-317-5576","website": "http://www.maplehonda.com","email": "sales@maplehonda.com","address": { "street": "89 AUTO VAUGHAN DR", "city": "VAUGHAN", "province": "ON", "zip": "L6A4A1", "countryCode": "CA" },"googleRating": 4.8,"inventoryCount": 27,"makesCarried": ["Honda"],"priceRange": { "min": 9949, "max": 64985, "currency": "CAD" },"leadScore": 88,"scrapedAt": "2026-06-18T00:00:00.000Z"}
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily/weekly to monitor new inventory or price drops for a make/model/province; perfect for dealer-lead pipelines and pricing dashboards.
- Webhooks — trigger downstream actions (CRM import, Slack alert, repricing job) the moment a run finishes.
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 — no account, 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:
- AutoScout24 Scraper — Europe's largest car marketplace (8 countries) with full specs & dealer leads.
- SGCarMart Used Car Scraper — Singapore used-car listings, prices & dealer data.
- eBay Scraper — listings, sold comps & seller leads, including vehicles & parts.
- Craigslist Scraper — US classifieds across cars, real estate & for-sale.
- Gumtree Scraper — UK classifieds with vehicle specs & seller leads.
- OLX Brazil Scraper — Brazil's #1 classifieds (cars, real estate, electronics).
- Realtor.ca Scraper — Canadian real-estate listings & agent leads.
- Website Contact Scraper — emails, phones & socials from any list of dealer websites.
Tips
- Big searches: AutoTrader.ca paginates the first ~2,000 results per search. To exhaust a popular make/model, split runs by province, price band or year range.
- Recurring monitoring: combine Schedules with
sort: "age_newest"andmonitorModeto catch only fresh listings and price drops. - Dealer leads: turn on
emitDealerLeads(and optionallyenrichDealerEmails) to build a deduplicated dealer database — phone & address come from the listings, website & Google rating from the detail page, email from the dealer's own site. - Proxies: the default Apify datacenter proxy works well; switch to Residential (country = Canada) in the proxy input for extra resilience on very large runs.
FAQ
How do I scrape AutoTrader.ca for a specific province? Set province (e.g. ontario, british columbia) — or paste a province-filtered AutoTrader.ca /lst URL into startUrls. Combine with make/model and the price/year/mileage filters to narrow further.
Does it work without the AutoTrader.ca API? Yes. AutoTrader.ca's legacy search API is locked behind anti-bot protection — this actor extracts the same (and richer) data from the site's public server-rendered pages, no API key or login needed.
Can I get the VIN? The detail page exposes the dealer's stock number and a cross-reference identifier; the full equipment list, history flags and market-price evaluation are always included when includeDetails is on.
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, create a Schedule (e.g. daily), and optionally add a webhook or Zapier zap. Only new or repriced listings are emitted each run.
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.
A field is null — why? Some listings genuinely don't publish every spec (power, seats and full equipment are sparser on some Canadian listings, where the detail lives in the description). Fields are null only when the data doesn't exist, not because the scraper skipped them.
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.