I'm looking for an Application Programming Interface which will allow me to access quotes and other data about multiple company symbols for at least the following stock exchanges:
American Stock Exchange (AMEX)
Australian Stock Exchange (ASX)
Bank of Canada
Bombay Stock Exchange (BOM)
Canadian Venture Exchange (CVE)
Euronext: Amsterdam (AMS)
Euronext: Brussels (EBR)
Euronext: Lisbon (ELI)
Euronext: Paris (EPA)
Frankfurt Stock Exchange
Hong Kong Stock Exchange (HKG)
London Stock Exchange (LON)
NASDAQ Stock Exchange (NASDAQ)
National Stock Exchange of India
New York Stock Exchange (NYSE)
New Zealand Stock Exchange (NZE)
Nikkei Indices
Shanghai Stock Exchange (SHA)
Shenzhen Stock Exchange (SHE)
Taiwan Stock Exchange (TPE)
Tokyo Stock Exchange (TYO)
Toronto Stock Exchange (TSE)
Both Google and Yahoo finance seem to limit themselves to the American and European market, they also delay data. Interactive Brokers offers an API (http://www.interactivebrokers.com/en/pagemap/pagemap_APISolutions.php), but they do not share any details and they do not allow you use the API without depositing 10.000 USD and a few hundred a month. This is too expensive just to give it a try.
So, I'm wondering, are there any APIs out there that do fit my needs?
Thanks in advance.
Well, there are Thomson-Reuters and Bloomberg very very expensive, but comprehensive global coverage, both real-time data and fundamental stuff. Morningstar acquired real-time data provider tenfore recently. They are almost as comprehensive as the previous two, but slightly more afforable. All three have real-time "solutions" (these big words is what you pay for) that provide a nice (or at least workable) API. I have used them all, and they all have their issues and niceties. In my experience, if you can convince one of their salespeople of your potential as a customer you can generally get a trial for a month or so. Ask to get the API documentation before the trial starts so you can hit the ground running and by the end of the month you will be able to determine if the high price is worth it.
In general though, real-time data is bloody expensive, and the fee you pay to the data provider is generally just the start. These days quite a few exchanges also require direct payment from parties receiving real-time data. $10.000 + $500/month is a very good deal, but spend some time reading the contract and note that using their API will probably lock you into their brokerage services. After giving you the cheap data, they might decide to get their profits elsewhere.
UPDATE: I was just looking at the IB link you provide, and I see a 50 quotes/second limit note that -for example- just AAPL generates about 100,000 quotes during the 16 hours of main market activity. 2/second on average (peak periods, around regular open/close of market often have 10 times the average message rate or more). You'll regularly be hitting that 50 quote/second limit the moment you become interested in more than a few dozen stocks. This NANEX article about the may-6 flash crash has some interesting info about the volumes involved in the HFT field. Also, their NxCore product might interest you.