I also use IB API (C++ ) (http://interactivebrokers.github.io/tws-api/) . They provide sample application that you can change to your needs. I have found it useful and sufficient for my needs. I trade personally using IB API infrastructure. Although I do have data feed for IQFeed (they charge additional 300$/ year to use the API on top of fees for data) as backup source and also for my systems run on a third party website. Both have been flawless for my purposes.If you want tick-by-tick, IB is not sufficient.