Learn something new every day More Info... by email
An application programming interface or API is a set of data structures, protocols, routines and tools for accessing a web-based software application. It provides all the building blocks for developing programs with ease. An application programming interface may be language dependent or language independent. A language dependent API is available only in a particular programming language. Language independent APIs are not bound to a particular language, system or process. They can be called from several programming languages.
APIs run silently in the background. They are completely invisible to software users and web surfers. They're primary role is to provide a channel for applications to work with each other to make sure the user gets the required functionality and information.
For example, when a user buys a product online and enters his or her credit card information, the product website uses an API to send the credit card information to another application. The application verifies whether the information is correct or not. It then authorizes the product website to issue the purchased product after the information is verified and payment is confirmed. A website has many such applications that work together using APIs.
Application programming interfaces ensure that software developers do not have to start building applications from scratch. There is no need to build one application that performs every function. The application can transfer certain responsibilities to a remote application. Thus, APIs are similar to SaaS (Software as a Service).
A software company releases its API to programmers in the form of a software development kit (SDK). The SDK includes programming tools, the application programming interface and release documents to make the programmer’s job easier.
A company follows some publishing policies before releasing APIs to the developers, including:
I am new to API. Are there any free web search APIs that can be used by a beginner developer like me?