Intrinio sells financial data through APIs and I get questions about how exactly this works on a weekly basis. It's easy to see how it could be confusing - no one was selling financial data through APIs five years ago. This blog will tell you what an API and API call are, how API call limits work in Intrinio's data plans, and how API calls are counted.
API stands for application programming interface, and this is just a fancy term for a tool that gets data from a database so a developer can display that data in their application. Intrinio has a massive database of financial information like stock prices, balance sheets, economic data, and FDIC call reports. Our data feeds, which you can browse in our marketplace, give developers an easy, systematic way to pull that data into whatever program they want to use via a single API.
Pulling data in this manner is called an API call, and it's very much like a phone call. The developer calls the database, asks for a specific piece of data, and the database sends back that data. The developer can then use that data in their application. When you use an application like the Excel add-in, the data you're seeing is being "called" from Intrinio's database.
To use one of Intrinio's APIs or applications, it is necessary to subscribe to the data feed you want to use. Many of our products are available in our Sandbox environment where you can test out a subset of the data for free. All paid plans have API call limits. The US Fundamentals and Stock Prices feed, for example, allows 120 API calls per minute (for individuals) and has several options that allow users to upgrade and access more data per minute. In general, more expensive plans allow more API calls, meaning you can access more data in the allotted amount of time.The various plans a user can subscribe to have different features, such as whether the plan includes redistribution rights, but the savvy user will still want to estimate how many API calls they will need so they can pick the right plan.
Since Intrinio's plans come in units of API calls, its important to understand exactly how much data you can get with an API call. For most data types, one API call gets you one data point. For example, =intriniodatapoint("AAPL","ceo") returns Apple's CEO in Excel and charges your US Fundamentals and Stock Prices subscription one API call.
In reality, the Excel application is making this API call when that formula is entered:
A developer building an application would also be charged one API call to get this data. There are two exceptions to the 1 data point = 1 API call rule. For historical stock prices, it is possible to get up to 100 stock prices in a single API call. For example:
will get a developer Apple's price history. That call is limited to 100 results per page with each day containing the open, low, high, close, volume, and adjusted stock prices. This article explains paging with the API - each page of data counts as one API call. For developers, this one page = 1 API call is a good rule of thumb.
Likewise, when an Excel user pulls historical stock prices:
=IntrinioHistoricalPrices("AAPL", "adj_close", 0, "2012-01-01", "2012-12-31")
they will be charged one call. They can then subsequently access the next 100 historical prices for that stock, in this case Apple, without being charged additional calls. This is because the API call that Excel made to get the stock price actually pulled the first 100 prices into memory with a single API call. If you want to get the 101st price (using a sequence of 100), another API call will be made. Thus, Intrinio Excel functions with a "sequence" parameter call the API in 100-record increments.
A developer can get the entire income or balance sheet for a company in a single API call:
This API call gets quite a few data points but counts as only a single API call. If a user in Excel queries a balance sheet or income statement, Excel will use the API to pull the entire statement into memory, allowing the user to access that data in subsequent formulas without additional API calls.
Developers will notice that the JSON return of their API call includes the item "api_call_credits." This number will usually be one, but with API calls that include multiple items, or multiple tickers, it can go up to 150.
API and Excel users can track their usage in their accounts for any of the data feeds they are subscribed to.
If any of this sounds confusing, and we know it does, feel free to chat with our team regarding any specific examples or use cases you are facing.