KIS Developers menu

API 문서 HOME API 문서 [해외주식] 실시간시세


[해외주식] 실시간시세

해외주식 실시간지연체결가[실시간-007]

WEBSOCKET

해외주식 실시간지연체결가[실시간-007]

기본정보

  • Method
    POST
  • 실전 Domain
    ws://ops.koreainvestment.com:21000
  • 모의 Domain
    제공 안함
  • URL
    /tryitout/HDFSCNT0
  • Format
     
  • Content-Type
     

개요

해외주식 실시간지연체결가의 경우 무료시세(지연체결가)만이 제공되며, API로는 유료시세(실시간체결가)를 받아보실 수 없습니다.

※ 지연시세 지연시간 : 미국 - 실시간무료(0분지연) / 홍콩, 베트남, 중국 - 15분지연 / 일본 - 20분지연
미국의 경우 0분지연시세로 제공되나, 장중 당일 시가는 상이할 수 있으며, 익일 정정 표시됩니다.

※ 추후 HTS(efriend Plus) [7781] 시세신청(실시간) 화면에서 유료 서비스 신청 시 실시간 시세 수신할 수 있도록 변경 예정

해당 API로 미국주간거래(10:00~16:00) 시세 조회도 가능합니다.
※ 미국주간거래 실시간 조회 시, 맨 앞자리(R), tr_key 중 시장구분 값을 다음과 같이 입력 → 나스닥: BAQ, 뉴욕: BAY, 아멕스: BAA

[참고자료]

실시간시세(웹소켓) 파이썬 샘플코드는 한국투자증권 Github 참고 부탁드립니다.
https://github.com/koreainvestment/open-trading-api/blob/main/websocket/python/ws_domestic_overseas_all.py

실시간시세(웹소켓) API 사용방법에 대한 자세한 설명은 한국투자증권 Wikidocs 참고 부탁드립니다.
https://wikidocs.net/book/7847 (국내주식 업데이트 완료, 추후 해외주식·국내선물옵션 업데이트 예정)

종목코드 마스터파일 파이썬 정제코드는 한국투자증권 Github 참고 부탁드립니다.
https://github.com/koreainvestment/open-trading-api/tree/main/stocks_info

LAYOUT

Request

Header

Element 한글명 Type Required Length Description
approval_key 웹소켓 접속키 String Y 286 실시간 (웹소켓) 접속키 발급 API(/oauth2/Approval)를 사용하여 발급받은 웹소켓 접속키
tr_type 등록/해제 String Y 1 1: 등록, 2:해제
custtype 고객 타입 String Y 1 B : 법인 / P : 개인
content-type 컨텐츠타입 String Y 20 utf-8

Body

Element 한글명 Type Required Length Description
tr_id 거래ID String Y 7 HDFSCNT0
tr_key D거래소명종목코드 String Y 6 <미국 야간거래/아시아 주간거래 - 무료시세>
D+시장구분(3자리)+종목코드
예) DNASAAPL : D+NAS(나스닥)+AAPL(애플)
[시장구분]
NYS : 뉴욕, NAS : 나스닥, AMS : 아멕스 ,
TSE : 도쿄, HKS : 홍콩,
SHS : 상해, SZS : 심천
HSX : 호치민, HNX : 하노이

Response

Body

Element 한글명 Type Required Length Description
RSYM 실시간종목코드 String Y 16 '각 항목사이에는 구분자로 ^ 사용,
모든 데이터타입은 String으로 변환되어 push 처리됨'
SYMB 종목코드 String Y 16
ZDIV 수수점자리수 String Y 1
TYMD 현지영업일자 String Y 8
XYMD 현지일자 String Y 6
XHMS 현지시간 String Y 6
KYMD 한국일자 String Y 6
KHMS 한국시간 String Y 6
OPEN 시가 String Y 6
HIGH 고가 String Y 6
LOW 저가 String Y 6
LAST 현재가 String Y 6
SIGN 대비구분 String Y 6
DIFF 전일대비 String Y 8
RATE 등락율 String Y 6
PBID 매수호가 String Y 10
PASK 매도호가 String Y 10
VBID 매수잔량 String Y 10
VASK 매도잔량 String Y 10
EVOL 체결량 String Y 12
TVOL 거래량 String Y 12
TAMT 거래대금 String Y 10
BIVL 매도체결량 String Y 10 매수호가가 매도주문 수량을 따라가서 체결된것을 표현하여 BIVL 이라는 표현을 사용
ASVL 매수체결량 String Y 10 매도호가가 매수주문 수량을 따라가서 체결된것을 표현하여 ASVL 이라는 표현을 사용
STRN 체결강도 String Y 10
MTYP 시장구분 1:장중,2:장전,3:장후 String Y 10

해외주식 실시간지연호가(아시아)[실시간-008]

WEBSOCKET

해외주식 실시간지연호가(아시아)[실시간-008]

기본정보

  • Method
    POST
  • 실전 Domain
    ws://ops.koreainvestment.com:21000
  • 모의 Domain
    제공 안함
  • URL
    /tryitout/HDFSASP1
  • Format
     
  • Content-Type
     

개요

해외주식 실시간지연체결가(아시아)의 경우 무료시세(지연호가)만이 제공되며, API로는 유료시세(실시간호가)를 받아보실 수 없습니다.

※ 지연시세 지연시간 : 홍콩, 베트남, 중국 - 15분지연 / 일본 - 20분지연

※ 현재로서는 해외주식(아시아)의 경우 지연시세만 수신되며, 1호가까지만 수신됨 (무료)
추후 HTS(efriend Plus) [7781] 시세신청(실시간) 화면에서 유료 서비스 신청 시 10호가까지 수신할 수 있도록 변경 예정


[참고자료]

실시간시세(웹소켓) 파이썬 샘플코드는 한국투자증권 Github 참고 부탁드립니다.
https://github.com/koreainvestment/open-trading-api/blob/main/websocket/python/ws_domestic_overseas_all.py

실시간시세(웹소켓) API 사용방법에 대한 자세한 설명은 한국투자증권 Wikidocs 참고 부탁드립니다.
https://wikidocs.net/book/7847 (국내주식 업데이트 완료, 추후 해외주식·국내선물옵션 업데이트 예정)

LAYOUT

Request

Header

Element 한글명 Type Required Length Description
approval_key 웹소켓 접속키 String Y 286 실시간 (웹소켓) 접속키 발급 API(/oauth2/Approval)를 사용하여 발급받은 웹소켓 접속키
custtype 고객 타입 String Y 1 B : 법인 / P : 개인
tr_type 등록/해제 String Y 1 "1: 등록, 2:해제"
content-type 컨텐츠타입 String Y 20 utf-8

Body

Element 한글명 Type Required Length Description
tr_id 거래ID String Y 7 HDFSASP1
tr_key D거래소명종목코드 String Y 6 <아시아국가 - 무료시세>
D+시장구분(3자리)+종목코드
예) DHKS00003 : D+HKS(홍콩)+00003(홍콩중화가스)
[시장구분]
TSE : 도쿄, HKS : 홍콩,
SHS : 상해, SZS : 심천
HSX : 호치민, HNX : 하노이

Response

Body

Element 한글명 Type Required Length Description
RSYM 실시간종목코드 String Y 16 '각 항목사이에는 구분자로 ^ 사용,
모든 데이터타입은 String으로 변환되어 push 처리됨'
SYMB 종목코드 String Y 16
ZDIV 소수점자리수 String Y 1
XYMD 현지일자 String Y 8
XHMS 현지시간 String Y 6
KYMD 한국일자 String Y 8
KHMS 한국시간 String Y 6
BVOL 매수총잔량 String Y 10
AVOL 매도총잔량 String Y 10
BDVL 매수총잔량대비 String Y 10
ADVL 매도총잔량대비 String Y 10
PBID1 매수호가1 String Y 12
PASK1 매도호가1 String Y 12
VBID1 매수잔량1 String Y 10
VASK1 매도잔량1 String Y 10
DBID1 매수잔량대비1 String Y 10
DASK1 매도잔량대비1 String Y 10

해외주식 실시간체결통보[실시간-009]

WEBSOCKET

해외주식 실시간체결통보[실시간-009]

기본정보

  • Method
    POST
  • 실전 Domain
    ws://ops.koreainvestment.com:21000
  • 모의 Domain
    ws://ops.koreainvestment.com:31000
  • URL
    /tryitout/H0GSCNI0
  • Format
     
  • Content-Type
     

개요

[참고자료]

실시간시세(웹소켓) 파이썬 샘플코드는 한국투자증권 Github 참고 부탁드립니다.
https://github.com/koreainvestment/open-trading-api/blob/main/websocket/python/ws_domestic_overseas_all.py

실시간시세(웹소켓) API 사용방법에 대한 자세한 설명은 한국투자증권 Wikidocs 참고 부탁드립니다.
https://wikidocs.net/book/7847 (국내주식 업데이트 완료, 추후 해외주식·국내선물옵션 업데이트 예정)

LAYOUT

Request

Header

Element 한글명 Type Required Length Description
approval_key 웹소켓 접속키 String Y 286 실시간 (웹소켓) 접속키 발급 API(/oauth2/Approval)를 사용하여 발급받은 웹소켓 접속키
tr_type 등록/해제 String Y 1 1: 등록, 2:해제
custtype 고객 타입 String Y 1 B : 법인 / P : 개인
content-type 컨텐츠타입 String Y 20 utf-8

Body

Element 한글명 Type Required Length Description
tr_id 거래ID String Y 7 [실전투자]
H0GSCNI0 : 실시간 해외주식 체결통보

[모의투자]
H0GSCNI9 : 실시간 해외주식 체결통보
tr_key HTSID String Y 8 HTSID

Response

Body

Element 한글명 Type Required Length Description
CUST_ID 고객 ID String Y 8 '각 항목사이에는 구분자로 ^ 사용,
모든 데이터타입은 String으로 변환되어 push 처리됨'
ACNT_NO 계좌번호 String Y 10
ODER_NO 주문번호 String Y 10
OODER_NO 원주문번호 String Y 10
SELN_BYOV_CLS 매도매수구분 String Y 2 01:매도 02:매수 03:전매도 04:환매수
RCTF_CLS 정정구분 String Y 1 0:정상 1:정정 2:취소
ODER_KIND2 주문종류2 String Y 1 1:시장가 2:지정자 6:단주시장가 7:단주지정가
A:MOO B:LOO C:MOC D:LOC
STCK_SHRN_ISCD 주식 단축 종목코드 String Y 9
CNTG_QTY 체결수량 String Y 10 - 주문통보의 경우 해당 위치에 주문수량이 출력
- 체결통보인 경우 해당 위치에 체결수량이 출력
CNTG_UNPR 체결단가 String Y 9 ※ 주문통보 시에는 주문단가가, 체결통보 시에는 체결단가가 수신 됩니다.
※ 체결단가의 경우, 국가에 따라 소수점 생략 위치가 상이합니다.
미국 4 일본 1 중국 3 홍콩 3 베트남 0
EX) 미국 AAPL(현재가 : 148.0100)의 경우 001480100으로 체결단가가 오는데,
4번째 자리에 소수점을 찍어 148.01로 해석하시면 됩니다.
STCK_CNTG_HOUR 주식 체결 시간 String Y 6 특정 거래소의 체결시간 데이터는 수신되지 않습니다.
체결시간 데이터가 필요할 경우, 체결통보 데이터 수신 시 타임스탬프를 찍는 것으로 대체하시길 바랍니다.
RFUS_YN 거부여부 String Y 1 0:정상 1:거부
CNTG_YN 체결여부 String Y 1 1:주문,정정,취소,거부 2:체결
ACPT_YN 접수여부 String Y 1 1:주문접수 2:확인 3:취소(FOK/IOC)
BRNC_NO 지점번호 String Y 5
ODER_QTY 주문 수량 String Y 9 - 주문통보인 경우 해당 위치 미출력 (주문통보의 주문수량은 CNTG_QTY 위치에 출력)
- 체결통보인 경우 해당 위치에 주문수량이 출력
ACNT_NAME 계좌명 String Y 12
CNTG_ISNM 체결종목명 String Y 14
ODER_COND 해외종목구분 String Y 1 4:홍콩(HKD) 5:상해B(USD)
6:NASDAQ 7:NYSE 8:AMEX 9:OTCB
C:홍콩(CNY) A:상해A(CNY) B:심천B(HKD)
D:도쿄 E:하노이 F:호치민
DEBT_GB 담보유형코드 String Y 2 10:현금 15:해외주식담보대출
DEBT_DATE 담보대출일자 String Y 8 대출일(YYYYMMDD)

Example

Request

{
         "header":
         {
                  "approval_key": "35xxxxxa-bxxa-4xxb-87xxx-f56xxxxxxxxxx",
                  "custtype":"P",
                  "tr_type":"1",
                  "content-type":"utf-8"
         },
         "body":
         {
                  "input":
                  {
                           "tr_id":"H0GSCNI0",
                           "tr_key":"HTS ID"
                  }
         }
}

Response

# output - 등록 성공 시
{
    "header": {
        "tr_id": "H0GSCNI0", 
        "tr_key": "HTS ID", 
        "encrypt": "N"
        }, 
    "body": {
        "rt_cd": "0", 
        "msg_cd": "OPSP0000",
        "msg1": "SUBSCRIBE SUCCESS", 
        "output": {
            "iv": "0123456789abcdef", 
            "key": "abcdefghijklmnopabcdefghijklmnop"}
        }
}

# output (복호화 전) 
1|H0GSCNI0|001|vebQjGIHMgFhxfNfvebQjGIHMgFhxfNfvebQjGIHMgFhxfNfvebQj...hxfNf

# output (복호화 후)
#### 해외주식 주문·정정·취소·거부 접수 통보 ####
고객 ID  [abcd1234]
계좌번호  [12345678]
주문번호  [3567]
원주문번호  []
매도매수구분  [02]
정정구분  [0]
주문종류2  [1]
단축종목코드  [7203]
주문수량  [0000000100]
체결단가  [000032200]
체결시간  []
거부여부  [0]
체결여부  [1]
접수여부  [1]
지점번호  []
체결수량  []
계좌명  [******]
체결종목명  [도요타자동차]
해외종목구분  [D]
담보유형코드  [10]
담보대출일자  []

해외주식 실시간호가(미국)[실시간-021]

WEBSOCKET

해외주식 실시간호가(미국)[실시간-021]

기본정보

  • Method
    POST
  • 실전 Domain
    ws://ops.koreainvestment.com:21000
  • 모의 Domain
    모의투자 미지원
  • URL
    /tryitout/HDFSASP0
  • Format
     
  • Content-Type
     

개요

해외주식 실시간호가(미국)의 경우 실시간호가 10호가까지 무료로 제공됩니다. ('23.05.01 ~ )

※ 무료(매수/매도 각 10호가) : 미국 - 실시간무료(0분지연) / 나스닥 마켓센터에서 거래되는 호가 및 호가 잔량 정보
※ 추후 HTS(efriend Plus) [7781] 시세신청(실시간) 화면에서 유료 서비스 신청 시 유료시세 수신할 수 있도록 변경 예정

해당 API로 미국주간거래(10:00~16:00) 시세 조회도 가능합니다.
※ 미국주간거래 실시간 조회 시, 맨 앞자리(R), tr_key 중 시장구분 값을 다음과 같이 입력 → 나스닥: BAQ, 뉴욕: BAY, 아멕스: BAA

[참고자료]

실시간시세(웹소켓) 파이썬 샘플코드는 한국투자증권 Github 참고 부탁드립니다.
https://github.com/koreainvestment/open-trading-api/blob/main/websocket/python/ws_domestic_overseas_all.py

실시간시세(웹소켓) API 사용방법에 대한 자세한 설명은 한국투자증권 Wikidocs 참고 부탁드립니다.
https://wikidocs.net/book/7847 (국내주식 업데이트 완료, 추후 해외주식·국내선물옵션 업데이트 예정)

​[미국주식시세 이용시 유의사항]
■ 무료 실시간 시세(0분 지연) 제공
※ 무료(매수/매도 각 10호가) : 나스닥 마켓센터에서 거래되는 호가 및 호가 잔량 정보
■ 무료 실시간 시세 서비스는 유료 실시간 시세 서비스 대비 평균 50% 수준에 해당하는 정보이므로
현재가/호가/순간체결량/차트 등에서 일시적·부분적 차이가 있을 수 있습니다.
■ 무료∙유료 모두 미국에 상장된 종목(뉴욕, 나스닥, 아멕스 등)의 시세를 제공하며, 동일한 시스템을 사용하여 주문∙체결됩니다.
단, 무료∙유료의 기반 데이터 차이로 호가 및 체결 데이터는 차이가 발생할 수 있고, 이로 인해 발생하는 손실에 대해서 당사가 책임지지 않습니다.
■ 무료 실시간 시세 서비스의 시가, 저가, 고가, 종가는 유료 실시간 시세 서비스와 다를 수 있으며,
종목별 과거 데이터(거래량, 시가, 종가, 고가, 차트 데이터 등)는 장 종료 후(오후 12시경) 유료 실시간 시세 서비스 데이터와 동일하게 업데이트됩니다.
(출처: 한국투자증권 외화증권 거래설명서 - https://www.truefriend.com/main/customer/guide/Guide.jsp?&cmd=TF04ag010002¤tPage=1&num=64)

LAYOUT

Request

Header

Element 한글명 Type Required Length Description
approval_key 웹소켓 접속키 String Y 286 실시간 (웹소켓) 접속키 발급 API(/oauth2/Approval)를 사용하여 발급받은 웹소켓 접속키
custtype 고객 타입 String Y 1 B : 법인 / P : 개인
tr_type 등록/해제 String Y 1 "1: 등록, 2:해제"
content-type 컨텐츠타입 String Y 20 utf-8

Body

Element 한글명 Type Required Length Description
tr_id 거래ID String Y 7 HDFSASP0
tr_key R거래소명종목코드 String Y 6 <미국 야간거래 - 무료시세>
D+시장구분(3자리)+종목코드
예) DNASAAPL : D+NAS(나스닥)+AAPL(애플)
[시장구분]
NYS : 뉴욕, NAS : 나스닥, AMS : 아멕스

<미국 주간거래>
R+시장구분(3자리)+종목코드
예) RBAQAAPL : R+BAQ(나스닥)+AAPL(애플)
[시장구분]
BAY : 뉴욕(주간), BAQ : 나스닥(주간). BAA : 아멕스(주간)

Response

Body

Element 한글명 Type Required Length Description
rsym 실시간종목코드 Object Y 16 '각 항목사이에는 구분자로 ^ 사용,
모든 데이터타입은 String으로 변환되어 push 처리됨'
-symb 종목코드 String Y 16
-zdiv 소숫점자리수 String Y 1
-xymd 현지일자 String Y 8
-xhms 현지시간 String Y 6
-kymd 한국일자 String Y 8
-khms 한국시간 String Y 6
-bvol 매수총잔량 String Y 10
-avol 매도총잔량 String Y 10
-bdvl 매수총잔량대비 String Y 10
-advl 매도총잔량대비 String Y 10
-pbid1 매수호가1 String Y 12
-pask1 매도호가1 String Y 12
-vbid1 매수잔량1 String Y 10
-vask1 매도잔량1 String Y 10
-dbid1 매수잔량대비1 String Y 10
-dask1 매도잔량대비1 String Y 10
-pbid2 매수호가2 String Y 12
-pask2 매도호가2 String Y 12
-vbid2 매수잔량2 String Y 10
-vask2 매도잔량2 String Y 10
-dbid2 매수잔량대비2 String Y 10
-dask2 매도잔량대비2 String Y 10
-pbid3 매수호가3 String Y 12
-pask3 매도호가3 String Y 12
-vbid3 매수잔량3 String Y 10
-vask3 매도잔량3 String Y 10
-dbid3 매수잔량대비3 String Y 10
-dask3 매도잔량대비3 String Y 10
-pbid4 매수호가4 String Y 12
-pask4 매도호가4 String Y 12
-vbid4 매수잔량4 String Y 10
-vask4 매도잔량4 String Y 10
-dbid4 매수잔량대비4 String Y 10
-dask4 매도잔량대비4 String Y 10
-pbid5 매수호가5 String Y 12
-pask5 매도호가5 String Y 12
-vbid5 매수잔량5 String Y 10
-vask5 매도잔량5 String Y 10
-dbid5 매수잔량대비5 String Y 10
-dask5 매도잔량대비5 String Y 10
-pbid6 매수호가6 String Y 12
-pask6 매도호가6 String Y 12
-vbid6 매수잔량6 String Y 10
-vask6 매도잔량6 String Y 10
-dbid6 매수잔량대비6 String Y 10
-dask6 매도잔량대비6 String Y 10
-pbid7 매수호가7 String Y 12
-pask7 매도호가7 String Y 12
-vbid7 매수잔량7 String Y 10
-vask7 매도잔량7 String Y 10
-dbid7 매수잔량대비7 String Y 10
-dask7 매도잔량대비7 String Y 10
-pbid8 매수호가8 String Y 12
-pask8 매도호가8 String Y 12
-vbid8 매수잔량8 String Y 10
-vask8 매도잔량8 String Y 10
-dbid8 매수잔량대비8 String Y 10
-dask8 매도잔량대비8 String Y 10
-pbid9 매수호가9 String Y 12
-pask9 매도호가9 String Y 12
-vbid9 매수잔량9 String Y 10
-vask9 매도잔량9 String Y 10
-dbid9 매수잔량대비9 String Y 10
-dask9 매도잔량대비9 String Y 10
-pbid10 매수호가10 String Y 12
-pask10 매도호가10 String Y 12
-vbid10 매수잔량10 String Y 10
-vask10 매도잔량10 String Y 10
-dbid10 매수잔량대비10 String Y 10
-dask10 매도잔량대비10 String Y 10

Example

Request

{
    "header": {
        "approval_key": "35xxxxxa-bxxa-4xxb-87xxx-f56xxxxxxxxxx",
        "custtype": "P",
        "tr_type": "1",
        "content-type": "utf-8"
    },
    "body": {
        "input": {
            "tr_id": "HDFSASP0",
            "tr_key": "RBAQAAPL"
        }
    }
}

Response

# 연결 확인
{
    "header": {
        "tr_id": "HDFSASP0", 
        "tr_key": "RBAQAAPL", 
        "encrypt": "N"
        }, 
    "body": {
        "rt_cd": "0", 
        "msg_cd": "OPSP0000",
        "msg1": "SUBSCRIBE SUCCESS", 
        "output": {
            "iv": "0123456789abcdef", 
            "key": "abcdefghijklmnopabcdefghijklmnop"}
        }
}

# output
0|HDFSASP0|001|RBAQAAPL^AAPL^4^20240506^202223^20240507^092223^1482^381^0^-10^182.8500^182.8700^350^57^0^-10^182.8400^182.9000^1^10^0^0^182.8300^182.9100^6^54^0^0^182.7900^182.9500^54^5^0^0^182.7500^182.9600^309^3^0^0^182.7300^182.9700^20^81^0^0^182.7000^182.9800^124^3^0^0^182.6600^182.9900^397^1^0^0^182.6500^183.0000^20^69^0^0^182.6300^183.0100^201^98^0^0