What’s an API Call and How Are They Counted

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.

What is an API call?

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 its 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 those Intrinio lists in the marketplace, apps like the Excel add-in or the Intrinio Screener for Excel, the data you are seeing is being "called" from Intrinio's database.

How do you sell API calls?

To use one of Intrinio's APIs or applications, it is necessary to subscribe to the data feed you want to use. Many subscriptions have free plans so you can test out the data, but all plans have daily API call limits. The US Public Company Financials data feed, for example, allows 500 daily API calls for free and has several options that allow users to upgrade and access more daily data. In general, more expensive plans allow more daily API calls, meaning you can access more data in a single day.

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.

How do you count API calls?

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 Public Company Financials subscription one API call.

In reality, the Excel application is making this API call when that formula is entered:

https://api.intrinio.com/data_point?ticker=AAPL&item=ceo

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:

https://api.intrinio.com/prices?ticker=AAPL

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 then 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:

https://api.intrinio.com/financials/standardized?identifier=AAPL&statement=income_statement&fiscal_year=2015&fiscal_period=FY

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 quickly want to make "dimensional calls", which is an API call with multiple tickers or multiple data points like this:

https://api.intrinio.com/data_point?ticker=AAPL,MSFT&item=last_price

That single API call pulls in the most recent stock price for both AAPL and MSFT. While this is technically one API call, Intrinio calls this dimensional calling and counts it as 2 API calls against your subscription. Dimensional calling is not available for the historicaldata endpoint but can be accessed in endpoints like news and datapoint.

How can I track my usage?

Developers will notice that the JSON return of their API call includes the item "api_call_credits":

Example of a dimensional call

An example of a "dimensional call" where a single API call counts as two

This number will usually be one, but with API calls that include multiple items, or multiple tickers, it can go up to 150.

Developers can track their usage via API using this documentation which shows how to return your usage levels for the different data feeds you are subscribed to.

Excel users can track their usage at intrinio.com/login by clicking "Usage" on any of the data feeds they are subscribed to:

Tracking API usage from intrinio.com/login

Click "Usage" in your account on any of the plans you are subscribed to to track your API calls in real time

Wait, what?

 

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.

Chat The Intrinio Team