You don't actually need one. There is a "Tech II" scanner (I think that it's called that), but you can read the codes by connecting two wires together. Near the gas pedal, usually just tucked behind the console is a connector with 3 wires connected to it. You turn the key to "ON" (but don't start the engine), then connect the two end wires together with a short jumper wire. Then count the flashes on the check engine light.
The GM codes are used, and you will see each code flashed 3 times. The first code flashed (3 times) is 12. That is normal. If all you ever see flashed is "12," it means that there aren't any stored codes.