The median 2004 BMW 3-Series in the Canadian market sits at $9,950. That's your anchor. If a seller is asking well above it, the car needs a story to justify the gap: lower kilometres, a rare trim, fresh maintenance records.
The typical range runs from $9,950 up to $16,500. That's a wide spread for a single model year, and it tells you condition and history are doing most of the pricing here. The median lands right at the floor of that range, which means a lot of these cars cluster at the low end and a smaller group of well-kept examples pulls the top up toward $16,500.
Where the median mileage lands
Half of these cars have crossed 129,333 km. On a 2004, that's expected. Use it as a yardstick: a car sitting close to that number at the median price is a fair, ordinary deal. Meaningfully below it should command more, and if you're paying near the top of the range for something over 130,000 km, the money had better be in the paperwork.
We've flagged one deal on this model year in the last 90 days, so genuine value shows up here occasionally rather than constantly. Have your inspection lined up before you start negotiating. At this age the difference between a $9,950 car and a $16,500 one is almost entirely how it was cared for, not what it looked like in the ad.
Numbers reflect live listings across Canada over the last 90 days, filtered for outliers. Data as of . Prices in CAD.