Skip to content

介面限頻

為保障平台穩定與帳戶安全,OpenAPI 對每類介面都施加了配額。請在客戶端開發初期就按限頻規則設計,限額嚴格執行。

限頻規則

類別限制
行情介面每帳戶僅允許 1 條長連接,同時訂閱標的不超過 500 支;每秒調用不超過 10 次,並行請求不超過 5 個。
交易介面每 30 秒內調用不超過 30 次,兩次調用之間的間隔不得少於 20 ms

超限回應

達到限額時,伺服器返回 HTTP 429 Too Many Requests,並通過 Retry-After 回應標頭告知需要等待的秒數:

http
HTTP/1.1 429 Too Many Requests
Retry-After: 2
Content-Type: application/json

{ "code": 429001, "message": "rate limit exceeded" }

重試策略

推薦使用指數退避(Exponential Backoff)策略處理限流:

python
import time
import requests

def safe_request(url, headers, data, max_retries=3):
    for i in range(max_retries):
        resp = requests.post(url, headers=headers, json=data)
        if resp.status_code == 429:
            wait = int(resp.headers.get('Retry-After', 2 ** i))
            time.sleep(wait)
            continue
        return resp
    raise Exception("max retries exceeded")

最佳實踐

  • 批量請求 — 把多個標的合併為一次調用,例如 code_list 支持最多 400 個標的。
  • 快取靜態數據 — 交易日曆、板塊列表等不常變化的數據應在本地快取。
  • 監聽回應標頭 — 關注 X-RateLimit-Remaining 回應標頭,提前預測限流。
  • 錯峰調用 — 避免在開盤時段集中發送大量請求。

相關內容