금융AI · 2026

증권사 자동매매 API 비교 — 키움·KIS·토스

호출 제한이 전략을 결정합니다

세 개의 서버 노드 사이를 흐르는 주식 시장 데이터 스트림 일러스트
세 API의 갈림길은 기능 목록이 아니라 초당 몇 번 물어볼 수 있느냐입니다.

자동매매를 시작하려는 분이 가장 먼저 검색하는 게 "어느 증권사 API가 좋냐"입니다. 그런데 이 질문은 순서가 뒤집혀 있습니다. 먼저 답해야 할 건 내 전략이 1초에 몇 번 시세를 물어봐야 하는가입니다. 이 숫자가 정해지면 선택지는 저절로 좁혀집니다.

먼저 밝혀둘 것 — 이 글은 API의 기술 스펙과 개발 접근성만 비교합니다. 특정 종목·전략·수익률에 관한 판단은 다루지 않고, 자동매매가 수익을 보장하지 않는다는 점도 그대로입니다. 코드가 돌아가는 것과 전략이 유효한 것은 완전히 별개의 문제입니다.

1단계 — 내 전략의 호출 빈도를 먼저 센다

관심 종목이 70개이고 1초마다 현재가를 확인하는 전략이라면, 단순 계산으로 초당 70회 호출입니다. 어느 증권사도 이걸 REST로 받아주지 않습니다. 이 지점에서 방법은 셋뿐입니다.

  • WebSocket 구독으로 전환 — 물어보는 대신 밀어주는 방식. 실시간 전략의 정석입니다.
  • 폴링 주기를 늘린다 — 1초를 10초로 바꾸면 초당 7회. 전략이 견딜 수 있다면 가장 싼 해법입니다.
  • 종목 수를 줄인다 — 사전 필터링으로 감시 대상을 압축합니다.

세 가지 중 무엇을 택할 수 있느냐가 곧 API 선택입니다. 스펙표를 먼저 읽으면 이 순서가 보이지 않습니다.

2단계 — 세 곳의 실제 제약

구분키움 REST한국투자증권 KIS토스증권
인증앱키·시크릿 → 접근토큰앱키·시크릿 → 접근토큰OAuth 2.0 (client_id/secret)
토큰 만료보수적으로 23시간 캐싱 권장24시간 자동 만료토큰 엔드포인트로 갱신
호출 제한엔드포인트별 상이 · 초과 시 429국내 초당 20건 · 해외 초당 1건초당·분당 제한 있음
실시간WebSocket 구독WebSocket (세션 20개)미제공 — REST 폴링만
지원 OSWindows·macOS·Linux제약 없음 (표준 REST)제약 없음
커버리지국내 중심국내 + 미국·일본·중국 등국내 + 미국 (파생·채권 미지원)
레퍼런스한국어 자료 최다2022년부터 축적, 풍부2026년 신규 — 적음

키움은 영웅문 OpenAPI+ 시절부터 10년 넘게 쌓인 한국어 블로그·강의·깃허브 코드가 압도적입니다. 자동매매 제작 업체 알고랩은 국내 의뢰의 60% 이상이 키움이라고 밝히기도 했습니다. 다만 신 REST로 넘어오면서 OCX/COM 의존이 사라졌으므로, 예전 글의 코드를 그대로 복사하면 동작하지 않습니다.

3단계 — 호출 제한이 전략을 어떻게 자르나

KIS의 초당 20건, 그리고 해외의 초당 1건

KIS의 국내 초당 20건은 개인 전략 대부분에 충분합니다. 문제는 해외주식입니다. 초당 1건으로, 국내의 20분의 1입니다. "해외 커버리지가 가장 넓다"는 KIS의 대표 강점이 실행 단계에서 상당 부분 상쇄되는 지점입니다.

미국 주식 30종목을 감시하려면 한 바퀴 도는 데 30초가 걸린다는 뜻입니다. 일봉·주봉 기반 리밸런싱이라면 문제없고, 분 단위 대응이 필요하면 설계를 다시 해야 합니다.

키움의 429와 return_code 5

키움 REST는 제한을 넘기면 HTTP 429 또는 return_code: 5("허용된 요청 개수 초과")를 돌려줍니다. 레거시 OpenAPI+ 시절의 초당 약 5회 감각으로 코드를 짜면 바로 부딪힙니다. 토큰 캐싱, 요청 직렬화, 레이트 리미터는 선택이 아니라 기본 구성입니다.

실무에서 가장 흔한 사고 다섯 가지. 매 요청마다 토큰을 새로 발급받기 / 실전과 모의 도메인을 헷갈리기 / api-id 헤더 누락·오타 / WebSocket 재연결 로직 누락 / 요청 제한 초과. 다섯 개 중 넷은 첫날에 겪습니다. 초기 코드에 재시도와 백오프를 미리 넣어두면 대부분 피할 수 있습니다.

토스의 웹소켓 부재는 얼마나 치명적일까

토스증권 오픈API의 약점으로 항상 지목되는 게 웹소켓 미제공입니다. 실시간 시세를 구독할 수 없으니 REST 폴링만 가능하고, 초단타 거래에는 부적합하다는 결론이 따라붙습니다. 맞는 말입니다.

그런데 한 걸음 물러나서 보면 질문이 달라집니다. 개인이 실제로 돌리는 전략 중 초 단위 반응이 필요한 비중이 얼마나 될까요. 종가 기준 리밸런싱, 이동평균 교차, 분할 매수 스케줄 같은 형태라면 폴링으로 충분합니다. 오히려 웹소켓 재연결·순번 관리 같은 복잡도가 통째로 사라져 첫 봇을 완성할 확률이 올라갑니다.

토스는 발급 절차도 간단합니다. 공동인증서 없이 PC 웹에서 client_id·client_secret을 받고 앱 지문으로 승인하면 끝입니다. 문서가 AI 코딩 도구로 읽기 좋게 정리돼 있다는 평도 있고요. 대신 파생상품·채권·해외 기타 자산·재무데이터는 지원하지 않고, 계좌·주문 호출에는 X-Tossinvest-Account 헤더가 추가로 필요합니다.

정리하면 토스의 스펙 열세는 모두에게 치명적인 게 아니라, 초단타 전략에만 치명적입니다. 자기 전략이 어느 쪽인지 모른 채 "웹소켓 없다니까 탈락"으로 넘기면 가장 빨리 시작할 수 있는 선택지를 버리게 됩니다.

고르는 순서, 그리고 숫자를 믿기 전에

  • 국내 주식 + 한국어 자료 최대 + Windows 환경 → 키움. 레퍼런스 양이 압도적이라 막혔을 때 검색으로 풀립니다.
  • 해외주식 병행 + OS 자유 + 파생까지 → KIS. 단 해외 초당 1건을 전제로 주기를 설계하세요.
  • 국내·미국 주식만 + 빨리 첫 봇을 돌려보고 싶음 → 토스. 진입장벽이 가장 낮습니다.
  • 둘 다 필요 → 국내는 키움 REST, 해외는 KIS로 나누는 병행 구성도 흔합니다.

마지막으로 하나. 이 분야의 비교글에는 "몇 백 건 실측" 같은 표현이 자주 등장하는데, 측정 방법론이 함께 공개되는 경우는 드뭅니다. 앞서 인용한 60% 수치도 특정 업체의 의뢰 사례 통계이지 시장 점유율이 아닙니다. 숫자를 볼 때 그게 무엇을 센 숫자인지 한 번 되묻는 습관이, 자동매매에서는 특히 값을 합니다. 스펙 수치도 마찬가지라 최종 확인은 각 증권사 공식 개발자 문서에서 하시는 게 맞습니다.

아이디어를 현실로, 웹부터 AI 자동화까지 올인원 개발 파트너

HTTPS://JUNAI.AI

© 2026 주나이테크(주) @JUNAITECH