Here I am simply trying to make things easy by collecting information and placing it together for the beginners or new developers to read and learn on self.
API – Application Programming Interface is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionality that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.
In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can ease the work of programming GUI components. For example, an API can facilitate integration of new features into existing applications (a so-called “plug-in API”). An API can also assist otherwise distinct applications with sharing data, which can help to integrate and enhance the functionalities of the applications.
APIs often come in the form of a library that includes specifications for routines, data structures, object classes, and variables. In other cases, notably SOAP and REST services, an API is simply a specification of remote calls exposed to the API consumers.
An API specification can take many forms, including an International Standard, such as POSIX, vendor documentation, such as the Microsoft Windows API, or the libraries of a programming language, e.g., Standard Template Library in C++ or Java API.
There are many different types of APIs for operating systems, applications or for websites. Windows, for example, has many API sets that are used by system hardware and applications — when you copy and paste text from one application to another, it is the API that allows that to work.
Most operating environments, such as MS-Windows, provide an API so that programmers can write applications consistent with the operating environment. Today, APIs are also specified by websites. For example, Amazon or eBay APIs allow developers to use the existing retail infrastructure to create specialized web stores. Third-party software developers also use Web APIs to create software solutions for end-users.
Few Popular Examples of API
Programmable Web, a site that tracks more than 9,000 APIs, lists Google Maps, Twitter, YouTube, Flickr and Amazon Product Advertising as the most popular APIs (view all sorted by popularity).
- YouTube APIs: 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.
- Flickr API: The Flickr API is used by developers to access the Flick photo sharing community data. The Flickr API consists of a set of callable methods, and some API endpoints.
- Twitter APIs: Twitter offers two APIs. The REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data.
- 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.
How APIs Work
These days, APIs are especially important because they dictate how developers can create new apps that tap into big Web services social networks like Facebook, Pinterest or Twitter, for instance, or utilities like Google Maps or Dropbox. For example, the developer of a game app, can use the Dropbox API to let users store their saved games in the Dropbox cloud instead of working out some other cloud storage option from scratch.
This means we can say that APIs are great time savers. They also offer user convenience in many cases; Facebook users undoubtedly appreciate the ability to sign into many apps and Web sites using their Facebook ID, a feature that relies upon Facebook APIs to work.
APIs thus make possible a sprawling array of Web-service “mashups,” in which developers use mix and match APIs from the likes of Google or Facebook or Twitter to create entirely new apps and services of their own. In many ways, the widespread availability of APIs for major services is what has made the modern Web experience more easy and possible.