I'm looking to develop some custom software for trading and am trying to find an appropriate data feed/brokerage to handle what I need. This is the set of criteria I've come up with: 0) Looking to trade ES e-mini futures 1) Available via API from a Java application--whether directly through socket or Java API or indirectly through a bridge API (to COM or .Net or...) so long as that bridge is already available. It's possible janetdev.org might allow me to use a .Net API. Direct socket access would be ideal. 2) I need every tick 3) I need bid/ask data with volume 4) I would like a reliable way to determine whether a given transaction occurred at the bid or ask. I have seen at least two feeds where the bid/ask are snapshot and transaction data didn't include bid/ask thus it was NOT possible to know this reliably. Is there a feed where this is possible? 5) Cost under $100/month or at least not much more than that. If having an account at that brokerage helps, that's fine. I don't mind opening an account at the brokerage to get the feed (since I'll need a brokerage at some point anyway).