I've been looking into getting a code reader as well.
Here's a page which review some top OBD II readers costing below $100. It also lists their capabilities. The more inexpensive scanners will require purchasing an app for $5 - $10. Some only work with android phones, while others are cross-platform. Some readers require an additional purchase from the manufacturer to unlock codes for a specific make. There are generic codes and manufacturer specific codes. The more expensive ones can read the both, while the cheaper ones mostly read just the generic. There are some good reviews on YouTube as well if you search around. I'm considering Bluedriver since it works on most Diesel engines. I still need to look into it more.