If the fan motor will generate above 0.7V whilst providing a small current (i.e. under load), then you will be able to interface using a simple BJT inverter circuit.
Simply connect Vcc to +3.3V, the motor to VIN, and then VOUT to the Raspberry Pi GPIO pin. You can use something like a 100k resistor for the pull up, and any old NPN transistor (e.g. 2N2222A, BC547, etc.).
The base of the transistor will clamp the input to roughly 0.7V because the fan will likely not be able to source very much current, so you probably won't need anything else on the input. You could always try adding a 1k resistor in series with the motor if you are concerned.
When a current flows through the base, driven by the fan, the output will be pulled low through the transistor. When the fan is not spinning, no current will flow into the base turning the transistor off and pulling the output high through the pull-up resistor.
You may find that the input is noisy - toggling high and low - due to lack of any hysteresis in the circuit. However you can do some rudimentary debouncing in code - basically if the input is high and stable for a few milliseconds, then the fan is off, otherwise the fan is on.