스마트폰 앱에서 카카오맵으로 길을 찾거나, 날씨 앱이 오늘 기온을 보여주거나, 쇼핑몰에서 카드 결제가 되는 것. 이 모든 기능은 앱이 혼자 만든 게 아니에요. 외부 서비스의 힘을 빌려온 겁니다. 그 연결 통로가 바로 API입니다.
데이터베이스가 정보를 저장하는 창고라면, API는 그 창고와 외부를 이어주는 창구예요. 바이브코딩으로 서비스를 만들 때 “지도 기능 붙여줘”, “결제 연동해줘”라고 AI에게 요청하는 순간 API가 등장합니다.
API란 — 소프트웨어끼리의 대화 규칙
MDN Web Docs에 따르면, API(Application Programming Interface)는 소프트웨어 프로그램이 서로 상호작용할 수 있게 해주는 기능과 규칙의 집합입니다.
쉬운 비유로는 음식점 메뉴판이 딱 맞아요. 손님(프론트엔드)은 주방(백엔드)에 직접 들어갈 수 없어요. 대신 메뉴판(API)에 적힌 항목만 주문할 수 있죠. “김치찌개 주세요”처럼 정해진 형식으로 요청하면, 주방은 요리를 만들어 내보냅니다. API도 마찬가지예요. 정해진 방식으로 요청하면, 서버가 정해진 형식으로 응답해줍니다.
가장 흔한 방식 — REST API
MDN의 정의에 따르면, REST(Representational State Transfer)는 효율적이고 확장 가능한 시스템을 만들기 위한 설계 원칙의 모음입니다. 오늘날 대부분의 웹 서비스 API가 이 방식을 따라요.
REST API는 네 가지 기본 동작으로 움직입니다. MDN HTTP 메서드 문서를 기준으로 정리하면:
- GET — 데이터를 가져온다. “이 사용자 정보 줘.”
- POST — 새 데이터를 만든다. “새 게시물 등록해줘.”
- PUT — 기존 데이터를 수정한다. “이 글 내용 바꿔줘.”
- DELETE — 데이터를 삭제한다. “이 댓글 지워줘.”
이 네 가지를 조합하면 거의 모든 기능을 표현할 수 있어요. CRUD(Create·Read·Update·Delete)라고도 불리는 이 패턴은 소프트웨어 개발의 가장 기본적인 뼈대입니다.
API 응답은 JSON으로 온다
API가 데이터를 돌려줄 때는 대부분 JSON(JavaScript Object Notation) 형식을 써요. 날씨 API를 호출하면 이런 식의 응답이 돌아옵니다.
{
"city": "Seoul",
"temperature": 18,
"weather": "맑음",
"humidity": 55
}이 데이터를 받아 화면에 표시하는 코드를 AI가 작성해줘요. JSON 구조를 한 번만 눈에 익혀두면, AI에게 “이 JSON에서 temperature 값만 꺼내서 보여줘”처럼 구체적으로 요청할 수 있어 결과물 정확도가 높아집니다.
실제로 이런 것들이 API로 연결됩니다
일상에서 API는 생각보다 훨씬 많이 쓰이고 있어요.
- 카카오맵 API — 내 앱에 지도와 장소 검색을 붙이고 싶을 때. 카카오 서버에 주소를 보내면 좌표와 지도 데이터를 돌려줘요.
- 날씨 API — 기상청이나 OpenWeatherMap에 도시 이름을 보내면 현재 온도·강수 확률을 JSON으로 받아볼 수 있어요.
- 결제 API — 토스페이먼츠 같은 결제 서비스가 20만 개 이상의 가맹점에서 쓰이는 방식이에요. 내 앱은 결제 로직을 직접 만들지 않고, 결제사 API를 호출하기만 하면 됩니다.
바이브코딩을 하면 AI가 이 API 연동 코드를 직접 써줍니다. “날씨 API 붙여서 오늘 날씨 보여줘”라고 하면, API 호출부터 화면 표시까지 한 번에 만들어줘요.
API 키와 인증 — 알아두면 막히지 않는다
대부분의 외부 API는 무제한으로 열려 있지 않아요. 누가 요청하는지 식별하고 사용량을 제한하기 위해 API 키(Key)를 씁니다. 카카오·네이버·OpenAI 등 거의 모든 서비스가 회원가입 후 API 키를 발급해줘요. 키를 요청에 함께 보내면 “이 사용자의 요청이구나”라고 서버가 인식하는 방식이에요.
바이브코딩 중 “API 키 어디에 넣어요?”라는 상황이 자주 생겨요. 코드에 직접 넣으면 보안 문제가 생길 수 있어서, AI에게 “API 키는 환경 변수(.env)로 관리해줘”라고 함께 요청하는 습관을 들이면 좋습니다.
API에는 요청 횟수 제한(Rate Limit)도 있어요. 무료 플랜에서는 분당 60회, 일 1,000회처럼 한도가 정해진 경우가 많습니다. 예상보다 빨리 한도에 걸리면 서비스가 멈출 수 있으니, API 문서에서 제한 조건을 미리 확인하는 게 좋아요.
바이브코딩에서 API를 알아야 하는 이유
AI에게 기능을 요청할 때, API의 개념을 알면 훨씬 정확하게 말할 수 있어요. “카카오 로그인 API로 소셜 로그인 만들어줘”처럼 구체적으로 요청하면 AI가 곧바로 올바른 코드를 작성해줍니다. “로그인 기능 넣어줘”처럼 막연하게 말하는 것과 결과물의 품질이 달라져요.
API는 서비스끼리 주고받는 표준 언어예요. 이미 잘 만들어진 기능을 빌려 쓰는 방식이기 때문에, 바이브코딩의 핵심 철학인 “처음부터 다 만들지 않는다”와 완벽하게 맞닿아 있습니다. 지도·결제·AI 기능을 처음부터 직접 만드는 사람은 없어요. API로 연결하는 것, 그 자체가 현대 개발의 방식입니다.
다음은 이 모든 것의 핵심 엔진 — LLM이 어떻게 코드를 만들어내는지 들여다보는 순서예요.
이 글은 MDN Web Docs, 카카오 Developers, 토스페이먼츠 개발자센터 등 공개 자료를 바탕으로 작성되었습니다.
댓글 0