Pronounced as separate letters, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API also specifies how two or more programs interact with one another; any time a user copies information from one application and pastes it to another, for example, they are engaging a series of API protocols that operate between the two programs. A good API has detailed documentation that makes it easier to develop or refine a program by providing all of the building blocks that are then assembled or manipulated by a programmer.
Types of APIs
There are many types of APIs for operating systems, applications, or websites. Windows, for example, has many API sets that are used by system hardware and applications. Most operating systems provide open APIs so programmers can write applications that will be compatible with the current environment.
APIs can also be specified by websites; for example, Amazon and eBay APIs allow developers to use the existing retail infrastructure to create specialized web stores. Third-party software developers use web APIs to create software solutions for end-users, and developers use APIs to create applications for internal and commercial use.
There are thousands of APIs in use today, with new ones added with each new software launch or update. Some APIs are available for public use, whereas others might be strictly internal or limited in use between two or more partners. APIs can vary by architecture type (REST, SOAP, RPC, etc.), but are generally used for one of three purposes:
- System APIs access and maintain data. These types of APIs are responsible for managing all of the configurations within a system. To use an example, a system API unlocks data from a company’s billing database.
- Process APIs take the data accessed with system APIs and synthesize it to create a new way to view or act on data across systems. To continue the example, a process API would take the billing information and combine it with inventory information and other data to fulfill an order.
- Experience APIs add context to system and process APIs. These types of APIs make the information collected by system and process APIs understandable to a specified audience. Following the same example, an experience API could translate the data from the process and system APIs into an order status tracker that displays information about when the order was placed and when the customer should expect to receive it.
Common uses for APIs range in complexity from copying and pasting text to tracking market prices for blockchain and cryptocurrency. Popular API sets include:
- YouTube API: Google’s APIs lets developers integrate YouTube videos and functionality into websites or applications. YouTube APIs include the YouTube Analytics API, YouTube Data API, YouTube Live Streaming API, YouTube Player APIs and others.
- Twitter APIs: Twitter offers two APIs one for general Twitter content and another for Twitter advertising. The former enables programmatic access to tweets, direct messages, Twitter users, and other features. The latter connects developers to Twitter’s Ads platform to build programs around managing a campaign’s creative content, target audience, and overall performance analytics.
Amazon Product Advertising API: Amazon’s Product Advertising API gives developers access to Amazon’s product selection and discovery functionality to advertise Amazon products to monetize a website.