Wayne - Open E Cry is the broker I use. I have had very favorable experiences with their software. While not as big as IB in terms of customer count, they may be a good brokerage house to use as they seem very interested in expanding.
Their software & API is worth checking into to connect with. One could also probably use their data feed to collect DOM & tick level data.
Below is some info on it:
http://www.openecry.com/software/softwarehighlights.cfm
Open Documentation
Clients from all around the world rely on OEC One Link every day for Direct Market Access to data and trade execution. Our innovative approach to developing trading software has helped our clients achieve their objectives of speed and reliability with access to major pit and electronic markets.
See how OEC One Link can take your trading to the next level by checking out the documentation below:
* OEC One Link
OEC API is a software component intended for development of applications accessing OEC System. Technically, it is a .NET 2.0 assembly (DLL library), which can be accessed from any .NET 2.0 enabled platform and language, such as Microsoft Visual Studio 2005, C#, C++/.NET and VB.NET.
There is also OEC COM API library intended for environments, which could not access .NET directly, but supports Microsoft component object model (COM), such as C++, Delphi, VBA (Excel) etc. OEC COM API is a .NET COM Interop library and requires OEC API presence.
OEC API library encapsulates network communication between client application and OEC Servers and provided object-oriented access to OEC functionality through exposed components (objects), their properties, methods and events.
OEC API is a multi-threaded library and processes user requests asynchronously, but it should be accessed only from creating thread and serializes responses in form of events (callbacks) to the same thread.
* OEC One Link Remoting
The ability to share a single API instance among several software applications.
The OEC System does not support multiple connections from the single user (login name). However, some clients use distributed frameworks for separate order and price processing. The OEC API Remote Connection avoids using a secondary login name and downloading the same data twice. Also, it does not require significant changes in the client code â so multiple client applications share the OEC API instance exactly as before.
* Compiled API Documentation
OEC One Link - zipped up version.
* API COM Interface
COM is Microsoft's Component Object Model, another technology available for building applications from binary software components to OEC.
There is also OEC One Link COM library intended for environments, which could not access .NET directly, but supports Microsoft component object model (COM), such as C++, Delphi, VBA (Excel) etc. OEC One Link COM is a .NET COM Interop library and requires OEC One Link presence.
* API COM Interface No Samples
API COM Interface without samples.
Regards,
Eric