What is an API (application programming interface)?
Definition and Examples
A lot of people who work in technology have an intuitive understanding of what an API (application programming interface) is — but if you asked them to define it, they might have trouble putting an explanation into words. In simple terms, an API is both a piece of software running on a networked server and a component of programming code.
APIs are standards for application data interchange, just as protocols are standards for network data interchange. Without them, software developers would have a much harder time writing code to get information from platforms they want to access.
When running on a server, an API is a set of coded routines that receives requests from and sends responses to other programs. API designers implement that code through standardized programming statements that expose functions that make sense for accessing the platform in question.
For example, suppose you wanted to incorporate a map to your business on your website, or display a list of your latest tweets. You can’t directly access Google Maps or Twitter — the code that runs those sites sits on Google and Twitter servers. But those platforms provide APIs that let authorized users retrieve data from their sites.
The Google Maps API and Twitter API may be among the most widely used examples, because those services are so popular, but most software-as-a-service (SaaS) providers offer APIs that let developers write code that posts data to and retrieves data from the provider’s site as well.
Each call that’s a part of these APIs has a defined syntax, and each vendor that provides an API documents its syntax, usually on their site, or sometimes on sites like GitHub or ProgrammableWeb.
Most APIs have several methods, or operations, that allow developers to create, retrieve, update, and delete data. The verbs used to implement these methods are, respectively, POST, GET, PUT, and DELETE. Each method generally takes a payload in the form of a file in a defined format (usually JSON or XML) that contains the data to be operated on, and use a URI (Uniform Resource Identifier) that acts as an address where the API can interact with the calling program.
How does that look in practice? Let’s look at a Talend API as an example. The Stitch Import API lets developers send data from an arbitrary source to the Stitch data pipeline. You can push a single record through the Stitch data pipeline with a POST API call:
<pre> curl -X "POST" " https://api.stitchdata.com/v2/import/batch" \
-H 'Authorization: Bearer [ACCESS_TOKEN]' \
-H 'Content-Type: application/json' \
APIs are useful because they make software developers more productive. Without them, all developers would have to write and then maintain their own code to access remote resources. Having a standard way to read from and write to those resources makes the platform that provides the API more accessible and more attractive to developers, and therefore increases the likelihood that third parties will use and exchange data with their platform.
History of APIs
APIs have been around longer than the World Wide Web — for several decades, in fact. They became more popular with the rise of network computing, when server-based application vendors and operating systems needed standard ways to allow clients to accessed server resources.
As the Web became ubiquitous, APIs moved into web development. Salesforce introduced the first web APIs when it launched in 2000.
Many of these early APIs relied on SOAP — Simple Object Access Protocol. “Simple” was a misnomer. SOAP relies on XML documents and remote procedure calls (RPC). Developers had to concern themselves with things like transport bindings, operation names, and endpoint URIs. No one set standards for API design, so SOAP APIs were hard to maintain.
An alternative, CORBA (Common Object Request Broker Architecture), defined by the Object Management Group (OMG), was even more complex.
Recognizing the need for simplicity, computer scientist Roy Fielding proposed representational state transfer (REST) in his Ph.D. thesis as “an abstraction of the architectural elements within a distributed hypermedia system” — namely the World Wide Web. It provides roles for a user agent (commonly a web browser), an origin server that provides access to web services, and intermediary components that forward requests and responses. RESTful web services allow requesting systems to access and manipulate representations of web resources by using a uniform, predefined set of stateless operations. Stateless just means that the web services don’t retain session information from one request to another.
eBay launched the first REST API in 2002, and quickly proved the wisdom of allowing developers who worked outside the company to add value to eBay’s platform. Since that time software development teams have written APIs not just for web-based services, but for social media, mobile applications, and hardware devices (the internet of things, or IoT), among other platforms. Nowadays almost vendors’ APIs are REST-based APIs.
Most APIs are public APIs. After all, if developers outside your organization can’t use your API, how much value does it have? But some organizations keep their APIs private and share them only with paying partners.
APIs are also a key tool for application integration. Application integration is a means of enabling applications and systems from different vendors to involve each other in their workflows, so that, for example, you can enter data in one application and have it automatically available in other platforms.
An API integration serves as the connection between two applications, letting them exchange data. APIs allow developers to sync data between multiple platforms. API integration is what does the work when, for example, you enter a new contact in Salesforce and it auto-populates to Marketo as well.
A key advantage of API integration is that it automates data sharing in a secure process, and therefore helps maintain data integrity between platforms.
To create APIs, businesses turn to API management software. API management tools foster creating and publishing APIs, enforcing usage policies, controlling access, collecting and analyzing usage statistics, and reporting on performance. Both commercial and open source API management tools are available. You can read more about them.
Talend API Services
Many organizations see the value of offering APIs to let outside developers interact with their platforms, but designing and documenting APIs can be a major project that takes months of developer time (and often calendar time as well) and costs tens of thousands of dollars.
Rather than start from scratch, businesses can use Talend API Services to do the heavy lifting. It lets developers collaborate to create and test new APIs with visual design tools. We’d be happy to give you a demo and show you what Talend API Services can do for you.