API란 'Application Programming Interface'의 약자로, 프로그램 A와 프로그램 B가 서로 통신할 때, 프로그램 A가 프로그램 B에게 무엇을 요청하고, B가 어던 응답을 보내야 하는지 정해진 규칙이 필요한데 이 규칙을 정의하는 것이 바로 API이다. 따라서 API는 프로그램 A와 프로그램 B가 서로 어떤 데이터를 주고받고, 어떤 동작을 수행할 수 있는지 명확하게 정의하고 이를 기반으로 프로그램 A와 B가 서로 상호작용할 수 있게 도와준다.
다시말해, API는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말한다.
정말 쉽게 설명하자면, API는 레스토랑의 서버와 같다. 웨이터가 주문을 받아 주방으로 가져가 음식을 준비하는 것처럼 API는 한 컴퓨터 프로그램에서 요청을 받아 다른 프로그램에 전달하여 응답을 받는다. API는 웨이터가 주방 직원과 소통하는 방법을 알고 있는 것처럼 두 프로그램이 서로 대화하는 방법을 정의한다. 이를 통해 서로 다른 프로그램이 함께 작동하고 서로 정보를 공유할 수 있다.
인터페이스란 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. 터치 스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신 할 수 있으며, 마우스나 마이크와 같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다.
즉 인터페이스는 말 그래도 어떤 기계간의 장치끼리 정보를 교환하기 위한 수단이나, 방법을 의미한다. 예를 들어서 우리가 집에서 TV를 켜기 위해 리모콘을 들고 TV 리모콘 전원 버튼을 누름으로써 TV가 켜지게 된다. 쉽게 말해 사전에 TV와 통신을 하기 위해서 리모콘에서는 TV에 정의된 규격에 의해 어떤 신호를 보낼 수 있도록 만들어진 장치이며, 이러한 신호를 서로 주고 받기 위한 방법을 인터페이스라고 한다.
말 그래도, 기상청에서 수집하고 있는 정보를 사용자에게 쉽게 제공하기 위한 목적으로 만들어진 사이트이다. 사이트에 접속해보면 낙뢰정보, 태풍정보 등 다양한 정보를 제공하고 있는 것을 확인해볼 수 있다.

상세화면에서 Zip 파일을 다운받고 나면, 해당 API를 제공하는 목적 그리고, 활용하는 방법들에 대한 자세한 설명이 있는 API 문서가 존재한다. 이러한 API 문서는 어떤 정보를 전달받기 위해 어떤 방식으로 요청해야하는지에 대한 내용, 그리고 응답 결과는 어떻게 이루어지는지에 대한 자세한 내용들이 기술되어 있다.

위 예제처럼 API는 어떤 응용프로그램이 자신이 가지고 있는 정보를 제공하기 위해 어떤 방식으로 통신할 것인지에 대한 규격을 만들게 되고, 이러한 규격을 API라고 표현한다.
따라서 API는 정보를 가지고 있는 주체에서 만들다보니, API를 사용하기 위한 개발자 입장에서는 어떠한 방식으로 요청해야 정상적인 데이터를 받을 수 있을지 알 수 없다. 그렇기 때문에 보통 API를 제공하는 입장에서 어떤 방식으로 요청해야 하는지에 대한 문서를 만들게되고, 이러한 문서를 API 규격서라고 한다.
개발자들이 흔히 업체쪽에서 API를 제공하지 않는다는 의미는, 업체쪽에서 가지고 있는 정보를 제공하지 않는다는 의미가 되고, API를 제공받기 위해서는 해당 업체쪽에서 규격을 만들어서 알려주어야 한다는 의미가 된다.
정보를 가지고 있는 입장에서 남들에게 정보를 제공하기 위해서 별도의 규격을 만들어야하고, 그 규격에 대한 설명 문서 또한 제작해야하는데 이는 너무 번거롭다. 그럼에도 불구하고 왜 대형 플랫폼들은 수많은 오픈 API를 제공하고 있을까?
예를 들어 페이스북이나 네이버, 카카오톡과 같은 대형 플랫폼에서는 대부분 간편 로그인 API 정보를 제공하고 있다. 간편 로그인 API의 목적은 사용자가 여러 사이트를 하나씩 가입하다보면, 너무 많은 사이트에 가입해야하는 단점이 있으니 누구나 사용하고 있는 대형 플랫폼의 가입정보를 공유함으로써 간편하게 회원가입을 할 수 있도록 설계된 API이다.
만약 내가 카카오톡 간편 로그인 기능을 여러 사이트를 가입했다고 가정해보자. 그러나 갑자기 카카오톡을 탈퇴하고 싶은 경우에는 카카오톡을 통해 가입했던 수많은 사이트 또한 포기해야하는 상황이 발생한다. 여기서 간편 로그인 기능을 제공함으로써 플랫폼 이탈율을 현저히 줄일 수 있기 때문에 애형 플랫폼들은 현재 대부분 간편 로그인 기능을 제공하고 있다.
공유 경제 시대가 흐르면서 정보를 독점하는것보다 공유함으로써 더 많은 이익을 가져갈 수 있는 생태계가 만들어지고 있으며 이러한 과정에서 다양한 오픈 API와 비공개 API가 존재하게되었다.
웹 API 또는 웹 서비스 API는 웹 서버와 웹 브라우저 간의 애플리케이션 처리 인터페이스이다. 모든 웹 서비스는 API이지만 모든 API가 웹 서비스는 아니다. 또한 역사적으로 API가 월드 와이드 웹 전에 만들어졌기 때문에 Java API, 서비스 API 등 다양한 용어가 존재한다.