<p>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.</p>

<p>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?</p>

<p>Update: Based on answers so far, here's a quick list...</p>

<ul>
<li><a href="http://www.interactivebrokers.com/" rel="noreferrer">Interactive Brokers</a>

<ul>
<li>Java</li>
<li>C++</li>
<li>ActiveX</li>
<li>DDE for Excel</li>
</ul></li>
<li><a href="http://www.pcmtrading.com" rel="noreferrer">Pinnacle Trading</a>

<ul>
<li>C++</li>
<li>Perl</li>
<li>VB.NET</li>
<li>Excel</li>
</ul></li>
<li><a href="http://www.mbtrading.com/developersMain.aspx?page=sdk" rel="noreferrer">MB Trading</a></li>
</ul>

[{'answer_id': 59363, 'author': 'kamajo', 'author_id': 5415, 'author_profile': 'https://Stackoverflow.com/users/5415', 'pm_score': 6, 'selected': True, 'text': '<p>I vote for IB(Interactive Brokers). I\'ve used them in the past as was quite happy. Pinnacle Capital Markets trading also has an API (pcmtrading.com) but I haven\'t used them.</p>\n\n<p><strong>Interactive Brokers:</strong></p>\n\n<p><a href="https://www.interactivebrokers.com/en/?f=%2Fen%2Fsoftware%2Fibapi.php" rel="noreferrer">https://www.interactivebrokers.com/en/?f=%2Fen%2Fsoftware%2Fibapi.php</a></p>\n\n<p><strong>Pinnacle Capital Markets:</strong></p>\n\n<p><a href="http://www.pcmtrading.com/es/technology/api.html" rel="noreferrer">http://www.pcmtrading.com/es/technology/api.html</a></p>\n'}, {'answer_id': 59367, 'author': 'Howler', 'author_id': 2871, 'author_profile': 'https://Stackoverflow.com/users/2871', 'pm_score': 1, 'selected': False, 'text': '<p>There are a few. I was looking into <a href="http://www.mbtrading.com/sdk.asp" rel="nofollow noreferrer" title="MBTrading SDK">MBTrading</a> 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.</p>\n\n<p>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.</p>\n\n<p>Don\'t know much about cost for an actual account or anything.</p>\n'}, {'answer_id': 1244179, 'author': 'jilles de wit', 'author_id': 7531, 'author_profile': 'https://Stackoverflow.com/users/7531', 'pm_score': 2, 'selected': False, 'text': '<p>I\'ve been using parts of the <a href="http://www.marketcetera.com/site/" rel="nofollow noreferrer">marketcetera</a> platform. They support all kinds of <a href="http://www.marketcetera.com/site/products/what%E2%80%99s-supported" rel="nofollow noreferrer">marketdata sources and brokers</a> 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.</p>\n'}, {'answer_id': 2520059, 'author': 'J. Taylor', 'author_id': 176410, 'author_profile': 'https://Stackoverflow.com/users/176410', 'pm_score': 1, 'selected': False, 'text': '<p>Ameritrade also offers an API, as long as you have an Ameritrade account: <a href="http://www.tdameritrade.com/tradingtools/partnertools/api_dev.html" rel="nofollow noreferrer">http://www.tdameritrade.com/tradingtools/partnertools/api_dev.html</a></p>\n'}, {'answer_id': 4184061, 'author': 'Konstantin Tarkus', 'author_id': 82686, 'author_profile': 'https://Stackoverflow.com/users/82686', 'pm_score': 1, 'selected': False, 'text': '<p>.NET Client Library for <a href="https://www.tdameritrade.com/api.page" rel="nofollow">TD Ameritrade Trading Platform</a>:</p>\n\n<p><a href="https://github.com/kriasoft/site-sdk" rel="nofollow"><strong>TD Ameritrade .NET SDK</strong></a>, also available via <a href="https://www.nuget.org/packages/TDAmeritrade.Client/2.0.0-alpha2" rel="nofollow"><strong>NuGet</strong></a></p>\n'}, {'answer_id': 4558214, 'author': 'Joe Holloway', 'author_id': 48837, 'author_profile': 'https://Stackoverflow.com/users/48837', 'pm_score': 4, 'selected': False, 'text': '<p>Looks like <a href="https://developer.etrade.com/" rel="noreferrer">E*Trade has an API</a> now. </p>\n\n<p>For access to historical data, I\'ve found <a href="http://www.eoddata.com/" rel="noreferrer">EODData</a> to have reasonable prices for their data dumps.  For side projects, I can\'t afford (rather don\'t want to afford) a huge subscription fee just for some data to tinker with.</p>\n'}, {'answer_id': 15571989, 'author': 'AsTeR', 'author_id': 172277, 'author_profile': 'https://Stackoverflow.com/users/172277', 'pm_score': 0, 'selected': False, 'text': "<p>Only related with currency trading (Forex), but many Forex brokers are offering MetaTrader which let you code in MQL. The main problem with it (aside that it's limited to Forex) is that you've to code in MQL which might not be your preferred language.</p>\n"}, {'answer_id': 17409397, 'author': 'Ben Berry', 'author_id': 2539760, 'author_profile': 'https://Stackoverflow.com/users/2539760', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://openecry.com" rel="nofollow">openecry.com</a> is a broker with plenty of information on an API and instructions on how to do yours. There are also other brokers with the OEC platform and all the bells and whistles a pro could ask for.</p>\n'}]
['https://Stackoverflow.com/questions/59327', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5291/']