So I'm getting really sick of E*TRADE and, being a developer, would love to find an online broker that offers an API. It would be great to be able to write my own trading tools, and maybe even modify existing ones.

Based on my research so far, I've only found one option. Interactive Brokers offers a multi-language API (Java/C++/ActiveX/DDE) and has some fairly decent commission rates to boot. I want to make sure there aren't any other options out there I should be considering. Any ideas?

Update: Based on answers so far, here's a quick list...

+5  A: 

I vote for IB. I've used them in the past as was quite happy. Pinnacle trading also has an api ( ) but I haven't used them.

IB does seem to be the best option, and so far the only one with a wide range of language support.
+1  A: 

There are a few. I was looking into MBTrading for a friend. I didn't get too far, as my friend lost interest. Seemed relatively straigt forward with a C# and VB.Net SDK. They had some docs and everything. This was ~6 months ago, so it may be better (or worse) by now.

IIRC, you can create a demo account for free. I don't remember all the details, but it let you connect to their test server and pull quotes and make fake trades and such to get your software fine tuned.

Don't know much about cost for an actual account or anything.

+1  A: 

I've been using parts of the marketcetera platform. They support all kinds of marketdata sources and brokers and you should easily be able to add more brokers and/or data providers. This is not a direct broker API of course, but that helps you avoid vendor lock-in so that might be a good thing. And of course all the tools they use are open source.

jilles de wit
+1  A: 

Ameritrade also offers an API, as long as you have an Ameritrade account:

+1  A: 

Heres a solid list of stock broker apis and a quick review of each I found: