API(Application Programming Interface)는 응용 프로그램이나 장치 간에 데이터나 기능을 주고받을 수 있도록 정의된 규약입니다. 주로 코딩, 데이터 수집 및 활용에 많이 사용되는데요. api란 무엇인지 자세히 알아보도록 하겠습니다.
1. API 이해하기
API를 이해하기 위한 첫걸음은 ‘인터페이스’의 개념을 파악하는 것입니다. 인터페이스란 서로 다른 두 개 이상의 대상이 소통하기 위한 접점을 의미합니다. 예를 들어, 자동차 문을 열기 위해 스마트키를 사용하는데, 이 스마트키가 자동차와 사람 사이의 인터페이스입니다. 또한 식당에서 음식을 주문하면 주방에서 만들고 종업원이 서빙을 하는데요. 이때도 음식을 서빙하는 종업원이 인터페이스의 역할을 합니다. 이와 같이 API는 우리가 원하는 정보나 서비스를 서버에서 가져오기 위해 사용되는 소통의 도구입니다.

2. API 형식 및 종류
API는 크게 Private API와 Public AP(Open API)로 나눌 수 있습니다. Private API는 회사, 개인이 만들어 사용하는 API로, 제3자에게 공개되지 않습니다. 반면 Public API 또는 Open API는 누구나 자유롭게 사용할 수 있도록 공개된 API입니다. 기상청 API, 유튜브 API, 구글 맵 API, Naver 광고 API, 쿠팡 파트너스 API, 알리익스프레스 API 등이 Public API의 대표적인 종류입니다. 이러한 Open API를 통해 다양한 서비스와 기능을 활용하여 새로운 애플리케이션, 웹 서비스를 개발할 수 있습니다.

3. API 사용 방법
API는 요청(Method), 자료(Endpoint), 파라미터 등의 정보를 포함하여 서버에 있는 정보를 요청합니다. API는 신청하지 않아도 사용할 수 있는 것과, 신청 후 API 키를 발급받아야 사용할 수 있습니다. 대부분 과도한 요청을 피하기 위해 API 키를 신청해야 하며, 사용하는 서비스에 따라 무료와 유료로 구분됩니다.

1) API 요청 정보
API는 다양한 서비스를 제공하며, 요청하는 방법도 다양한데요. 일반적으로 Endpoint, 요청 방식, 파라미터, 인증 방식 등을 조합하여 URL을 생성하고 결과(Response)를 수신합니다. 하지만 정확한 API 요청 방법은 해당 API 공식 문서를 참고해야 합니다. 또한 API 종류에 따라 버전을 명시하기도 합니다.
- 요청(Method): 어떤 작업을 요청할 것인지 (예: 데이터 가져오기, 데이터 저장하기)를 명시합니다.
- 자료(Endpoint): 요청할 자료의 위치를 나타내는 URL과 같은 형식입니다.
- 파라미터: 요청과 함께 추가적으로 전달할 정보 (예: 사용자 ID, 검색 키워드)입니다.
- 인증 방식 : API 키, OAuth 2.0 등

2) 실제 요청 예시 (Python)
import requests
api_url = "https://api.openweathermap.org/data/2.5/weather"
params = {
"q": "Seoul",
"appid": "여기에_API_키_입력",
"units": "metric"
}
response = requests.get(api_url, params=params)
print(response.json()['main']['temp']) # 서울의 현재 기온 출력
3) 응답 처리
파이썬, 자바스크립트, HTML 등을 이용하여 API를 요청하면 해당 결과를 확인할 수 있는데요. 실패하게 되면 400번대, 500번대 에러 코드가 발생합니다. 에러 코드가 발생하면 요청 URL 생성에 문제가 있을 수 있으니 인증 방식, 파라미터, ENDPOINT 등을 확인해서 수정합니다. 응답한 결과는 대부분 JSON 형식의 결과를 수신하며, 원하는 키를 호출하면 값을 확인할 수 있습니다. JSON 파일 파싱하는 과정은 아래 크롤링을 다뤘던 포스팅에서 확인하세요.
4. API 주요 활용 분야
1) 웹 서비스 연동
- 소셜 로그인(네이버, 카카오)
- 결제 시스템(토스, KG 이니시스)
- 지도 서비스(네이버 지도, Google Maps)
2) AI 서비스 연동
3) 데이터 수집
- 공공데이터포털(기상청, 통계청)
- 금융 데이터(환율, 주식 시세)
- SNS 트렌드 분석(트위터, 인스타그램)
4) 그밖에 API
유튜브, 클라우드(구글 드라이브), 스마트홈 기기 제어, 산업용 장비 모니터링, 차량 원격 진단, 이미지 분석(OCR), 이미지 최적화, 광고 정보(네이버 광고센터, 구글 애드센스), 쇼핑 및 제품 정보(네이버, 쿠팡, 알리익스프레스, 다나와)등 다양한 종류의 API가 있습니다.
마치며
코딩 초보자를 위한 API가 무엇이며, API 종류에 대해서 간단히 살펴보았습니다. API는 원하는 정보를 빠르고 쉽게 대량으로 확인하고 처리할 수 있는 장점이 있습니다. 구현하고자 하는 앱, 웹 서비스를 개발할 때 사용할 수 있는 다양한 정보를 제공하는 API가 많습니다. 서비스에 따라 유료이거나 일정 사용량은 무료로 사용할 수 있는 API가 있으니 해당 내용을 꼭 확인해보시기 바랍니다. 또한 코딩을 통해 자동화를 구현하거나 서비스를 개발할 때도 API 사용을 많이 사용하니 꼭 이해하시고 사용해 보시기 바랍니다.
