A set of functions and procedures allowing developers to create applications that access the features or data of an operating system, application, or other service.