API (Application Programming Interface) е набор от готови функции, класове, константи за използване във външни програми. API изпълнява определени действия, като същевременно ви позволява напълно да се абстрахирате от това как механизмът за извършване на тези действия всъщност е реализиран.

Всъщност това е един вид черна кутия, от която програмистът може да получава данни, използвайки предоставените методи за достъп до тези данни.

API компонентите взаимодействат помежду си, образувайки йерархия между високо и ниско ниво, всеки от които използва функционалността на предишния, надлежащ компонент.

Да допуснем, за изображението на някакъв текст вие създавате файл с HTML маркировка и текст. След това браузърът поема. Той отваря файла, интерпретирайки HTML маркирането в разбираемо за потребителя представяне – от HTML код, който програмистът разбира, го преобразува във визуални елементи. Самият браузър е същата обикновена програма, която работи на операционната система на компютъра. Операционната система предава текста, показан в браузъра, на устройствата за извеждане на информация – мониторът, който от своя страна, използвайки сложни операции на ниско ниво, показва видимия текст на монитора. По време на изпълнението на тези действия се стартират функции на различни API, вариращи от високо ниво до ниско ниво, API на браузър и операционна система.

API ви позволява да получавате данни от една програма в друга, да ги обменяте с много други програми. Обикновено API е прието да се разделя на външни или публични, методи, които са достъпни за всички за използване, и вътрешни, или външни, които методи са затворени за употреба и могат да се използват само със строго определен достъп или само в рамките на самата програма. Например, почти всички операционни системи имат API, с помощта на които програмистите създават програми.

Някои разлики в API на множество операционни системи или отделни програми могат да затруднят пренасянето на програми между други платформи. Затова има така наречените междинни API, които изпълняват функционално изпълнение по един и същи начин на различни платформи.