소프트웨어 구성 요소 간의 상호 작용을 돕는 인터페이스이다. API는 일반적으로 개발자가 다른 소프트웨어 구성 요소와 상호작용할 수 있도록 하는 일련의 규칙, 프로토콜 및 도구를 제공한다. 이 규칙, 프로토콜 및 도구를 사용하여 소프트웨어 구성 요소는 다른 구성요소에 대한 요청을 보낼 수 있으며, 해당 요청에 대한 응답을 받을 수 있다.
웹 애플리케이션과 서비스를 구축하는 데 사용되는 소프트웨어 아키텍처 스타일이다. 그리고 API는 여러 아키텍처를 사용하여 설계할 수 있는데 REST 아키텍처 스타일을 따르는 API를 RESTful API라고 한다.
RESTful API의 기본은 클라이언트-서버 아키텍처이다. 클라이언트는 API문서에 따라 서버가 이해하는 방식으로 요청을 보낸다. 서버는 해당 요청을 수행할 권한이 클라이언트에게 있는지 확인하고 내부적으로 처리한 뒤 반환한다.