商品期貨與總經 API

2 個端點 · 商品 · 總體經濟

最後更新 2026-10
Base URL
https://api.blave.org
認證
每個請求都要帶 api-key 與 secret-key 標頭
權限
API plan or Blave Agent plan
頻率限制
每組金鑰、每個 IP 各 5 分鐘 500 次

CME / ICE 期貨 K 線

GET/studio/market/db/ohlcv/<dataset>/<symbol>/<schema>
資料起始
2010-06-06
更新頻率
延遲約 4 小時

參數

名稱說明可用值預設
dataset
string · path必填
交易所資料集GLBX.MDP3(CME)、IFEU.IMPACT(ICE)
symbol
string · path必填
近月連續合約GLBX.MDP3:CL(WTI 原油)、GC(黃金);IFEU.IMPACT:BRN(布蘭特原油)
schema
string · path必填
K 棒週期ohlcv-1d, ohlcv-1h, ohlcv-1m
start
string · query
起始日YYYY-MM-DDend − 該週期的最大區間
end
string · query
結束日期YYYY-MM-DD今天(UTC)

每次請求的最大區間(end − start):ohlcv-1d 3650 天 · ohlcv-1h 730 天 · ohlcv-1m 31 天。

範例

Python
data = requests.get(f"{BASE_URL}/studio/market/db/ohlcv/GLBX.MDP3/CL/ohlcv-1d", headers=headers,                    params={"start": "2024-01-01", "end": "2024-12-31"}, timeout=60).json()["data"]# [{"ts": "2024-01-02 00:00:00+00:00", "open": 71.95, "high": 73.64, "low": 70.06, "close": 70.5,#   "volume": 263594, "instrument_id": 686071},#  {"ts": "2024-01-03 00:00:00+00:00", "open": 70.49, "high": 73.23, "low": 69.28, "close": 73.05,#   "volume": 253755, "instrument_id": 686071}, ...]

回應

{"dataset", "symbol", "schema", "data": [...]}.

欄位型別單位說明
tsstringUTC ISO 格式K 棒開盤時間
open / high / low / closefloat美元(原油:每桶;黃金:每盎司)價格
volumeint口成交量
instrument_idint—上游的商品 id,從來源 K 棒原樣帶出

錯誤

狀態碼回應內容情況
400{"error": "Invalid schema. Allowed: [...]"}週期不對
400{"error": "Invalid dataset/symbol combination"}組合不對
400{"error": "Invalid date format. Use YYYY-MM-DD"}日期格式錯誤
400{"error": "date_range_too_large", "message": "...", "max_days": <n>}區間超過上限
404錯誤訊息沒有資料

備註

  • 最近約 4 小時的資料無法取得。
  • 要抓長區間的 ohlcv-1m 歷史,請以 ≤ 31 天為一段分次請求再接起來(一段要幾秒)。

總經事件行事曆

GET/studio/market/anue/economic_calendar
權限
Any valid key
頻率限制
每個帳號每分鐘 100 次請求
資料起始
滾動視窗:大約過去一個月到未來幾週
更新頻率
伺服器快取 5 分鐘

參數

全部選填;不篩選會回整份資料(約 1,400 列),所以一律要篩選。

名稱說明可用值預設
start
string · query
這個日期(含)之後的事件YYYY-MM-DD(台北日期)無下限
end
string · query
這個日期(含)之前的事件YYYY-MM-DD(台北日期)無上限
country
string · query
國家篩選ISO-2 代碼,以逗號分隔,不分大小寫,例如 US,CN,TW所有國家
max_priority
int · query
只留 priority <= max_priority。1 最重要,所以只看大事件 = max_priority=11 / 2 / 3所有優先級
limit
int · query
依事件時間排序後只留前 N 筆≥ 1不限
lang
string · query
countryName/subject 的顯示語言;伺服器對照表裡沒有的名稱會維持原樣,所以 en 會回中英混雜的結果en / zhen

範例

Python
params = {"start": "2026-09-16", "end": "2026-09-23", "max_priority": 1, "lang": "zh"}response = requests.get(    f"{BASE_URL}/studio/market/anue/economic_calendar",    headers=headers, params=params, timeout=60,)data = response.json()# [{"id": 79382, "startDate": 1790121600, "date": 1788220800, "dateUnit": "month", "time": "16:30",#   "countryId": "GB", "countryName": "英國", "areaId": "4",#   "subject": "S&P Global Manufacturing PMI - 初值", "subjectTitle": "<9月>", "unit": "point",#   "predict": 51.7, "last": 51.7, "real": None, "correct": None, "correctMark": "N",#   "place": None, "priority": 1, "type": 2}, ...]

回應

一個裸的 JSON 陣列(沒有包在 {"data": ...} 裡)。順序是資料本身的順序,除非有設 limit(這時依 startDate、time 排序)。

欄位型別單位說明
startDateintepoch 秒事件的台北日曆日期
timestring | nullHH:MM 台北時間公布時間;未公布時為 null
countryIdstringISO-2國家代碼
countryNamestring—國家名稱(依 lang)
subjectstring—指標名稱(依 lang)
subjectTitlestring—期間標籤,例如 <7月>、<2季>
predictnumber | nullunit市場預期
lastnumber | nullunit前值
realnumber | nullunit實際值;公布前為 null
unitstring—e.g. %, point, 億USD
priorityint1–31 = 最重要(非農就業、利率決議),3 = 最不重要(鑽油井數)

實際回應還帶了下列欄位,是從上游資料原樣帶出的。這裡只寫觀察到的內容,不要做更多解讀。

欄位型別觀察到的內容
idint上游的事件 id,例如 79382
dateint數據所屬期間的 epoch 秒,不是公布時間:標示 subjectTitle: "<9月>" 的列,date = 2026-09-01,而 startDate 是 2026-09-23
dateUnitstringmonth
typeint2
areaIdstring"4"
placestring | nullnull
correctnumber | nullnull
correctMarkstring"N"

錯誤

狀態碼回應內容情況
400{"error": "Invalid date format. Use YYYY-MM-DD"}start/end 格式錯誤
400{"error": "max_priority must be an integer"}max_priority 不是整數
400{"error": "limit must be an integer"} / {"error": "limit must be >= 1"}limit 不對
429{"error_code": "ERR429", "message": "User rate limit exceeded"}每分鐘超過 100 次請求

備註

  • 區間落在滾動視窗之外時回 200 與 [],意思是「未涵蓋」,不是「沒有排定的事件」。
  • 有設 start/end 時,沒有日期的事件會被丟掉;有設 max_priority 時,沒有優先級的事件會被丟掉。
  • 總經事件與其數字只認這個來源,絕不要用網路搜尋或記憶中的數值代替。財經日曆彙整網站的表格會有錯(有一個把已公布的實際值列成市場預期),頁面沒涵蓋的欄位則會被訓練資料補上,前值只有一個正確答案,就曾經這樣被寫錯。這個端點答不出來時,就直說。
  • 視窗是滾動的,大約是過去一個月加上未來幾週,不是歷史資料庫。
  • real 在公布後才會填入。