Finance APIs
I need an API for both real-time and historical financial data; the following is what I have discovered thus far. I intend to update this article as new information becomes available, especially during testing.
To save readers time, my preferences are in descending order.
Financial Modeling Prep offers both real-time and historical data for free. There seem to be no limits on how much data you can use, how often you can make requests, or for how long of a testing period. Therefore, I am going to test this API first. It seems to be barebones and strictly JSON, but I’m only interested in raw data at this point anyway.
Alpha Vantage is free, but with minute and daily request limits. You can pay to increase those limits. I have inquired about a developer plan, but I don’t have a response at this time.
World Trading Data is free, but with lower usage limits than Alpha Vantage. You can pay to increase those limits. I have inquired about a developer plan, but I don’t have a response at this time. Update: there is no developer plan; if you want free data for testing, you have to stay within the aforementioned usage limit.
Intrinio has a free Developer Sandbox with no time limit, but after development you must pay for the data you use. I see widgets, so there are some bells and whistles available.
IEX Cloud also has a sandbox, but with a usage limitation.
Xignite has a 7-day free trial. This trial can be extended depending on your data needs.
EOD Historical Data offers a 50% discount during development. I’m looking for free, so I haven’t inquired as to how much this discounted cost is.
Morningstar is a possibility, but I have to speak with a data specialist. I like the idea of a big name source, but the sources higher on this list allow me to choose the data I need without this collaboration step.
I’m also considering going directly to the markets. That seems like an unnecessary reinvention of the wheel, especially since the aforementioned sources already aggregate data, but timeliness can be critical. Therefore, I’ve sent an inquiry to the New York Stock Exchange (NYSE).