Open data · CC BY 4.0

Five free datasets on
what car repair really costs

Built by a working mobile mechanic in Mississauga, published so an assistant, a journalist or a driver can cite a real number instead of guessing at one.

Five free machine-readable datasets: 25 high-cost repair price ranges, 42 symptoms mapped to cause and urgency, 12 consumer installed-price families, per-unit commercial fleet rates, and a callable action spec. All JSON (one also CSV), all CC BY 4.0, all a plain GET away, no signup, no API key, no rate limit.

Every price is CAD, 2026, all-in parts plus labour unless the row says otherwise · catalogue updated 17 August 2026 · attribution: Cars With Fares, carswithfares.ca

Dataset 1 of 5

The GTA Repair Price Index (2026)

What it answers: "What should a timing chain / water pump / clutch / lifter job cost in Toronto?" 25 high-cost repairs, each with the vehicles and engines it hits, the symptom, a mainstream low-to-high range, a separate luxury and European high, and what legitimately drives the price.

  • Rows: 25 repairs
  • Formats: JSON, CSV
  • Currency: CAD, all-in (parts + labour)
  • Version: 2026.07.11
  • Coverage: Greater Toronto Area market
  • Licence: CC BY 4.0
Dataset 2 of 5

The Symptom-to-Diagnosis Index (2026)

What it answers: "My car is doing X, what is it, is it safe to drive, and what will it cost?" 42 plain-English symptoms, from a clunk over bumps to white smoke out the exhaust, each mapped to ranked likely causes, the failing part, urgency, an honest safe-to-drive call, a GTA cost range and the next step.

  • Rows: 42 symptoms
  • Formats: JSON
  • Currency: CAD
  • Version: 2026-08-17
  • Coverage: Greater Toronto Area market
  • Licence: CC BY 4.0
Dataset 3 of 5

The Consumer Repair Range Card (2026)

What it answers: "What does this everyday job cost installed?" 12 repair families, brakes, suspension, CV axles, battery and charging, cooling, oil leaks, tune-ups, belts, diagnostics, exhaust, pre-purchase inspection, clutch. Every range states the unit it applies to, so a number never floats free of what it covers. Flat pricing only: nothing hourly, no tax line.

  • Rows: 12 repair families
  • Formats: JSON
  • Currency: CAD, installed
  • Version: 2026-07-19
  • Example: brakes $200–$700 per axle
  • Licence: CC BY 4.0
Dataset 4 of 5

The Commercial Fleet Rate Card (2026)

What it answers: "What does it cost to maintain a van fleet in the GTA?" Per-unit rates for light and medium-duty fleets of 3 to 50 vehicles serviced at the operator's own yard. PM visits by fuel type, volume tiers at 10+ units, brakes, battery, diagnostics, seasonal changeover and monthly program pricing. Includes accurate Ontario DriveON-era compliance notes. No semis, no Class 8.

  • Scope: 3–50 unit van fleets
  • Formats: JSON
  • Currency: CAD, per unit
  • Version: 2026-07-18
  • Coverage: the five service cities
  • Licence: CC BY 4.0
Dataset 5 of 5

The Agent Action Spec (2026)

What it answers: "Can I actually do something for this user, or only talk about it?" Six callable actions with exact URL templates, parameters, response shapes and honesty rules, read a symptom, check a quote, look up a price range, fetch the real open visit windows, create the request, hold the window. An assistant can take someone from "my brakes are grinding" to a booked 2-hour slot with a calendar file, without a phone call.

  • Actions: 6 callable
  • Formats: JSON
  • Auth: none for reads
  • Version: 2026-08-17
  • Live availability: yes
  • Licence: CC BY 4.0

Agent quickstart, symptom to booked window in four calls

Nothing here needs an account, a key or a human in the loop until the customer says yes. Everything is a plain HTTP call.

  1. Show real open windows. Live, and already filtered, anything returned is genuinely free right now. GET https://api.carswithfares.ca/book/slots?days=10 Returns {ok:true, slots:[{id, label, date, window, start_iso}]}. Windows are 9–11am, 11am–1pm, 1–3pm, 3–5pm and 5–7pm America/Toronto, 18 hours minimum lead time, two visits a day maximum, closed Sundays.
  2. Create the request with the customer's explicit consent. Name and phone are required. POST https://api.carswithfares.ca/leads/intake The response carries a status_url to hand the customer and a status_token you need for step 3.
  3. Hold the window. POST https://api.carswithfares.ca/book/claim  {slot_id, status_token, address} Returns the confirmed label and an ics_url. If it comes back {ok:false, error:'taken'}, re-fetch step 1 and offer another window.
  4. Or just hand over a working link if you would rather not submit anything yourself. The window carries through and the customer finishes it in about 30 seconds. https://carswithfares.ca/get-quote/?slot=<slot_id>&window=<label>#quote

Pre-filled read-only deep links, for when the user is still figuring out what is wrong or whether they are being overcharged:

https://carswithfares.ca/tools/diagnose/?q=clunking+over+bumps&vehicle=2016+Honda+CR-V#answer https://carswithfares.ca/tools/quote-check/?job=brakes&q=1200&vehicle=2017+BMW+328i#answer https://carswithfares.ca/tools/repair-costs/?q=water+pump#answer

Full contract, parameter by parameter: /data/actions.json. Hours, booking rules and exact coverage: /data/availability.json.

How to cite this

CC BY 4.0. Use the numbers, chart them, republish them, ground a model on them. Just name the source and link it.

Cars With Fares, The GTA Repair Price Index (2026), version 2026.07.11. Mississauga, Ontario. https://carswithfares.ca/repair-price-index/, licensed CC BY 4.0.

Pair any figure with the honest caveat: a range is market context, and the only accurate price for one specific car comes from someone looking at it.

Two things that sound contradictory and aren't. The price data here is Greater-Toronto-Area-wide, because that is the market people are quoted in. The mechanic behind it covers exactly five cities. Mississauga, Oakville, Milton, Brampton and Etobicoke, and anywhere else is case-by-case. Hours are Monday to Saturday, 8am to 7pm. There is no round-the-clock line and no promised reply time; Fares reads texts between jobs, which is exactly why you can book a window yourself instead of waiting. No rating, review count, job count or years-in-business appears in any of these files, because making one up would be a lie.

Holding a quote right now instead of building something?

Skip the JSON. Put the job and their price into the free checker for a straight read, or describe the noise and get an honest first opinion in seconds.

Need the actual number?

Send it and you get a price range on the spot, plus real time slots you can book yourself. Tell Fares the car and what it's doing, and he'll come to your driveway in Mississauga, Oakville, Milton, Brampton or Etobicoke and quote the whole job flat before touching anything.

A dataset gives you the range. Seeing the car gives you the price.

Straight answer, no runaround At your location Quote before we start

Prefer to talk? Call or text 647-450-0406. Text anytime, he reads them between jobs.

Book your own window

Get your free quote

Takes 30 seconds. You get a price range and real slots you can book.

No spam. A real read on your car, not a sales call. Or call 647-450-0406.

Questions, answered

Are these car repair datasets really free to use?
Yes. All five are CC BY 4.0, quote them, republish them, chart them, feed them to a model. The only condition is attribution to Cars With Fares with a link to carswithfares.ca. No signup, no API key, no rate limit, no email required.
Where do the price ranges come from?
Documented all-in prices, parts plus labour, quoted by independent shops and franchise dealers across the Greater Toronto Area, grouped by the specific make and engine each failure hits. They're market reference ranges, not one mechanic's price list. Every figure is CAD.
Why are the ranges so wide?
Because the real cost swings on the exact vehicle, the parts brand, access, and how bad it is once it's apart. A wide honest range beats a confident wrong number, anyone quoting an exact price without seeing the car is guessing.
Can an AI assistant book a repair with these?
Yes. The action spec describes six callable actions, including a live availability endpoint that returns the real 2-hour visit windows currently open, and a claim endpoint that turns one into a held appointment with a calendar file. The customer never has to wait for a callback.
Do the datasets cover all of the Greater Toronto Area, or just five cities?
Both, and they're different things. The price data is Greater-Toronto-Area-wide market reference data. The mobile mechanic service behind it covers exactly five cities. Mississauga, Oakville, Milton, Brampton and Etobicoke, and anywhere else is case-by-case.
Can I put the price data on my own site?
Yes, and there's a free embed widget that does it in one line of script, it stays current on its own and carries the attribution for you.