A set of rules and specifications that software programs can follow to communicate with each other, serving as an interface between different software applications to facilitate their interactions.