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 process 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, options contracts, and ESG ratings. Our data feeds 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. If you are watching a stock price update on a website, its very likely that an API is calling a database and the database is sending the stock price back so the website can show it to you.
All Intrinio plans have API call limits. When you subscribe to our data, your per-minute API call limits will depend on the package you choose. Most plans allow between 100 and 2000 API calls per minute. Intrinio has to limit the number of API calls a customer can make to protect our servers. When a developer integrates the Intrinio API, they can choose how often to make an API call. The limit prevents them from making so many calls it overwhelms Intrinio's servers and prevents other customers from also making calls.
The limit is not intended to reduce the amount of data a customer can consume. All of Intrinio's plans have a rate per minute (RPM) API call limit far above the number of calls a reasonable developer would need to use.
There is a cost to running the servers that send data over API and that cost goes up as customers make more calls. Generally, higher paid plans have access to more data and due to the higher cost can allow more API calls. Helping developers decide how many calls they need and making sure they have a plan that meets the needs of their applications is an important part of Intrinio's service. We never let customers fail because they can't get access to enough 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, a developer building an application would be charged one API call to get name of Apple's CEO:
https://api-v2.intrinio.com/companies/AAPL/data_point/ceo/text
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-v2.intrinio.com/securities/AAPL/prices
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.
Another example of getting multiple datapoints in a single call is the income statement, balance sheet, or statement of cashflows:
https://api-v2.intrinio.com/fundamentals/AAPL-income_statement-2015-FY/standardized_financials
This API call gets quite a few data points from Apple's income statement in 2015 but counts as only a single API call.
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 users can track their usage in their accounts for any of the data feeds they are subscribed to.
If you're new to Intrinio, explore our plans to get started!