AutoTrader Canada Vehicle Listings Scraper
Pricing
Pay per event
AutoTrader Canada Vehicle Listings Scraper
🚗 Scrape public AutoTrader.ca vehicle listings with prices, mileage, seller details, locations, and images for market research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract public vehicle listings from AutoTrader.ca search result pages. This Apify Actor is built for Canadian car-market monitoring, dealer inventory tracking, price research, and lead-list exports.
What does AutoTrader Canada Vehicle Listings Scraper do?
AutoTrader Canada Vehicle Listings Scraper reads public AutoTrader.ca search pages and saves structured vehicle data to an Apify dataset.
It can collect listing IDs, URLs, titles, model years, makes, models, trims, prices, mileage, seller names, seller phone numbers when public, locations, images, descriptions, and technical attributes exposed in the search result page state.
Who is it for?
- 🚗 Car dealers monitoring competing inventory in Canadian cities.
- 📊 Pricing analysts comparing asking prices by make, model, year, and mileage.
- 🧾 Resellers and exporters building sourcing spreadsheets.
- 🏦 Lenders and insurance teams tracking market values.
- 🛠 Automotive data teams feeding dashboards and alerts.
- 🧑💻 Developers who need AutoTrader.ca listing data via API.
Why use this scraper?
AutoTrader.ca pages are designed for browsing, not spreadsheet exports. This Actor converts public search results into clean rows that can be downloaded as JSON, CSV, Excel, XML, or consumed through the Apify API.
What data can you extract?
| Field | Description |
|---|---|
listingId | AutoTrader listing UUID or listing reference |
legacyId | Public cross-reference ID when present |
url | Canonical listing URL |
title | Vehicle title assembled from public fields |
year | Model year |
make | Vehicle make |
model | Vehicle model |
trim | Trim or model version |
price | Numeric asking price |
priceText | Displayed price text |
currency | CAD |
mileageKm | Numeric mileage in kilometers |
sellerName | Dealer or seller name when public |
sellerPhone | Public seller phone when present |
city | Listing city |
province | Canadian province code |
imageUrls | Public listing image URLs |
description | Public description snippet when available |
vehicleDetails | Labelled attributes from the search page |
sourceSearchUrl | Search URL that produced the listing |
scrapedAt | Extraction timestamp |
How much does it cost to scrape AutoTrader Canada listings?
This Actor uses pay-per-event pricing: a $0.005 run-start event plus a per-listing event. The current BRONZE price is $0.0005 per listing, or about $0.50 per 1,000 listings before volume-tier discounts. Free-tier users pay $0.000575 per listing; Scale users pay $0.00039 per listing; Business users pay $0.0003 per listing. Higher enterprise tiers receive additional volume discounts.
How to use AutoTrader Canada Vehicle Listings Scraper
- Open AutoTrader.ca in your browser.
- Apply the filters you need, such as location, make, price, mileage, or body type.
- Copy the resulting search URL.
- Paste it into the
startUrlsinput field. - Set
maxItemsto your desired listing limit. - Run the Actor.
- Download the dataset or connect it to your workflow.
Input configuration
startUrls
AutoTrader.ca search result URLs. Use URLs from public search pages, for example:
[{ "url": "https://www.autotrader.ca/cars/on/toronto/?rcp=15&rcs=0&srt=35" }]
maxItems
Maximum number of listings to save across all provided search URLs.
maxPagesPerStartUrl
Safety cap for pagination attempts. Some AutoTrader.ca result pages expose the same first page for offset parameters, so the Actor automatically stops when it sees duplicate listings.
includeDescriptions
Set to true to save public listing descriptions from the search result state.
requestDelayMs
Delay between page requests. Keep the default for polite scraping.
proxyConfiguration
Optional Apify proxy settings. Start without a proxy; enable Apify Proxy only if your run environment receives different content.
Example input
{"startUrls": [{ "url": "https://www.autotrader.ca/cars/on/toronto/?rcp=15&rcs=0&srt=35" }],"maxItems": 50,"maxPagesPerStartUrl": 10,"includeDescriptions": true,"requestDelayMs": 1000,"proxyConfiguration": {"useApifyProxy": false}}
Example output
{"listingId": "8f27eab3-3246-41c9-b6b5-89c41e7b20c0","url": "https://www.autotrader.ca/offers/...","title": "2025 RAM 1500 Rebel Crew Cab | Sunroof | RamBox | Lvl 2","year": 2025,"make": "RAM","model": "1500","trim": "Rebel Crew Cab | Sunroof | RamBox | Lvl 2","price": 68988,"currency": "CAD","mileageKm": 16998,"sellerName": "Scarborotown Chrysler Dodge Jeep Ram Ltd","city": "TORONTO","province": "ON"}
Tips for better results
- 🎯 Use filtered URLs for specific makes, models, cities, or price ranges.
- 📍 Create separate URLs for different provinces if you need broad coverage.
- 🔁 For monitoring, schedule the Actor and compare datasets over time.
- 💸 Keep the first run small while validating your filters.
- 🧹 Remove duplicate URLs from the input list.
Integrations
You can connect this Actor with:
- Google Sheets for price-monitor spreadsheets.
- Make or Zapier for alerts when matching listings appear.
- Slack or email notifications for new inventory checks.
- Databases such as BigQuery, PostgreSQL, or Snowflake.
- BI tools for market dashboards.
- Apify webhooks for scheduled monitoring.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/autotrader-canada-vehicle-listings-scraper').call({startUrls: [{ url: 'https://www.autotrader.ca/cars/on/toronto/?rcp=15&rcs=0&srt=35' }],maxItems: 25});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/autotrader-canada-vehicle-listings-scraper').call(run_input={'startUrls': [{'url': 'https://www.autotrader.ca/cars/on/toronto/?rcp=15&rcs=0&srt=35'}],'maxItems': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~autotrader-canada-vehicle-listings-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"startUrls":[{"url":"https://www.autotrader.ca/cars/on/toronto/?rcp=15&rcs=0&srt=35"}],"maxItems":25}'
MCP usage
Use the Apify MCP server to run this Actor from AI tools.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/autotrader-canada-vehicle-listings-scraper
Claude Code CLI setup:
$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/autotrader-canada-vehicle-listings-scraper
Claude Desktop JSON setup:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/autotrader-canada-vehicle-listings-scraper"}}}
MCP example prompts:
- "Use the Apify MCP server to run
automation-lab/autotrader-canada-vehicle-listings-scraperfor 20 Toronto listings." - "Using MCP, call the AutoTrader Canada scraper and summarize prices by make."
- "With the MCP tool, run this AutoTrader.ca URL and export URL, price, mileage, and seller."
Claude Code example prompts
- "Using MCP, run
automation-lab/autotrader-canada-vehicle-listings-scraperfor this Toronto search URL and summarize average price by make." - "Use the AutoTrader Canada MCP tool to get 50 Vancouver listings and create a CSV with price, mileage, seller, and URL."
- "Run this AutoTrader.ca search through MCP every day and show me new listing IDs."
Claude Desktop workflow
Add the Apify MCP server, enable this Actor, then ask Claude Desktop to run searches, compare prices, or prepare dealer-inventory reports.
Claude Code CLI setup example:
$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/autotrader-canada-vehicle-listings-scraper
Claude Desktop JSON setup example:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/autotrader-canada-vehicle-listings-scraper"}}}
MCP prompt examples:
- "Use the Apify AutoTrader Canada tool to scrape 20 Toronto listings and return the cheapest five."
- "Run the AutoTrader Canada scraper for Vancouver and group the dataset by sellerName."
- "Fetch Montreal listings and tell me which vehicles have mileage under 20,000 km."
Data quality notes
The Actor extracts data from public search-result state. Some fields depend on what AutoTrader.ca exposes for each listing. For example, seller phones, descriptions, or suggested retail prices may be missing on some results.
Pagination notes
AutoTrader.ca can return duplicate first-page data for some offset parameters. The Actor deduplicates by listing ID and stops a pagination loop when no new listings are found. For larger exports, provide multiple filtered search URLs.
Performance notes
This is an HTTP-only scraper and does not launch a browser. It is designed to run with 256 MB memory and conservative page pacing.
Legality
This Actor extracts publicly visible information from AutoTrader.ca pages. You are responsible for using the data lawfully, respecting applicable terms, privacy requirements, and rate limits. Do not scrape private account data or use the Actor for spam.
FAQ
Can I scrape private saved searches?
No. This Actor is scoped to public AutoTrader.ca search result pages only.
Does it open each vehicle detail page?
No. The first version extracts rich listing data from public search result state to reduce cost and avoid unnecessary requests.
Troubleshooting
Why did I get fewer listings than maxItems?
The search page may contain fewer unique public listings than requested, or AutoTrader.ca may return duplicate first-page state for pagination offsets. Add more filtered search URLs to collect a larger sample.
Why are some fields empty?
Some sellers do not expose every field in search results. Empty values mean the field was not present in the public page state for that listing.
Should I enable proxy?
Start with proxy disabled. If your cloud run receives blocked or region-specific content, enable Apify Proxy and keep the result limit small for testing.
Related scrapers
- https://apify.com/automation-lab/zillow-scraper
- https://apify.com/automation-lab/booking-scraper
- https://apify.com/automation-lab/olx-scraper
- https://apify.com/automation-lab/facebook-marketplace-scraper
Changelog
0.1
- Initial HTTP-first AutoTrader.ca search result extractor.
- Added structured vehicle, price, seller, image, and location fields.
Support
If your search URL does not return expected listings, include the exact input and run ID when requesting help.
Responsible usage checklist
- Use public search result URLs only.
- Keep limits small when validating filters.
- Avoid unnecessary retries.
- Schedule monitoring at reasonable intervals.
- Store and process personal data responsibly.
Output formats
Apify datasets can be exported as JSON, JSONL, CSV, Excel, XML, RSS, or HTML. Use CSV or Excel for spreadsheet workflows and JSON/JSONL for data pipelines.
Summary
AutoTrader Canada Vehicle Listings Scraper turns public Canadian vehicle marketplace pages into structured data for market intelligence, inventory monitoring, and pricing analysis.