An open API (often referred to as a public API) is a publicly available
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
that provides developers with programmatic access to a (possibly proprietary)
software application
Application software is any computer program that is intended for end-user use not computer operator, operating, system administration, administering or computer programming, programming the computer. An application (app, application program, sof ...
or
web service
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
. Open APIs are APIs that are published on the
internet
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
and are free to access by consumers.
Alternative Definitions
There is no universally accepted definition of the term "Open API" and it may be used to mean a variety of things in different contexts, including:
# An API for use by developers and other users with relatively few restrictions. It may require registration or enforce quotas and
rate-limits, but registration is free and open to all; or
# An API backed by
open data
Open data are data that are openly accessible, exploitable, editable and shareable by anyone for any purpose. Open data are generally licensed under an open license.
The goals of the open data movement are similar to those of other "open(-so ...
. Open data is freely available for everyone to use and republish as they wish, without restrictions from copyright, patents or other mechanisms of control; or
# An API based on an
open standard
An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
, which specifies the mechanism by which a consumer queries the API and interprets its responses.
Open API versus private API
Private API
A private API is an interface that opens parts of an organization's backend data and application functionality for use by developers working within (or contractors working for) that organization. Private APIs are only exposed to internal developers therefore the API publishers have total control over what and how applications are developed. Private APIs offer substantial benefits with regards to internal collaboration. Using a private API across an organization allows for greater shared awareness of the internal data models. As the developers are working for (or contracted by) one organization, communication will be more direct and therefore they should be able to work more cohesively as a group. Private APIs can significantly diminish the development time needed to manipulate and build internal systems that maximise productivity and create customer-facing applications that improve market reach and add value to existing offerings.
Private APIs can be made "private" in a number of ways. Most commonly the organization simply chooses not to document such an interface, such as in the case of undocumented functions of Microsoft Windows, which can be found by inspection of the symbol tables. Some Web-based APIs may be authenticated by keys, both discoverable by analysis of application traffic. macOS furthermore uses an "entitlement", granted only by digital signature, to control access to private APIs in the system.
Private APIs are by definition without any guarantee to the third-party developer choosing to uncover and use them. Nevertheless, the use of undocumented functions on Microsoft Windows have become so widespread that the system needs to preserve old behaviors for specific programs using the "AppCompat" database.
Open API
In contrast to a private API, an open API is publicly available for all developers to access. They allow developers, outside of an organization's workforce, to access backend data that can then be used to enhance their own applications. Open APIs can significantly increase revenue without the business having to invest in hiring new developers making them a very profitable software application. However, opening back end information to the public can create a range of security and management challenges. For example, publishing open APIs can make it harder for organisations to control the experience end users have with their information assets. Open API publishers cannot assume client apps built on their APIs will offer a good user experience. Furthermore, they cannot fully ensure that client apps maintain the look and feel of their corporate branding.
Open APIs in business
Open APIs can be used by businesses seeking to leverage the ever-growing community of freelancing developers who have the ability to create innovative applications that add value to their core business. Open APIs are favoured in the business sphere as they simultaneously increase the production of new ideas without investing directly in development efforts. Businesses often tailor their APIs to target specific developer audiences that they feel will be most effective in creating valuable new applications. However, an API can significantly diminish an application's functionality if it is overloaded with features.

For example, Yahoo's open search API allows developers to integrate
Yahoo
Yahoo (, styled yahoo''!'' in its logo) is an American web portal that provides the search engine Yahoo Search and related services including My Yahoo, Yahoo Mail, Yahoo News, Yahoo Finance, Yahoo Sports, y!entertainment, yahoo!life, an ...
search into their own software applications. The addition of this API provides search functionality to the developer's application whilst also increasing search traffic for Yahoo's search engine hence benefitting both parties. With respect to
Facebook
Facebook is a social media and social networking service owned by the American technology conglomerate Meta Platforms, Meta. Created in 2004 by Mark Zuckerberg with four other Harvard College students and roommates, Eduardo Saverin, Andre ...
and
Twitter
Twitter, officially known as X since 2023, is an American microblogging and social networking service. It is one of the world's largest social media platforms and one of the most-visited websites. Users can share short text messages, image ...
, we can see how third parties have enriched these services with their own code. For example, the ability to create an account on an external site/app using your Facebook credentials is made possible using Facebook's open API.
Many large technology firms, such as Twitter,
LinkedIn
LinkedIn () is an American business and employment-oriented Social networking service, social network. It was launched on May 5, 2003 by Reid Hoffman and Eric Ly. Since December 2016, LinkedIn has been a wholly owned subsidiary of Microsoft. ...
and Facebook, allow the use of their service by third parties and
competitors
Competition is a rivalry where two or more parties strive for a common goal which cannot be shared: where one's gain is the other's loss (an example of which is a zero-sum game). Competition can arise between entities such as organisms, indi ...
.
Open APIs on the Web
With the rise in prominence of
HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
and Web 2.0, the modern browsing experience has become interactive and dynamic and this has, in part, been accelerated through the use of open APIs. Some open APIs fetch data from the database behind a website and these are called Web APIs. For example, Google's YouTube API allows developers to integrate YouTube into their applications by providing the capability to search for videos, retrieve standard feeds, and see related content.
Web APIs are used for exchanging information with a website either by receiving or by sending data. When a web API fetches data from a website, the application makes a HTTP request to the server the site is stored on. The server then sends data back in a format your application expects (if you requested data) or incorporates your changes to the website (if you sent data).
See also
*
OpenAPI Specification
The OpenAPI Specification, previously known as the Swagger Specification, is a Specification (technical standard), specification for a Machine-readable medium, machine-readable interface definition language for describing, producing, consuming and ...
*
Application enablement
*
Open system (computing)
Open systems are computer systems that provide some combination of interoperability, software portability, portability, and open standard, open software standards. (It can also refer to specific installations that are configured to allow unrestric ...
*
Mashup (web application hybrid)
A mashup (computer industry jargon), in web development, is a web page or web application that uses content from more than one source to create a single new service displayed in a single graphical interface. For example, a user could combine the ...
*
Webhook
*
Web API
A web API is an application programming interface (API) for either a web server or a web browser.
As a web development concept, it can be related to a web application's client side (including any web frameworks being used).
A server-side web AP ...
External links
Open API Initiative (OAI) website Eclipse OpenAPI (OAS) Editor and StudioOpenAPI Editor and Test Studio Usage Wiki
References
{{Web interfaces
Application programming interfaces