본문 바로가기
주식프로그램/프로그램 개발

키움증권 REST API – 파이썬으로 접근 토큰(Access Token) 발급하기

by 팡규 2025. 7. 12.
반응형

키움증권에서는 OpenAPI+뿐 아니라 REST API도 제공합니다.
REST API는 로그인 없이 HTTP 요청으로 데이터를 조회하거나 주문할 수 있어 자동화에 매우 적합합니다.

이 글에서는 키움증권 모의투자용 REST API를 사용하여 접근 토큰을 발급받는 방법과 그에 해당하는 파이썬 코드를 공유합니다.


✅ 접근 토큰이란?

Access Token은 키움 API 서버에 “나는 인증된 사용자입니다”라고 알려주는 전자 열쇠입니다.

API를 사용할 때는 항상 이 토큰을 Authorization 헤더에 포함시켜야 하며, 이 토큰은 일정 시간이 지나면 만료되므로 정기적으로 갱신해야 합니다.


🔐 토큰 발급을 위한 준비

  1. 키움증권 Open API 개발자 센터에 로그인
  2. 모의투자 앱 등록
  3. AppKey / SecretKey 발급
  4. 아래 API를 통해 토큰 발급

📡 API 정보

{
  "grant_type": "client_credentials",
  "appkey": "받은 AppKey",
  "secretkey": "받은 SecretKey"
}

📡 전체코드

import requests  # HTTP 요청을 위한 라이브러리

# ✅ 접근 토큰을 발급받는 함수 정의
def get_token():
    url = "https://mockapi.kiwoom.com/oauth2/token"  # 키움 모의투자 API 토큰 발급 주소

    # HTTP 요청 헤더 설정
    headers = {
        "Content-Type": "application/json"  # JSON 형식으로 데이터를 보낸다는 의미
    }

    # 요청에 포함할 데이터 (OAuth 인증 방식에 필요한 필드들)
    data = {
        "grant_type": "client_credentials",  # 인증 방식 고정값
        "appkey": "앱키",                    # 발급받은 앱 키 (개발자 센터에서 확인)
        "secretkey": "시크릿키"              # 발급받은 시크릿 키
    }

    # POST 요청을 보내고 응답 받기
    response = requests.post(url, headers=headers, json=data)

    # 응답 상태코드 출력 (200이면 성공)
    print("Status:", response.status_code)
    # 응답 본문 출력 (token, 만료정보 등 포함)
    print("Body:", response.text)

    # 상태 코드가 200이면 token 값을 반환
    if response.status_code == 200:
        return response.json().get("token")  # 응답 JSON에서 token 값만 꺼냄
    else:
        return None  # 실패 시 None 반환

# ✅ 이 파일이 직접 실행될 때만 아래 코드 실행
if __name__ == "__main__":
    token = get_token()  # 토큰 발급 요청

    if token:
        print("✅ 접근 토큰:", token)  # 토큰 정상 출력
    else:
        print("❌ 토큰 발급 실패")     # 실패 메시지

 


✅ 출력

반응형