brunch

You can make anything
by writing

C.S.Lewis

by 김은미 Mar 29. 2022

네이버가 API를 공짜로 쓸 수 있게 하는 이유

[코드스테이츠 PMB 10기] 오픈 API 탐색하기


오픈 API와
식물 생태계는
닮은점이 많다






1. API, 많이 들어보긴 했는데…



오늘도 낯설기 짝이 없는 개발 지식을 나만의 언어로 바꾸기 위해 <비전공자를 위한 이해할 수 있는 IT 지식>(참고)의 내용을 빌려오기로 했다. 사실 이 포스팅은 PMB 7주차에 완료했어야 하는 것인데, 일정 문제로 10주차인 오늘까지 미루게 되었다. 그래서 개발 지식을 쭉쭉 학습하던 그때에 비해 글이 잘 써질런지는 모르겠지만... 그래도 오늘도 도전!




API는 연결점이다



API하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스를 의미한다. 클라이언트-서버와 같이 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있도록 만든 체계이다. 쉽게 말해 API는 한 소프트웨어가 다른 소프트웨어의 기능을 사용하기 위하여 중간에 존재하는 연결점이다.


위 사진처럼 식당에서 고객이 음식을 주문하면 점원을 거쳐 주방으로 주문이 전달되는 것과 비슷하다. 일반적으로 프론트엔드와 백엔드 개발을 진행할 때, 서버와 클라이언트가 서로 정보를 어떻게 주고받을지에 대해 API의 형태로 미리 정의하고 개발하는 것이 일반적이다. 또, 웹 기반 서비스의 경우 웹 주소형식을 통해 정보를 요청하고 전달 받는 방식을 주로 사용한다.




RESTful API는 약속이다


과거에는 주로 웹을 이용하기 위해 컴퓨터의 웹 브라우저를 사용했을 때는 단순히 하나의 브라우저만 지원하면 되었다. 그런데 최근 서비스 개발 흐름이 멀티 플랫폼(멀티 디바이스)로 넘어오면서 개발자가 브라우저뿐만 아니라 애플리케이션까지 고려해야 하는 상황이 발생했다.


이때 RESTful API란 일정한 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스의 대표적인 방식 중 하나로, 범용적인 사용성을 보장하기에 개발자들이 두루 사용하고 있다. "일일이 처리하기 귀찮으니까 우리 이걸로 통일해서 쓰자!"라는 일종의 약속인 셈이다.




오픈 API는 열매


그렇다면 오픈 API라는 것은 왜 존재하는 걸까? 오픈 API는 이름에서도 유추할 수 있듯 하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스이다. 한마디로 모두에게 열려 있는 API라는 뜻이다. 유명 기업들이 잘 설계해놓은 자신들의 API를 누구에게나 오픈하는 이유는 무엇일까?


출처 = https://blog.daum.net/flowlove55/5687


그건 자사의 API를 다양한 서비스에서 활용하도록 하여 서비스의 저변을 넓히기 위해서이다. API를 제공받는 기업은 유용한 API를 쓸 수 있고, API를 제공하는 기업은 자신들의 서비스를 더 널리 알릴 수 있는 윈-윈 전략인 셈이다. 동물이 맛있는 열매를 먹게 하여 씨를 널리 퍼뜨리도록 하는 식물 생태계의 모습과 닮은 것 같기도 하다.


대기업들의 시장 확대라는 목적 이외에도 공공의 목적으로 비영리기관에서 무료로 API를 제공하는 경우도 있다. 그러나 오늘은 대기업 중의 대기업, 네이버의 오픈 API를 살펴보면서 내가 추후에 서비스를 기획할 때 활용할 수 있는 부분을 파악해보려고 한다! (^-^v)






2. 네이버의 오픈 API



네이버의 오픈 API는 네이버 개발자센터 NAVER Developers에서 만나볼 수 있다. 홈페이지 내 소개에 따르면 네이버 오픈 API네이버 플랫폼의 기능을 외부 개발자가 쉽게 이용할 수 있게 웹 또는 SDK 형태로 공개한 기술들을 말한다.



네이버는 2022년 3월 현재 위와 같은 오픈 API를 제공 중이다. API에 따라 일정 횟수에 따른 호출제한이 걸려 있기도 하고, 서비스 이용 약관(참고)에 따라 제한되는 부분도 존재한다. 따라서 네이버 오픈 API를 활용해 서비스를 개발하고자 할 경우에는 홈페이지를 자세히 확인해야 한다.



위와 같은 오픈 API들은 크게 네 가지 카테고리로 분류된다. 네이버가 개발 및 서비스하고 있는 인공지능 플랫폼 CLOVA, 네이버가 아닌 다른 서비스에서 네이버의 사용자 인증 기능을 이용할 수 있게 하는 서비스 네이버 로그인, 다국어 언어 처리에 대한 네이버의 기술과 경험을 적용해 보다 정확한 번역 결과를 제공하는 파파고, 그밖의 서비스 API로 구분한다.




네이버 데이터랩



나는 네이버의 여러 가지 오픈 API 중에서도 서비스 API의 하위 항목인 데이터랩에 관심이 갔다. 아무래도 이전 포스팅(참고)에서 PM의 역량 중 하나인 데이터 리터러시를 학습한 적이 있기 때문일까...? 과연 네이버에서는 어떠한 데이터셋과 오픈 API를 제공하고 있을지 궁금했다.


네이버 데이터랩에서는 통합검색어 트렌드쇼핑인사이트라는 두 개의 오픈 API가 제공된다.


먼저, 통합검색어 트렌드네이버 통합검색에서 발생하는 검색어를 연령별, 성별, 기기별(PC, 모바일)로 세분화해서 조회할 수 있는 API이다. 분석하고 싶은 주제군을 설정하면 설정한 주제군에 대해 기간을 일간, 주간, 월간 단위로 조회하는 등 세분화된 정보를 확인할 수 있다.


쇼핑인사이트네이버 통합검색의 쇼핑 영역과 네이버쇼핑 서비스의 검색 결과에서 사용자가 클릭한 데이터를 조회할 수 있는 API이다. 쇼핑 분야별, 연령별, 성별, 기기별(PC, 모바일)로 세분화된 사용자의 검색 클릭 트렌드를 조회할 수 있으며, 소상공인에게 도움을 주기 위해 개발되었다고 한다.



개발 가이드 페이지로 넘어가서 각각의 API에 대한 자세한 정보를 살펴봤다. 해당 페이지에서 통합 검색어 트렌드와 쇼핑인사이트 API가 RESTful API임을 확인할 수 있었다. 두 API 모두 비로그인 방식 오픈 API로, 네이버 오픈API를 호출할 때 HTTP 요청 헤더에 클라이언트 아이디와 클라이언트 시크릿 값만 전송해 사용할 수 있다.


위와 같은 오픈 API를 활용하면 다음과 같은 이점을 얻을 수 있다.


서비스 개발 시간을 단축할 수 있다.

서비스의 개인화가 가능해진다.

개발자가 복잡한 기능을 일일이 프로그래밍하지 않고도 원하는 서비스를 개발할 수 있다.

오픈 API를 조합하여 새로운 서비스를 개발하는 것이 가능하다.


이처럼 오픈 API는 구현하는 데에 시간과 비용이 많이 드는 기능을 직접 구현하지 않아도 된다는 이점을 갖고 있으므로, 특히 개인이나 소규모 개발 팀이 서비스를 개발하는 과정에서 큰 도움을 줄 수 있다. 물론 이미 만들어진 데이터 베이스를 사용하기 때문에 정보의 정확성이 떨어질 수 있다는 단점도 존재하지만, 이를 잘 고려하여 활용하면 큰 이득을 얻을 수 있을 것이다.






참고자료



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari