證交所即時資訊API
API功能
於盤中取得個股、指數之價格、成交量、五檔...等即時資訊,詳細回傳資料如資料名稱對照表。
API格式
目前的證交所即時資訊API的URL格式(JSON格式)為:
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=參數&json=1&delay=0
參數 = 上市別_證券代碼.tw[_日期]
Part | Description |
上市別 | 必需參數 上市為tse 上櫃為otc |
證券代碼 | 必需參數 例如:
|
註:若要一次取得多個即時資料,參數請用「|」分隔
例如:取得台積電與環球晶,參數=tse _2330.tw|otc_6488.tw
API範例
台積電即時資訊
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw&json=1&delay=0
環球晶即時資訊
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=otc_6488.tw&json=1&delay=0
2019年12月11日的台積電資訊(日期功能已失效)
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw_20191212&json=1&delay=0
上市加權指數即時資訊
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_t00.tw&json=1&delay=0
櫃買指數即時資訊
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=otc_o00.tw&json=1&delay=0
取得台積電與環球晶即時資訊:
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw|otc_6488.tw&json=1&delay=0
API回傳資料
成功取得資訊時,應該會取得如下的JSON格式資料
{ "msgArray":
[
{
"ts":"0",
"tk0":"2330.tw_tse_20200106_B_9999280689",
"tk1":"2330.tw_tse_20200106_B_9999280433",
"tlong":"1578282160000",
"f":"1122_1149_759_705_625_",
"ex":"tse",
"g":"1400_1778_678_1226_873_",
"d":"20200106",
"it":"12",
"b":"332.50_332.00_331.50_331.00_330.50_",
"c":"2330",
"mt":"868332",
"a":"333.00_333.50_334.00_334.50_335.00_",
"n":"台積電",
"o":"333.00",
"l":"332.50",
"h":"334.50",
"ip":"0",
"i":"24",
"w":"306.00",
"v":"29121",
"u":"373.00",
"t":"11:42:40",
"s":"4",
"pz":"333.00",
"tv":"4",
"p":"0",
"nf":"台灣積體電路製造股份有限公司",
"ch":"2330.tw",
"z":"333.00",
"y":"339.50",
"ps":"2304"
}
],
"userDelay":5000,
"rtmessage":"OK",
"referer":"",
"queryTime":
{
"sysTime":"11:42:44",
"sessionLatestTime":-1,
"sysDate":"20200106",
"sessionFromTime":-1,
"stockInfoItem":2607,
"showChart":false,
"sessionStr":"UserSession",
"stockInfo":388257
},
"rtcode":"0000"
}
Name | Description |
tlong | epoch毫秒數 |
f | 揭示賣量(配合「a」,以_分隔資料) |
ex | 上市別(上市:tse,上櫃:otc,空白:已下市或下櫃) |
g | 揭示買量(配合「b」,以_分隔資料) |
d | 最近交易日期(YYYYMMDD) |
b | 揭示買價(從高到低,以_分隔資料) |
c | 股票代號 |
a | 揭示賣價(從低到高,以_分隔資料) |
n | 公司簡稱 |
o | 開盤 |
l | 最低 |
h | 最高 |
w | 跌停價 |
v | 累積成交量 |
u | 漲停價 |
t | 最近成交時刻(HH:MM:SS) |
tv | 當盤成交量 |
nf | 公司全名 |
z | 當盤成交價 |
y | 昨收 |
相關問題
使用限制
本API來源為證交所基本市況報導網站,根據經驗每5秒請求不得超過3次,否則有可能會被鎖IP,請特別留意。
本文為學術研究經驗分享,請在合理、合法情況下使用,如因資料不正確或使用上有任何損害或損失,本站不負法律責任。
如何繞過瀏覽器跨域(CORS)限制?
有跨域(CORS)問題,可參考利用Google Apps Script繞過瀏覽器跨域(CORS)限制
上市證券代碼表
https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&type=ALLBUT0999[&date=日期]
日期為選用參數格式為YYYYMMDD,省略為最新交易日資料,大約每日16:00更新。
範例
- 20230523的證券代碼表:https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&type=ALLBUT0999&date=20230523
- 最新的證券代碼表:https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&type=ALLBUT0999
上櫃證券代碼表
https://www.tpex.org.tw/www/zh-tw/afterTrading/dailyQuotes?response=json[&date=日期]日期為選用參數格式為YYYY/MM/DD(需百分號編碼),省略為最新交易日資料,大約每日16:00更新。
註:「/」以百分號編碼後就是「%2F」
請問一下,他改日期的功能失效了嗎,我有照您的作法但還是出現今天的資訊
回覆刪除https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw_20191212&json=1&delay=0
日期功能好像失效了,
刪除不過現在很多證券商都有提供API,也提供線上免費開戶,建議可以用看看。
證券商限制比較寬,不用擔心不小心被鎖IP,功能也比較齊全
用這個API開發app要交錢給證交所嗎?
回覆刪除免費的,不過日期功能失效,其它應該都還可以使用
刪除使用時,有5秒內不能超過3次的限制,請求太頻繁會被鎖IP一段時間喔!
請問https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=參數&json=1&delay=0,哪裡可以查到參數表?謝謝
回覆刪除這個API可以用關鍵字查詢,以下範例為查詢2330,您再研究看看;如果還是沒辦法,可以用0~9,a~z逐一做為關鍵字查詢,然後再比對移去重複項
刪除https://mis.twse.com.tw/stock/api/getStockNames.jsp?n=2330
另外一個方法,像我比較懶,是直接去證交所查詢代碼,但沒辦法查詢指數
https://isin.twse.com.tw/isin/class_i.jsp?kind=1
「市場別」選「上市」或「上櫃」
「有價證券別」選「股票」
這裡有參數表
刪除https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&type=ALLBUT0999&date=20220527
感謝您的提供~
刪除網頁初學者請問:這個API會被CORS擋嗎
回覆刪除會喔
刪除若不確定,可以開啟chrome 開發人員工具(F12),在"主控台"分頁輸入以下javascript測試
fetch('https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw&json=1&delay=0')
.then((response) => {
return response.text();
})
.then( (response) => {
console.log(response);
})
.catch((error) => {
console.log(`Error: ${error}`);
})
感謝站主即時回復
刪除本來想用這個做一個簡單的專題QQ
那應該可以利用google試算表的巨集功能,一個中繼站的概念,我沒試過,理論上應該可以,我假日可以幫忙試試看
刪除詳細方法:
透過試算表定時取得資料,用試算表的doGet()回傳javascript程式碼,程式碼為var test={"msgArray":[{"tv":"6725","ps":"6725", ...};// <-API取得的資料
在網頁內寫<script src="試算表部屬頁面的網址"></script>,網頁內的test變數就會取得資料了
因留言系統限制<>請改半形符號<>
媽 原來這世界上有好人XD
刪除如此一來太麻煩站主了
有找到部分的API可以使用
內容為盤後或前一個交易日資訊
做一個在資策會培訓的期中專題內容也夠用了
還是萬分感謝站主
測試ok,供您參考
刪除https://zys-notes.blogspot.com/2023/02/google-apps-scriptcors.html
各大證券公司很多都是三竹資訊公司做的,API都一樣
刪除可以參考我這篇的方法用chrome的開發人員工具找
https://zys-notes.blogspot.com/2019/12/excel-vba-http-getpost.html
感謝站主!!
刪除作者已經移除這則留言。
回覆刪除您好,請問是否有可以查詢*上櫃*股票*即時*股價的api,謝謝
回覆刪除上市或上櫃 即時股價都可以用這個API查詢喔~
刪除例如:群翊(6664)是
https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=otc_6664.tw&json=1&delay=0
您好,感謝您的迅速回覆。不過不好意思,我剛才的問題不夠準確,我比較想知道的是,對上櫃股票而言,有沒有類似"最新的證券代碼表"的API,一次可以查到全部上櫃股票的最新價格,謝謝
回覆刪除不用客氣,有空有看到就會回覆。
刪除有試過上面 3.6 的方法嗎? 可以一次取得很多組喔!
上櫃的證券代碼表查詢方法更新在5.4了