Application Programming Interface

An API is a set of
- functions headings,
- classes and their members (for an object-oriented language)
which are provided by a software library, a web service, an operating system, so they can be used by software.

The implementation of functions and classes, which may be hardware specific, is not a part of the API which is hardware independent.

Defining such an interface is not limited to libraries, an API can also be defined for a final application so it can communicate with other applications.

Characteristics of APIs

Dependence on language

An API can be used in a single programming language or be independent to languages. In the latter case an intermediate language like XML can be used for queries to the functions and methods.

Software license

It is free licensed and available without charge by any programmer, or proprietary licensed and accessible only to a restricted community, for example APIs for console games.

Language Level

There are high-level API in terms of programming language, such as graphics APIs or ABIs (Application Binary Interfaces) close to the system, like the Linux Standard Base, as the interface of hardware drivers.

Examples of APIs

Tools and Resources

Programming technologies Ajax - API - Cassandra - CIL - CLI - Cookie - Cover Flow - DFA - .NET - HTTP code - IDE - JavaFX - JNA - JSON - MySQL - NaCl - Protocol Buffers - Qt - REST - Servlet - Web 2.0 - WebGL - Webkit - WYSIWYG

(c) 2008-2009 Scriptol.com