If you don't have strict low latency requirements and don't care if the provider is conflating tick data, then I would recommend using a broker's market data feed. Many electronic brokers offer access to connect to streaming market data alongside their other services. This will be the cheapest option in terms of cost, and will also likely be the easiest to develop on.
If you need an enterprise solution, and can afford to pay several thousand dollars a month, then the likes of Bloomberg, ActiveX, SR Labs, IDC, S&P's Quanthouse, are some of the big providers out there that I am acquainted with.
For high fidelity, ultra low latency requirements, I would recommend either MayStreet's Bellport or SR Labs.
In addition to factors such as latency, data fidelity, and cost, I would also consider the following:
- How easy is it to develop on their api ? Does their api service model satisfy your application's requirements ?
- In terms of tick data, do they provide only the inside market ? Level 1 data ? Level 2 data ? What other auxiliary data do they offer ?
- What options are there to connect into their feeds ? Internet ? Collocate ? Vpn ? Something else ?
- What is the universe of securities they support ?
- In addition to raw tick data, what sorts of aggregate and summary data do they offer ?
- How capable is their IT ? Do they respond quickly and with useful answers or no ?
- Does their api have methods to recover from connection drops, session corrupted, server failover, etc ? How robust are these procedures ?
- What symbology schema do they use to lookup and request data ? Is it consistent with your system's symbology ?
- What sort of data limits do they impose ? Do they offer a test server to develop on ?
Hope that helps.