Unfortunately, tick data usually comes with a price. Cheap tick data will generally be filtered (say we have 100 orders hitting the bid like a machine gun, filtered data will show a small percentage of those orders), and unfiltered data can run a pretty penny, so it really depends on how dependent your strategy is on filtered/unfiltered data. The market standard (as far as my understanding) for tick data is going to be IQFeed. They are directly tied into the exchanges, and provide unfiltered data. If you have a futures account, you can have them waive an exchange fee (which is generally $75 a month). It's currently who I use for futures/equities data. If filtered data doesn't bother you, I've heard that Interactive Brokers offers an API which allows you to grab historical data.