If u buying the car. Get the report from transunion. It will tell u if theres been any insurance claims. ownership history, police interest, finance outstanding, mileage history, original colour, engine size...I can send u a sample of a report for a cupra that i almost bought.
The vin check for free will only give u limited info that encoded in the vin number itself. Not that handy when u buying the car. U nd the unitrans one. Think its costs bout R90 bucks
U can also check with bmw themselves. Think they charge R800. If its later than 1999 they can check history on the system like services/parts changed at bmw dealers. They just need the key for that.