Not a lot of business people understand what an API (or Application Programming Interface) is or why it is important to them. Even fewer typically understand what a web-based API is, which is even more important,interesting, and will change the way a lot of things get done.
I am going to endeavor to briefly explain, as best as I can, why these web-based APIs are so important to understand principly because business people really should be asking for them because they are so useful and save tons of time and money.
Consider this API documentation: http://developer.zoominfo.com/ Please don't think about what the API provides in this case which is an interface into ZOOMINFO contact information. This has nothing to do with ZoomInfo. I am only using this web page as an example because the documentation of the API is so good. If you take a look at the documentation, you will get a good idea what web-based API is and what you can do with it. Look at it, particularly the documentation page.
Here is another simple web-based API: http://www.xbrlsite.com/EarningsEstimate/ I created this 5 or so years ago when I was learning about these web-based APIs. This was modeled after another API which I was given access to. This API works, you can change the parameters in the URL and different data will come in the XML documents which are returned based on the information you provide. Again, this is just a demo, a prototype.
Why is this so important to understand? Well, this is important because it changes the way a lot of things can be done. This sort of web-based API provides information which a computer application can communicate with, performing tasks which, if the API did not exist, humans would have to perform.
Why should you have to go to a web page, look at it, then manually grap information by reading it or copying and then pasting the information into an application or Excel spreadsheet? Here is an example of what I am talking about. I am consciously picking an example that has nothing to do with financial reporting. Take a look at the CIA World Fact Book.
When you click on the link above, you go to the "Afghanistan" page of that book. Scroll down and look at the GDP (Gross Domestic Product, purchasing power parity). Imagine that you wanted that information for each country for some model you maintained in an Excel spreadsheet. No problem, the CIA using our tax payer dollars provides that information here. You can probably dink around with that, tweak it, and get it into your model. It would take time, but it can be done. But what if you wanted some relationship that they did not provide you in one of their lists? Say, the relation between GDP and the number of cell phone users? Or whatever.
What if you did not have to go through this cut and paste process? What if you could write a rather simple query and get the information returned exactly where you wanted it in your spreadsheet? What if your model needed data from the CIA World Fact Book and from the Rick Steves Travel Guide used together. Copying and pasting really does not cut it.
In the early days of the internet people trying to get information went through a process known as "screen scraping" trying to get information from a web site and use that information some place else. The process is complicated and error prone.
Edgar Online uses a somewhat similar approach to grabbing information from the filings of public companies. They do this by reading in the SGML or HTML filings and then parsing the information trying to glean useful bits and make it available to those that want the information. This parsing is complicated and expensive.
Others simply read the information and rekey it into databases.
But XBRL changes all that. You don't have to rekey information, you can simply ask for information and some piece of software will go get the information you are looking for you and return it. But how is that software going to present that information to you? In the form of a web page which you can rekey into some Excel model?
No, or hopefully not. Hopefully there will be some API interface provided by the SEC, like the one ZoomInfo provides (and as well documented hopefully). The FDIC provides an interface into the information they collect from banks, although I have been having trouble figuring out how to use it.
Imagine the possibilities:
I am sure you can think of some better examples. The bottom line here is that web-based APIs which access information or processes will dramatically change how things get done.