AutoTrader Canada Vehicle Listings Scraper avatar

AutoTrader Canada Vehicle Listings Scraper

Pricing

Pay per event

Go to Apify Store
AutoTrader Canada Vehicle Listings Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
listingIdAutoTrader listing UUID or listing reference
legacyIdPublic cross-reference ID when present
urlCanonical listing URL
titleVehicle title assembled from public fields
yearModel year
makeVehicle make
modelVehicle model
trimTrim or model version
priceNumeric asking price
priceTextDisplayed price text
currencyCAD
mileageKmNumeric mileage in kilometers
sellerNameDealer or seller name when public
sellerPhonePublic seller phone when present
cityListing city
provinceCanadian province code
imageUrlsPublic listing image URLs
descriptionPublic description snippet when available
vehicleDetailsLabelled attributes from the search page
sourceSearchUrlSearch URL that produced the listing
scrapedAtExtraction 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

  1. Open AutoTrader.ca in your browser.
  2. Apply the filters you need, such as location, make, price, mileage, or body type.
  3. Copy the resulting search URL.
  4. Paste it into the startUrls input field.
  5. Set maxItems to your desired listing limit.
  6. Run the Actor.
  7. 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 ApifyClient
client = 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-scraper for 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-scraper for 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.

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.