# Changelog of AutoTrader.ca Scraper — Used Car Listings & Prices (`akhil_rajesh/autotrader-canada-scraper`) Actor

- **URL**: https://apify.com/akhil\_rajesh/autotrader-canada-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/akhil\_rajesh/autotrader-canada-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### 2026-09-16

#### Maintenance update

- A search that matches nothing now ends with a clear status message (with a spelling
  hint when the make or model isn't recognised) and an empty dataset, instead of adding
  a placeholder `no_results` row.
- If none of AutoTrader.ca's search pages can be loaded, the run now fails with an
  explanation.
- Fixed: a misspelled city (for example `Torontoo`) returned listings from all over
  Canada as if they were local. The Actor now detects this and widens to the province,
  marking those rows in `searchScope`.
- A make or model the site doesn't know is now reported with a spelling hint straight
  away, instead of being retried as a temporary loading failure.
- The dataset schema now documents every output field (type, description and example),
  and the output has a new Diagnostics view. The Price & ownership view now shows
  whether a vehicle is damaged.
- Default run memory is now 1 GB (was 2 GB).
- Dependencies are pinned to their tested major versions, and the build now stops if a
  dependency or the browser can't be installed.
- README rewritten for Apify Store: step-by-step guide, pricing, FAQ, updated API and
  Python examples, and a sample output that matches the example input.
- Input form: model year, minimum price and mileage limits are grouped under
  **Advanced filters**, and the **Max search pages** description now matches how the
  Actor walks pages.

### 2026-09-12

#### 0.1.3 — Documentation and filter accuracy

- **Documented `widenSearch`** and corrected the field count in the README.
- **Clarified guidance** that a city can be searched without a province.
- Documented that some dealers publish placeholder prices (e.g. `$1` to mean
  "call for price") and that prices are reported exactly as published.

#### 0.1.2 — Correctness fixes found in review

- **Fixed: an invalid sort value returned zero results.** The site accepts only
  `age`, `price`, `mileage`, `year`, `standard` and `distance`, with direction
  supplied separately; unrecognised values silently produced an empty list.
  All ten sort options are now verified to return data.
- **Fixed: a misspelled make or model returned the whole national inventory.**
  The site drops an unrecognised make/model filter instead of erroring, so
  results are now validated against what was requested. A misspelled make
  returns an empty list with a clear message after one request rather than
  thousands of unrelated vehicles.
- **Fixed: the JSON-LD fallback read the page's breadcrumb trail** and could
  report it as listings. It now reads the search-results vehicle list, so a
  change in the site's markup degrades gracefully instead of failing.
- **Fixed:** a city search now works without a province (previously silently
  widened to the whole country).
- Removed an invalid argument from the browser fallback.

#### 0.1.1 — Initial deployment

- Deployed and verified in Apify Console.

### 2026-09-11

#### 0.1.0 — Initial release

- **Search Canadian vehicle listings** on AutoTrader.ca by make, model, province
  and city, with an optional maximum price.
- **Returns up to 39 structured fields** per vehicle: price, mileage, trim,
  transmission, fuel, condition, dealer, location, photo URLs and more.
- **Efficient by design** — each search page publishes a full batch of listings,
  so a single request yields up to 100 vehicles with no per-vehicle page fetch.
- **Numeric price and mileage** alongside the site's original text.
- **Automatic widening** — if a city returns too few vehicles, the search
  widens to the province and then to all of Canada to fill `maxResults`,
  recording the scope in `searchScope`.
- Client-side `minYear` / `maxYear` / `maxMileageKm` / `minPrice` filters.
- Sort by price, mileage, year or posting date.
- Dataset views: **Vehicles**, **Price & ownership**, **Diagnostics**.
- Pay-per-event charge-limit support.
