API 是 Application Programming Interface 三個單詞首字母的縮寫,中文含義為應用程序編程接口。API 的組件包括調用、密鑰、端點。API 調用是客戶端應用程序轉發到服務器的請求。API 端點就像一個入口,里面有搶手的資源(數據或功能)。終端節點檢查 API 密鑰,如果獲得批準,則發回響應,其中包含有關操作狀態(錯誤或成功)和請求的資源的信息。
所有的 API 都包含一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
有兩種類型的公共 API – 開放 (免費) 和商業 API。商業 API 用戶支付訂閱費或按量付費使用 API。開放公共 API 是指所有功能都公開且可供使用而沒有限制性條款和條件的 API。例如,可以構建一個使用 API 的應用程序,而無需 API 供應商的明確批準或強制性許可費用。
API 的出現讓應用程序開發人員得以調用一組例程功能,而無須考慮其底層的源代碼為何、或理解其內部工作機制的細節。API本身是抽象的,它僅定義了一個接口,而不涉及應用程序在實際實現過程中的具體操作。
API可讓程序員做很多任務作,譬如“讀取文件”、“顯示菜單”、“在視窗中顯示網頁”等等。操作系統的API可用來分配存儲器或讀取文件。許多系統應用程序借由API接口來實現,像是圖形系統、數據庫、網絡Web服務,甚至是在線游戲。
API通常通過客戶端和服務器之間的請求-響應通信來表達。客戶端是用戶與之交互的任何前端應用程序。服務器負責后端邏輯和數據庫操作。在這種情況下,API 充當客戶端和服務器之間的中間層,從而可以發送數據請求和響應。

應用程序編程接口必須與用戶界面明確區分開來。用戶界面接受來自用戶的數據,將其轉發到 API 進行處理,并將結果返回給用戶。API 不與用戶交互,而是處理從一個程序模塊接收的數據,并將結果傳回另一個模塊。
例如,在京東上下單付款,通過順豐發貨,然后就可以在京東上實時查看當前的物流信息,這就用到了 API。背后的原理,當查看快遞信息時,京東利用順豐提供的API接口,實時調取信息呈現在自己的網站上。實際上只要被允許,別的公司都可以通過順豐提供的API接口調取到快遞信息。