A set of rules and protocols for building and interacting with software applications. Often used to connect your website allowing it to communicate with software via the internet.