260311 키움증권 REST API 투자정보 가이드
11 Mar 2026
260311 키움증권 REST API 투자정보 가이드
키움증권 계좌를 이미 쓰고 있는 개발자 관점에서 보면, 투자 자동화는 크게 두 층으로 나뉜다.
- 실행 계층: 계좌조회, 매수, 매도, 잔고 확인, 주문체결 확인
- 정보 계층: 주가, 채권 수익률, 공시, SEC 문서, 경제뉴스 수집과 요약
이 글은 2026년 3월 11일 기준 공개 문서를 바탕으로, 키움증권 REST API를 중심으로 실제로 어떤 구조로 투자 시스템을 짤 수 있는지 정리한 실무형 가이드다.
1. 키움증권 계좌를 쓰는 상황에서의 전체 그림
키움 REST API는 키움증권 계좌 보유 고객이 사용할 수 있는 공식 API다.
공식 안내에 따르면 실제투자와 모의투자는 App Key를 별도로 관리하고, OAuth 2.0 client_credentials 방식으로 접근토큰을 발급받는다. 또한 등록된 IP에서만 API 요청이 가능하다.
즉, 실전 구조는 보통 아래처럼 잡는다.
flowchart LR
A[키움증권 계좌 보유] --> B[REST API 서비스 신청]
B --> C[IP 등록]
C --> D[계좌 등록]
D --> E[App Key / Secret 발급]
E --> F[OAuth 토큰 발급]
F --> G[계좌조회 / 시세조회 / 주문]
G --> H[외부 데이터와 결합]
핵심 특징
- 공식 브로커 API라서 실제 주문 실행이 가능하다.
- REST 기반이라 Windows 전용 COM보다 언어/환경 제약이 적다.
- 모의투자 도메인도 별도로 제공된다.
- 계좌, 시세, 차트, 주문, 조건검색, 실시간 시세를 한 묶음으로 다룰 수 있다.
장점
- 키움 계좌를 직접 제어할 수 있어 자동매매 파이프라인의 마지막 단계에 적합하다.
- Python, JavaScript, Java 등 일반적인 HTTP 클라이언트로 사용 가능하다.
- 모의투자로 검증 후 실전 전환이 가능하다.
단점
- 키움 계좌와 신청 절차가 필요하다.
- IP 등록이 필요해서 서버 이전/재배포 때 운영 절차가 생긴다.
- 모의투자는 KRX만 지원된다고 공식 문서에 적혀 있다.
- 투자정보 조회는 가능하지만, “전 세계 뉴스/채권/거시지표”까지 모두 커버하는 데이터 플랫폼은 아니다.
2. 키움증권에서 채권은 어떻게 사나?
소개
키움에서 채권은 주식처럼 “아무 채권이나 REST로 바로 산다”기보다는 상품 종류와 거래 채널에 따라 접근 방식이 다르다.
공식 채권 안내를 보면:
- 해외채권은 온라인 중개신청 흐름이 존재한다.
- 외화채권은 결제 지연, 환율 위험, 유동성 위험, 중도환매 손실 가능성 등을 명시하고 있다.
- 키움 사이트는 채권/금융상품 전용 상담번호도 별도로 제공한다.
실무 해석
현재 공개된 키움 REST API 가이드는 주로 국내주식/금현물 중심으로 정리되어 있고, 공개 가이드에서 바로 확인되는 주문 카테고리도 주식과 금현물 위주다.
따라서 채권 매수는 REST 자동주문보다 HTS/MTS/웹 또는 전용 상품 채널로 처리하고, 자동화는 주로 채권 관련 정보 조회, 금리 조회, 포트폴리오 기록 관리 쪽에 두는 편이 현실적이다.
키움에서 채권을 접근하는 현실적 방법
- 해외채권 웹/모바일 중개신청
- HTS/MTS에서 채권 상품 탐색
- 금융상품 상담채널 문의
- 자동화는 직접 주문보다 보조 도구로 사용
예를 들어:
- 미국 국채 ETF 매수는 주식 REST 주문으로 자동화 가능
- 개별 해외채권 매수는 키움 상품 화면/중개신청으로 처리
- 채권금리/수익률/만기구조 모니터링은 외부 무료 API로 자동화
장점
- 키움 계좌 안에서 주식, ETF, 일부 채권성 상품까지 통합 운용이 쉽다.
- 해외채권 전용 안내와 온라인 중개신청 흐름이 있다.
단점
- 공개 REST 가이드만 보면 개별 채권 주문 자동화 범위가 제한적으로 보인다.
- 채권은 호가, 유동성, 결제 구조가 주식보다 복잡하다.
- 환율과 신용위험까지 동시에 관리해야 한다.
3. 키움 REST API 사용법
3-1. 소개
공식 API 가이드 기준 핵심은 다음 네 가지다.
- 운영 도메인:
https://api.kiwoom.com - 모의투자 도메인:
https://mockapi.kiwoom.com - 토큰 발급 URL:
/oauth2/token - 인증 방식: OAuth 2.0
client_credentials
3-2. 등록법
키움 REST API 서비스 이용안내 기준 절차:
- 키움증권 계좌 보유
- REST API 서비스 신청
- IP 등록
- 계좌 등록
- App Key / App Secret 다운로드
- 토큰 발급 후 API 호출
공식 문서상 주의점:
- 실제투자와 모의투자 App Key는 별도 관리
- IP는 최대 10개까지 등록 가능
- 계좌 등록은 실전/모의 각각 최대 20개까지 추가 가능
- App Key와 Secret 다운로드는 1회성으로 안내됨
3-3. 특징
- REST + JSON 기반
authorization,api-id헤더 사용- 연속조회 시
cont-yn,next-key헤더 사용 - 주문, 계좌, 시세, 차트, 조건검색, 실시간시세까지 제공
3-4. 장점
- 웹 표준 방식이라 개발 생산성이 좋다.
- 헤드리스 서버에서 다루기 쉽다.
- 키움 공식 계좌 기능과 바로 연결된다.
3-5. 단점
- 브로커 API라 실패 처리와 재시도 설계가 반드시 필요하다.
- 토큰 만료, 주문 가능 시간, 시장 상태, 계좌 상태를 같이 봐야 한다.
- 실전 거래에서는 모의투자와 체결 품질이 다를 수 있다.
4. 키움 REST API 핵심 엔드포인트
4-1. 접근토큰 발급
POST https://api.kiwoom.com/oauth2/token- TR:
au10001
요청 body:
{
"grant_type": "client_credentials",
"appkey": "YOUR_APP_KEY",
"secretkey": "YOUR_SECRET_KEY"
}
4-2. 계좌번호 조회
공식 모바일 가이드 기준:
POST https://api.kiwoom.com/api/dostk/acnt- TR:
ka00001 - 설명: 현재 토큰의 계좌번호 조회
4-3. 주식 매수주문
공식 모바일 가이드 기준:
POST https://api.kiwoom.com/api/dostk/ordr- TR:
kt10000
주요 body 필드:
dmst_stex_tp:KRX,NXT,SORstk_cd: 종목코드ord_qty: 주문수량ord_uv: 주문단가trde_tp: 주문유형
4-4. 주식 매도주문
동일한 주문 엔드포인트를 사용하며, TR 목록상 주식 매도주문은 kt10001 이다.
4-5. 계좌 평가 / 잔고 조회
공식 가이드 목록상 계좌 카테고리에는 다음 TR이 있다.
kt00004계좌평가현황요청kt00018계좌평가잔고내역요청kt00001예수금상세현황요청
이 계좌 TR들은 공식 검색 결과상 /api/dostk/acnt 계열로 제공된다.
4-6. 실시간 시세
공식 가이드 목록상 실시간 시세/시세 관련 항목:
ka10001주식기본정보요청ka10004주식호가요청ka10086일별주가요청- 실시간 코드
0B주식체결 - 실시간 코드
0C주식우선호가 - 실시간 코드
0D주식호가잔량
즉, REST는 조회/주문, WebSocket은 실시간 체결/호가 감시로 나누는 것이 맞다.
5. 간단 예제
5-1. 토큰 발급 curl
curl -X POST "https://api.kiwoom.com/oauth2/token" \
-H "Content-Type: application/json;charset=UTF-8" \
-d '{
"grant_type": "client_credentials",
"appkey": "YOUR_APP_KEY",
"secretkey": "YOUR_SECRET_KEY"
}'
5-2. 계좌번호 조회 Python
import requests
BASE_URL = "https://api.kiwoom.com"
TOKEN = "YOUR_ACCESS_TOKEN"
headers = {
"Authorization": f"Bearer {TOKEN}",
"api-id": "ka00001",
"Content-Type": "application/json;charset=UTF-8",
}
resp = requests.post(f"{BASE_URL}/api/dostk/acnt", headers=headers, json={})
resp.raise_for_status()
print(resp.json())
5-3. 주식 매수 예제 Python
import requests
BASE_URL = "https://api.kiwoom.com"
TOKEN = "YOUR_ACCESS_TOKEN"
headers = {
"Authorization": f"Bearer {TOKEN}",
"api-id": "kt10000",
"Content-Type": "application/json;charset=UTF-8",
}
payload = {
"dmst_stex_tp": "KRX",
"stk_cd": "005930",
"ord_qty": "1",
"ord_uv": "0",
"trde_tp": "3"
}
resp = requests.post(f"{BASE_URL}/api/dostk/ordr", headers=headers, json=payload)
resp.raise_for_status()
print(resp.json())
위 예시는 시장가 1주 매수 형태로 읽으면 된다.
실전 사용 전에는 반드시 모의투자에서 먼저 검증해야 한다.
6. 실용 예제: 계좌조회, 사기(매수), 팔기(매도)
추천 운용 흐름
flowchart TD
A[토큰 발급] --> B[계좌번호 조회]
B --> C[예수금 / 잔고 조회]
C --> D[주문 가능 여부 검증]
D --> E[매수 또는 매도 주문]
E --> F[미체결 / 체결 확인]
F --> G[잔고 재조회]
실전 체크리스트
- 주문 전에 계좌번호 조회가 성공하는지 확인
- 예수금상세현황과 주문가능금액을 먼저 확인
- 모의투자에서
kt10000,kt10001요청 포맷 검증 - 주문 직후 미체결/체결 TR로 상태 조회
- 체결 후 계좌평가잔고내역 재조회
매수/매도 운영 팁
- 매수 로직은 “신호 발생”보다 “주문 가능 검증”이 더 중요하다.
- 시장가 주문은 편하지만 슬리피지가 커질 수 있다.
- 서버 재기동 시 중복주문 방지 키를 따로 관리해야 한다.
- 실제 자동매매는 반드시 주문 로그와 원장 테이블을 별도로 남겨야 한다.
7. 주식가격, 채권가격, 투자정보를 무료 REST로 조회하는 방법
여기서 중요한 결론부터 말하면, 무료 REST 하나로 주식/채권/뉴스/공시/거시를 모두 고품질로 해결하는 서비스는 없다.
대신 목적별로 조합하면 충분히 쓸 만한 구성이 나온다.
7-1. 주식가격
1순위: 키움 REST API
- 장점: 실제 거래 계좌와 연결됨
- 단점: 키움 고객 전제
- 추천 용도: 한국 주식 실행 직전 조회, 계좌 연동형 자동매매
2순위: Alpha Vantage
공식 문서 기준:
- 무료 API 키 제공
- 무료 플랜은 하루 25회 요청
- 문서상 글로벌 주식 시계열 데이터는 20년 이상 히스토리를 제공
- 다만 일부
full히스토리 옵션과 실시간/15분 지연 데이터는 프리미엄 제약이 있다
적합한 경우:
- 간단한 백테스트
- 해외 주식/ETF 가격 조회
- 작은 개인 프로젝트
부적합한 경우:
- 고빈도 실시간 시스템
- 대량 호출
예시:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=MSFT&apikey=YOUR_KEY
7-2. 채권가격 / 금리 정보
미국 국채/금리: FRED API + U.S. Treasury Fiscal Data
FRED API는 시계열 경제지표에 가장 안정적이다.
- 장점: 무료, 공식, 장기 시계열 강함
- 단점: 개별 회사채 체결가보다는 지표/수익률 중심
적합 데이터:
- 10년물 국채수익률
- 회사채 스프레드
- 기준금리
- 경기지표
예시:
https://api.stlouisfed.org/fred/series/observations?series_id=DGS10&api_key=YOUR_KEY&file_type=json
미국 지방채: EMMA
MSRB의 EMMA는 공식적으로 municipal bond 데이터와 공시 문서의 무료 공개 소스다.
- 장점: 지방채 실거래 가격, 공시, 신용등급 등 확인 가능
- 단점: 일반적인 공개 REST 개발 경험은 주식 API보다 덜 단순함
- 적합 용도: 미국 지방채 조사, 가격 확인, 공시 문서 조사
기업 회사채 일반
FINRA Query API는 공식적으로 Fixed Income 데이터셋을 포함하며, Public Credential은 월 0달러로 공개 데이터를 조회할 수 있다.
다만 문서상 사용량 제한과 자격 증명 유형 차이가 존재하고, 조직/기업용 자격 증명은 유료 정책이 있다.
실무 결론
- 직접 채권 주문: 키움 HTS/MTS/상품채널
- 채권 ETF 자동매매: 키움 REST 주문
- 미국 금리/채권지표 수집: FRED / Treasury
- 미국 회사채/고정수익 공개 데이터 탐색: FINRA Query API
- 미국 지방채 조사: EMMA
8. SEC 문서 조회 방법
SEC 쪽은 오히려 무료 REST가 매우 강하다.
8-1. 공식 REST API
SEC 공식 문서 기준:
data.sec.gov는 JSON 기반 RESTful API- 인증이나 API 키가 필요 없다
- 실시간에 가깝게 갱신된다
핵심 엔드포인트:
- 제출 이력:
submissions - 회사 전체 XBRL 팩트:
companyfacts - 특정 개념:
companyconcept - 동일 기간 비교:
frames
예시:
https://data.sec.gov/api/xbrl/companyfacts/CIK0000789019.json
위 URL은 Microsoft의 company facts 예시로 사용할 수 있다.
8-2. SEC 검색 UI
공식 EDGAR Full-Text Search는 2001년 이후 전자공시의 전체 텍스트 검색을 지원한다.
장점:
- 키워드, 회사명, CIK, 폼 타입으로 검색 가능
- 날짜 필터 가능
- 첨부문서와 본문 검색 가능
단점:
- 대량 수집 자동화는 API/아카이브가 더 낫다
8-3. 추천 사용 패턴
- 회사명 또는 티커로 CIK 확보
submissionsAPI로 최근 10-K, 10-Q, 8-K 목록 수집companyfactsAPI로 매출, 영업이익, 자산 등 정형 데이터 확보- 텍스트 분석이 필요하면 filing 원문 HTML 추가 수집
9. 경제뉴스 조회 방법
요구 조건이 까다롭다.
- 최근 뉴스부터 20년 전 뉴스까지
- 무료 선호
- REST 선호
- 가능하면 요약 / 벡터DB
결론부터 말하면:
단일 무료 REST로 “멀티소스 경제뉴스 20년 전체 + 전문 검색 + 상업적 자유사용”을 동시에 만족하는 솔루션은 찾기 어렵다.
그래서 아래처럼 나누는 것이 현실적이다.
9-1. 최근 뉴스 중심: NewsAPI
공식 문서 기준:
/v2/everything제공- 지난 5년 기사 검색 가능
- 개발용 무료 API 키 제공
장점:
- REST가 단순하다
- 기사 검색/필터링이 쉽다
단점:
- 20년 범위는 안 된다
- 무료 플랜은 개발용 성격이 강하다
9-2. 장기 아카이브 단일 매체: Guardian Open Platform
Guardian 공식 문서 기준:
- 1999년부터의 콘텐츠 접근 가능
- 개발자 키 제공
- 비상업적 사용은 무료
- 기사 본문 접근 가능
장점:
- 20년 범위를 사실상 충족
- 기사 텍스트 수집 가능
단점:
- Guardian 단일 매체
- 상업 사용은 별도 조건
9-3. 멀티소스 장기 흐름 분석: GDELT
GDELT는 공식적으로 전체 데이터가 무료/오픈이며, Event Database는 1979년부터의 데이터 파일을 제공한다.
다만 DOC 2.0 API 관련 공식 글을 보면 문서 검색 범위는 2017년 1월 1일 이후 기준으로 설명된다.
즉:
- 장기 이벤트/토픽 추세: GDELT 강함
- 20년치 기사 본문 검색 REST: 한계 있음
적합 용도:
- “금리 인상”, “인플레이션”, “공급망” 같은 경제 이슈의 장기 언론량 추세
- 날짜별 토픽 빈도 분석
- 뉴스 원문 URL 수집
9-4. 실무 추천 조합
최근 5년
- NewsAPI 또는 GDELT DOC 2
1999년 이후 단일 품질 매체
- Guardian Open Platform
1979년 이후 장기 이벤트 데이터
- GDELT Event Database / GKG
2001년 이후 기업 공시 기반 뉴스 대체
- SEC EDGAR Full Text + filing text
10. 뉴스 요약과 Vector DB는 가능한가?
가능하다. 오히려 이렇게 해야 검색 품질이 좋아진다.
추천 구조
flowchart TD
A[News API / Guardian / GDELT / SEC] --> B[원문 수집]
B --> C[본문 정제]
C --> D[청크 분할]
D --> E[임베딩 생성]
E --> F[Vector DB 저장]
F --> G[RAG 검색]
G --> H[요약 / 질의응답]
구현 아이디어
- 저장 메타데이터:
titlepublished_atsourceurltickercountrytopic
- 청크 크기:
- 기사 본문 기준 500~1,000 토큰
- 요약 전략:
- 기사별 1차 요약
- 날짜별/주제별 2차 요약
- 검색 전략:
keyword + vector hybrid
무료 선호 기준 추천
- 소규모 개인 프로젝트: 로컬
SQLite + FTS5또는FAISS - 조금 더 구조화: 로컬
pgvector - 뉴스 건수가 커지면: 전용 Vector DB
이 부분은 위 소스들을 바탕으로 한 구현 권장안이며, 특정 서비스의 상용 정책은 별도 확인이 필요하다.
11. 현실적인 추천 아키텍처
키움증권 계좌를 이미 쓰고 있고, REST 중심에 무료 선호라면 아래 구성이 가장 현실적이다.
실행
- 주문/잔고/계좌조회: 키움 REST API
주가
- 한국 실거래 직전 조회: 키움 REST
- 해외/백테스트: Alpha Vantage
채권/금리
- 금리/국채 수익률: FRED
- 미국 지방채 조사: EMMA
- 개별 채권 매수 실행: 키움 상품 채널
공시
- 미국 공시: SEC data.sec.gov + EDGAR Search
뉴스
- 최근 검색: NewsAPI
- 20년 단일 매체 아카이브: Guardian
- 장기 멀티소스 이벤트 분석: GDELT
요약/검색
- 기사 원문 저장 + 임베딩 + Vector DB + RAG
12. 마무리
키움 REST API는 “거래 실행” 에 매우 강하고, SEC/FRED/GDELT/Guardian 같은 무료 공개 소스는 “정보 수집” 에 강하다.
그래서 투자 시스템은 하나의 API로 끝내려 하지 말고 아래처럼 분리하는 편이 좋다.
- 키움으로 주문과 계좌를 처리한다.
- SEC / FRED / 뉴스 API로 외부 정보를 수집한다.
- Vector DB + 요약 계층으로 사람이 읽기 쉬운 형태로 압축한다.
이 구조가 제일 단순하고, 유지보수도 쉽고, 나중에 다른 브로커를 붙일 때도 확장성이 좋다.
참고 및 웹 검색 URL
- 키움 REST API 메인
https://openapi.kiwoom.com/ - 키움 REST API 서비스 이용안내
https://openapi.kiwoom.com/intro/serviceInfo - 키움 REST API 가이드
https://openapi.kiwoom.com/guide/apiguide - 키움 REST API 모바일 가이드
https://openapi.kiwoom.com/m/guide/apiguide - 키움 REST API 주문 가이드 (
kt10000)
https://openapi.kiwoom.com/m/guide/apiguide?jobTpCode=13 - 키움 REST API 계좌 가이드 (
ka00001)
https://openapi.kiwoom.com/m/guide/apiguide?jobTpCode=08 - 키움 해외채권 안내
https://kiwoom.com/wm/bnd/fb040/fbInfoView - 키움 고객센터 / 금융상품 연락처
https://kiwoom.com/m/customer/center/VCenterInfoView - SEC EDGAR APIs
https://www.sec.gov/search-filings/edgar-application-programming-interfaces - SEC EDGAR Full Text Search
https://www.sec.gov/edgar/search/index.html - FRED API
https://fred.stlouisfed.org/docs/api/fred/ - U.S. Treasury Fiscal Data API 문서
https://fiscaldata.treasury.gov/api-documentation/ - Alpha Vantage 문서
https://www.alphavantage.co/documentation/ - Alpha Vantage 지원/무료키/호출 제한
https://www.alphavantage.co/support/ - FINRA Query API
https://developer.finra.org/products/query-api - FINRA Fixed Income Data
https://www.finra.org/finra-data/fixed-income - MSRB EMMA
https://emma.msrb.org/ - MSRB About EMMA
https://www.msrb.org/Transparency-and-Technology/About-EMMA - Guardian Open Platform
https://open-platform.theguardian.com/ - Guardian Open Platform Get Started
https://open-platform.theguardian.com/access/ - NewsAPI 문서
https://newsapi.org/docs - NewsAPI Endpoints
https://newsapi.org/docs/endpoints - GDELT 메인
https://www.gdeltproject.org/ - GDELT Event Files
https://data.gdeltproject.org/events/ - GDELT DOC 2.0 범위 관련 글
https://blog.gdeltproject.org/doc-2-0-updates-1-5-year-searching-and-updated-mobile-interface/
작성 시 사용한 사용자 질문 프롬프트
주제
- 키움증권계좌 이용하는 상황
- 채권구매 방법?
- 증권 REST api 사용 방법?
- 소개
- 특징
- 장단점
- 사용법
- 등록법
- 간단예제
- 실용예제
- 계좌조회, 사기, 팔기
- 주식가격, 채권가격 등 각종 투자정보 조회방법
- REST 기반선호
- 무료 선호
- SEC 문서 조회 방법
- REST 기반선호
- 무료 선호
- 경제뉴스 조회 방법
- 최근부터 20년전까지 모든 날짜 지원
- 무료 선호
- 뉴스에 대한 요약 혹은 vector DB 사용가능하면 더 좋음.