用 Python 攞匯率嘅方法
幾行代碼就喺 Python 讀到即時同歷史外匯匯率。起步唔使 key,註冊後每月 10,000 次呼叫,而且每個回應都話你知匯率有幾新。
喺 Python 攞匯率最短嘅路徑係向 /v1/latest/USD 發一個 GET 請求。返嚟嘅 JSON 有 31 種貨幣嘅匯率,加兩個新鮮度欄位:source 同 market_session。第一次呼叫唔使 API key。
Key points
一次 GET
/v1/latest/{base} 就以 JSON 返回 31 種貨幣嘅匯率。每個回應都帶住
source 同 market_session,每個匯率有幾新一目了然。免費計劃每月 10,000 次呼叫、每分鐘 12 次請求,唔使信用卡。
匯率係指示性,為參考同分析而發佈 — 唔係交易報價。
第一次呼叫,零依賴
標準庫以外咩都唔使。一次呼叫用 urllib.request 就搞掂:
呢段代碼唔使 key 都行到。匿名呼叫按 IP 地址設上限,所以超過簡單測試就應該攞個免費 key。
用 requests 加 API key
大部分項目本身已經用緊 requests。將 key 以 bearer token 傳送:
免費 key 將上限提升到每月 10,000 次呼叫、每分鐘 12 次請求。設定唔到 Authorization 嘅平台可以用 X-API-Key 標頭。
換算一個金額
如果要嘅係換算而唔係成個匯率表,就呼叫 /v1/convert。匯率同換算結果一齊返回:
知道匯率有幾新
每個回應嘅兩個欄位話你知眼前係咩數據。source 係數據類別:綜合現貨嘅 live、歐洲央行參考定盤價嘅 ecb_daily、聯儲局每日系列嘅 fred_daily。market_session 係 open、weekend,或者代表已知非週末休市嘅 interbank_closed。
指示性,唔可以用嚟結算
匯率係為參考、分析同顯示而發佈,唔係交易報價,唔應該用嚟結算交易。每個回應嘅
notice 欄位都帶住呢句話。讀過去某一日
將日期放入路徑,就可以查詢遠至 1999 年嘅任何一日。回應會多一個 is_forward_filled 欄位,如果嗰日冇發佈匯率(例如週末或者假期)就係 true:
想一次呼叫攞成個日期範圍嘅序列,就用 /v1/range 加 start_date 同 end_date。另有一篇指南詳細講。
MM
exchangerate.dev
為開發者提供嘅整合指南。