- Web sites/applications as diverse as Twitter, Flickr, Amazon, YouTube, Drop Box and The Guardian.
Many libraries include API functionality, so you don't have to use the raw API. For APIs like XHR and Web Socket, you would use the API through a library like jQuery rather than spin up your own HTTP request or build in your own socket layer.
Note: If you are completely new to web development, you may want to review Web development for beginners.
Most of the APIs, however, are designed to be used right in your own code. Below are listed all of the APIs currently documented here.
List of all APIs
|appcache||In order to enable users to continue interacting with Web applications and documents even when their network connection is unavailable — for instance, because they are traveling outside of their ISP's coverage area — authors can provide a manifest which lists the files that are needed for the Web application to work offline and which causes the user's browser to keep a copy of the files for use offline.|
|audio-video||HTML5 audio-video elements used for enhancing the Web page experience with audio backgrounds, music, videos, presentations, etc. Also see "Related articles" below.|
|Battery Status API||Provides information about the battery status of the hosting device.|
|canvas||Allows applications to render pixel-based graphics within a canvas element using a two-dimensional graphics context.|
|CSS Regions API||Programmatic interface to content that flows through a series of chained region elements.|
|File System API||The File System API simulates a local file system that web apps can navigate around. You can develop apps that can read, write, and create files and directories in a virtual, sandboxed file system. The asynchronous API methods return without blocking the calling thread. The asynchronous API doesn't give you data by returning values; instead, you have to pass a callback function. The synchronous API is intended to be used with WebWorkers.|
|gamepad||The Gamepad specification defines a low-level interface that represents gamepad devices.|
|IndexedDB reference||IndexedDB is a client side storage API that persists data in a user's browser. It is a transactional, non-relational storage mechanism that saves key-value pairs in Object Stores and allows searching data using indexes.|
|Media Capture and Streams||Enables access to local devices (video cameras, microphones, Web cams) that can generate multimedia stream data (video, audio, or both).|
|MediaStream Recording||Allows users to record camera/microphone's streams|
|Media Source Extensions||Provides a buffer based source for HTML5 Video elements to enable media streams for playback, for features like adaptive streaming and shifting live streams.|
|navigation timing||An interface for web applications to access timing information related to navigation and elements.|
|Network Information API||Provides an interface for web applications to access the underlying connection information of the device.|
|quota management||Manages usage and availability of local storage resources, and defines a means by which a user agent may grant Web applications permission to use more local space, temporarily or persistently, via various storage APIs.|
|resource timing||An interface for web applications to access the complete timing information for resources in a document.|
|user timing||This API defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.|
|Vibration API||The Vibration API provides access to the vibration mechanism of the hosting device. Vibration is a form of tactile feedback, often used by mobile phones.|
|web-messaging API||This API defines mechanisms for communicating between browsing contexts in HTML documents.|
|web-storage API||The Web Storage API provides objects for storing temporary and permanent data on the client's device.|
|WebRTC API||Enables real-time communication across the web.|
|workers API||Workers (also commonly referred to as Web Workers) are scripts that run in the background independently of any user interface scripts. This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive.|
Contributing to the API documentation
Contributing to the HTML technology
To contribute to the development of APIs and provide feedback, you need to know where the specification and/or source code is kept. For example, you can find out how to comment on the HTML5 APIs by consulting the W3C HTML home page, or suggest fixes to Modernizr via the Modernizr Github repo.