
How to check a used car before buying - and how an AI agent does it
Seven things to check in a listing before you schedule a viewing - using the BMW 3 Series as an example. And how to hand the whole job to an AI agent in 60 seconds.
What breaks on BMW E90 and F30, how much repairs cost and how to inspect a used example. Fault list with prices and a pre-purchase checklist - straight talk.

The BMW 3 Series is one of the most popular used-car buys in Poland - OtoMoto runs over 3,000 active ads at any given time. Plenty of choice, that's true. But I've worked through enough of them on the lift to know: plenty of choice also means plenty of cars the seller is hoping you won't look at too closely.
Before we get to the faults, a quick word on the two generations:
| Generation | Production years | Budget on OtoMoto |
|---|---|---|
| E90 (saloon) / E91 (Touring) | 2004–2011 | PLN 18,000–45,000 |
| F30 (saloon) / F31 (Touring) | 2012–2018 | PLN 35,000–80,000 |
E90 - more mechanical, easier to service yourself, cheaper parts. The downside is higher average mileage and a lot of undocumented history floating around.
F30 - more modern across the board, better passive safety, more efficient engines. But repairs cost more, and there are plenty of ex-fleet examples out there - taxis, long-term rentals.
Both generations share one issue that has kept me busy for years: the timing chain.
Timing chain (N43, N46, N45 engines)
The most common and most expensive fault on the E90. The chain tensioner wears prematurely - ignore it and you end up with a snapped chain and a destroyed engine. The symptom to listen for is a dull metallic rattle on a cold start that fades once the engine warms up.
Engines with the factory tensioner update (N43 post-2009) are lower risk, but I wouldn't call them immune.
Repair cost: PLN 2,500–4,500 (chain + tensioners + labour).
Oil consumption (N52, N53 engines)
The 2.5 and 3.0 petrol units can burn 1 litre of oil every 2,000–3,000 km at higher mileages. BMW officially accepted up to 1 L/1,000 km as normal - which in practice means you're topping up every month.
Always check the oil level cold before you view. Clean engine bay plus a low dipstick reading means one thing: the seller knows about the consumption and isn't saying a word.
Wishbones and suspension bushings
Front suspension bushings on the E90 are due for replacement every 80,000–120,000 km. On Polish roads, often sooner - you'll hear the dull thuds over bumps before you hit that number. Instability under braking is another sign.
Cost: PLN 800–1,600 per axle (Lemförder or Meyle instead of OEM is a sensible option).
Rust on sills and wheel arches
Watch for this especially on 2004–2007 cars. Get the car on a lift and look at the sills and lower wheel arch edges from underneath. Deep sill rust isn't a cosmetic problem - it's structural, and fixing it properly will cost you thousands of zloty.
Timing chain (N20 engine)
Same story, different generation. The N20 engine - the 2.0 petrol fitted to the 318i and 320i, the most popular F30 by far - has the exact same tensioner problem as the E90. Pre-2015 cars are in the risk group. BMW put out a tensioner update, but it doesn't apply retroactively.
If you hear a rattle on a cold engine, walk away until you've had it properly diagnosed.
Repair cost: PLN 3,000–5,000.
Common rail injectors (318d, 320d diesels)
The F30 diesel was the go-to fleet choice for years. After 150,000–180,000 km, the common rail injectors start to show their age - uneven idle and extra smoke on a cold start are the signs to watch for.
Cost: injector reconditioning PLN 300–600 per unit (4 units = PLN 1,200–2,400), new OEM PLN 2,000–3,500 for a set.
DPF and EGR (diesels)
City driving clogs the DPF - that's not unique to BMW, but the F30 is full of city-driven examples. Cleaning: PLN 500–1,200. Replacement: PLN 2,500–5,000 (OEM). EGR valve on top of that: PLN 1,000–2,000.
If the seller mentions they've had the DPF chemically cleaned, ask for the invoices. No paperwork means assume it's clogged.
Electronics and diagnostics
The F30 has a lot of electronics on board - iDrive 4.0/5.0, BST modules, FRM, BCM and the rest. Reading all of it properly takes either ISTA or the Carly app. A cheap OBD2 dongle from an online shop will catch maybe a third of the fault codes.
Either ask the seller for an ISTA printout, or run your own scan before you decide anything.
Shock absorbers
At 100,000–130,000 km the shock absorbers are typically done. Replacement: PLN 1,200–2,200 per axle (Bilstein B4 or Sachs - don't cut corners on suspension for a car like this).
The figures below are for a well-maintained example covering 15,000–20,000 km a year:
| Item | E90 per year | F30 per year |
|---|---|---|
| Regular service (oil + filters) | PLN 600–900 | PLN 700–1,100 |
| Tyres (seasonal changeover) | PLN 400–700 | PLN 400–700 |
| Brakes (every 2 years) | PLN 600–1,200 | PLN 800–1,500 |
| Unexpected repairs | PLN 1,500–3,000 | PLN 2,000–4,000 |
| Total excluding insurance | PLN 3,100–5,800 | PLN 3,900–7,300 |
Insurance is on top. Third party plus comprehensive for a BMW 3 Series typically comes to PLN 2,500–5,500 per year - depending on the year, your claim history and where you live. Worth knowing before you commit.
On Mubi (a Polish insurance comparison service) you can compare third-party and comprehensive quotes for a specific year and engine in 3 minutes - no personal data required. A policy for an F30 320i from 2015 can cost 40% more than the seller estimated verbally. Better to know that before viewing than the day after signing.
1. VIN report
If the car was imported from Germany, Belgium or the Netherlands - and most of them were - run it through CarVertical. A lot of these cars carry accident history that never made it into CEPiK. The report costs around €29. The damage it might uncover: thousands.
Not sure how to read a VIN or what CEPiK actually checks? This article explains it step by step.
2. Cold engine start
Get there when the car has been sitting for at least 4 hours. Timing chain rattle only shows up on a cold engine - once it's warm, it's gone. If the seller "just happens to be warming the car up" when you arrive, they know exactly what they're doing.
3. Computer diagnostics
Ask for an ISTA printout or bring the Carly app yourself (approx. €12/month on iOS/Android). Look for injector faults, DPF codes, air conditioning errors and suspension warnings.
4. Service history
For an F30 with a dealer-service history: ask for a printout from the BMW system or stamps in the book. For an E90: independent garage invoices are fine - you can't expect dealer-only service records on a car from 2007.
5. Underside inspection
Rust on the E90's longitudinal members is a deal-breaker. The F30 holds up better, but check the shock absorber mounts and the sills around the engine bay. Ask for a lift inspection - a flat refusal is a red flag.
6. Test drive above 80 km/h
Steering wheel vibration at speed points to unbalanced wheels or worn tyres. Jerking under acceleration usually means the automatic gearbox. A hum from the rear axle at a steady cruise is the differential or wheel bearing talking. None of these show up in a car park - you need the open road.
The BMW 3 Series is genuinely one of the better used-car buys out there - but only if you find the right one. Good history, a properly serviced engine and a clean VIN check, and you're looking at another 100,000 km without any big surprises. You can also buy a problem for PLN 50,000 that costs as much again within a year.
A car is only as honest as its paperwork. A few minutes of checking before you sign is all it takes to know which kind you're looking at.