RacingLLM B2B API 文檔 v3.0
REST API for 香港賽馬 AI 預測、歷史數據、操練記錄同 AI 馬評。
概覽
所有 endpoint 返 JSON,認證用 Bearer token(API key)。數據覆蓋:30K+ 場本地賽事 + 海外轉播賽事(S1-S9)、1.16M 操練記錄、1,996 次試閘、673K+ 賠率數據。
海外賽事包含:HKJC 匯合彩池賠率(WIN/PLA/QIN/QPL)、Bookmaker 賠率(Bet365/Unibet 等)、AI 預測(Score% + PICK)。Venue code 用 S1, S2, S3... 格式。
Base URL: https://racingapi.scga.hk/v1
認證
所有 B2B endpoint 需要 API key 作為 Bearer token:
curl -H "Authorization: Bearer <YOUR_API_KEY>" \ https://racingapi.scga.hk/v1/b2b/races
API Key 等級
| 等級 | 每分鐘限額 | 每月配額 | 超額 |
|---|---|---|---|
| Pro | 30 | 10,000 | HK$0.10/次 |
| Business | 120 | 50,000 | HK$0.10/次 |
| Enterprise | 300 | 無限 | — |
錯誤回應
| Code | 意思 |
|---|---|
| 401 | Authorization header 漏咗 / 格式錯 |
| 403 | API key 無效 / 停用 / 過期 / 等級不足 |
| 429 | 超出每分鐘限額,60 秒後重試 |
| 404 | 搵唔到資源 |
| 400 | 請求參數錯誤 |
| 500 | 伺服器內部錯誤 |
{"detail": "Invalid or inactive API key"}等級權限矩陣
| 功能 | Pro | Business | Enterprise |
|---|---|---|---|
| 賽事日期 / 列表 | ✓ | ✓ | ✓ |
| 預測 + 策略 | ✓ | ✓ | ✓ |
| AI 馬評 | ✓ | ✓ | ✓ |
| 季績統計 | ✓ | ✓ | ✓ |
| 馬匹搜尋 / 資料 | 本季 | 全季 | 全季 |
| 馬匹賽績 | 20 筆/本季 | 100 筆/全季 | 500 筆/全季 |
| 操練記錄 | — | ✓ | ✓ |
| 試閘記錄 | — | ✓ | ✓ |
| 騎師 / 練馬師資料 | ✓ | ✓ | ✓ |
| 賠率時序 | ✓ | ✓ | ✓ |
| 分段時間分析 | — | ✓ | ✓ |
| QIN/QPL 對陣矩陣 | — | ✓ | ✓ |
| 原始模型評分 | — | — | ✓ |
| Webhook | — | ✓ | ✓ |
※ B2B API key 由管理員人手開通(聯絡 RacingLLM),唔設網上自助購買。
Endpoints
/v1/b2b/races列出所有賽事日期/v1/b2b/races/{date}按日期列出賽事 + 預測/v1/b2b/races/{date}/{venue}/{race_no}完整賽事詳情(按等級開放)/v1/b2b/predictions/latest最新預測/v1/b2b/commentary/{date}AI 馬評文章(5 persona)/v1/b2b/stats/{season}季績命中率 + G5 投注策略 ROI(近 5 季 walk-forward)賽事詳情回應
GET /v1/b2b/races/2026-06-10/HV/7
Business+ 額外有 sectionals;Enterprise 額外有 raw_model_scores。
{
"race_date": "2026-06-10",
"venue": "HV",
"race_no": 7,
"distance": 1650,
"race_name": "會員盃",
"race_class": "C3",
"track": "TURF",
"going": "GOOD",
"num_horses": 12,
"horses": [
{
"horse_no": 1,
"horse_name_ch": "金鎗六十",
"draw": 5,
"rating": 110,
"win_odds": 3.5,
"win_prob": 0.25,
"place_prob": 0.65,
"top4_prob": 0.85
}
],
"top4_horses": [1, 3, 7, 5],
"cold_horses": [
{ "horse_no": 8, "horse_name_ch": "精選配腳A", "tag": "精選配腳", "win_odds": 12.0 },
{ "horse_no": 12, "horse_name_ch": "精選配腳B", "tag": "精選配腳", "win_odds": 15.0 },
{ "horse_no": 2, "horse_name_ch": "冷門馬", "tag": "冷門", "win_odds": 35.0 }
],
"dark_horses": [
{ "horse_no": 2, "horse_name_ch": "冷門馬", "tag": "冷門", "win_odds": 35.0, "residual": 0.012 }
],
"confidence": { "level": "⭐⭐⭐", "score": 85, "signals": { "#1_odds": 2.3, "#2_odds": 4.1, "score_gap": 0.067 } },
"hit_rates": { "win_hit": true, "place_hit": true, "top4_hit_count": 3 },
"betting_hits": { "win_hit": true, "first4_hit": false, "trio_hit": true, "divs": { "win_div": 35.5, "f4_div": 1234.0 } },
"betting_recommendation": {
"win": { "horse": 1, "stake": 10, "estimated_hit_rate": "18%", "signal": "分歧" },
"first4": { "bankers": [1, 5], "banker": 1, "legs": [3,7,8,12,2], "stake": 100, "combos": 10, "estimated_hit_rate": "16%", "estimated_median_div": "$458", "signal": "分歧" },
"trio": { "selections": [1, 5, 3, 7], "legs": [1, 5, 3, 7], "stake": 40, "combos": 4, "estimated_hit_rate": "11%", "signal": "分歧" },
"strategy": {
"name": "G5 靈活",
"tier": "⭐⭐⭐",
"pools": ["win", "first4", "trio"],
"pool_labels": ["獨贏", "四連環", "單T"],
"headline": "first4",
"headline_label": "四連環",
"note": "G5: 分歧場限定 F4 雙膽拖5腳$10×10=$100 + 複式單T 4選$10×4=$40 + WIN(冇gate)$10 · 冇分級"
}
}
}※ v3.2: cold_horses 分 精選配腳 (Model #5-6) 同 冷門 (residual picks),用 tag 區分。confidence 改用 level (⭐⭐⭐/⭐⭐/⭐) + signals (#1_odds/#2_odds)。新增 betting_recommendation(獨贏·四連環·單T)、betting_hits(命中+真實HKJC派彩)。
※ v3.5: 投注策略已升級為 G5 靈活 —— 分歧場限定(model #1 ≠ 市場大熱),冇分級門檻。WIN $10(冇 value gate)/ F4 兩馬膽拖5腳 $100(top7 by top4_prob, $10×10注)/ 複式單T 4選 $40(top4 by place_prob, $10×4注),每分歧場合計 $150。strategy 含 name(G5 靈活)/ tier / pools / headline / note。
海外賽事回應
GET /v1/b2b/races/2026-07-28/S1/1
海外 venue code 用 S1-S9 格式,包含 HKJC 匯合彩池、Bookmaker 賠率、AI 預測(Score%)。
{
"race_date": "2026-07-28",
"venue": "S1",
"race_no": 1,
"is_overseas": true,
"country": "英國",
"course": "古活馬場",
"post_time": "2026-07-28T20:50:00+08:00",
"distance": 1985,
"track": "草地",
"going": "好地",
"num_horses": 17,
"runners": [
{ "horse_no": 1, "horse_name_ch": "任意行", "win_odds": 13.0,
"jockey_name_ch": "李奇豐", "trainer_name_ch": "伯特",
"last6run": "5/8/4/5/1" },
{ "horse_no": 7, "horse_name_ch": "迪哥芝味", "win_odds": 5.8, ... }
],
"hkjc_odds": [
{ "pool_type": "WIN", "comb_string": "07", "horse_name_ch": "迪哥芝味", "odds_value": 5.8 },
{ "pool_type": "PLA", "comb_string": "07", "odds_value": 1.7 },
{ "pool_type": "QIN", "comb_string": "07,14", "odds_value": 42.0 },
{ "pool_type": "QPL", "comb_string": "07,14", "odds_value": 19.0 }
],
"bookmaker_odds": [
{ "horse_name_en": "Diego El Queso (IRE)", "best_decimal_odds": 5.5 },
{ "horse_name_en": "Al Aali (FR)", "best_decimal_odds": 7.5 }
],
"predictions": [
{ "horse_no": 7, "name_ch": "迪哥芝味", "prob": 0.425, "pick": true },
{ "horse_no": 14, "name_ch": "皇屬晴空", "prob": 0.421, "pick": true },
{ "horse_no": 16, "name_ch": "超頂級", "prob": 0.418, "pick": true }
]
}※ runners 已過濾退出馬(Scratched);hkjc_odds 包含 WIN/PLA/QIN/QPL 四種彩池;predictions 按 Score% 高至低排序,Top 3 標記為 PICK。
Webhook 系統
Webhook 讓你嘅程式喺數據變動時實時收到推送通知。限 Business / Enterprise 等級。
事件類型
| 事件 | 描述 |
|---|---|
| results.updated | 官方賽果出爐 |
| predictions.updated | 新模型預測生成 |
| test.ping | 測試事件 |
註冊 Webhook
POST /v1/b2b/webhooks
curl -X POST -H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-server.com/hook","events":["results.updated"],"secret":"your-secret"}' \
https://racingapi.scga.hk/v1/b2b/webhooks簽名驗證(Python)
import hashlib, hmac
def verify(body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, signature)客戶端範例
Python
import requests
BASE = "https://racingapi.scga.hk/v1"
HEADERS = {"Authorization": "Bearer <YOUR_API_KEY>"}
# 搜尋馬匹
r = requests.get(f"{BASE}/b2b/horses/search", params={"q": "金"}, headers=HEADERS)
print(r.json())
# 賽事詳情(Business+ 有對陣矩陣)
r = requests.get(f"{BASE}/b2b/races/2026-07-08/HV/1", headers=HEADERS)
race = r.json()
print(f"Top 4: {race['top4_horses']}")cURL
# 列出日期賽事
curl -H "Authorization: Bearer <YOUR_API_KEY>" \
https://racingapi.scga.hk/v1/b2b/races/2026-07-08
# 分段時間分析(Business+)
curl -H "Authorization: Bearer <YOUR_API_KEY>" \
"https://racingapi.scga.hk/v1/b2b/analysis/sectionals?date=2026-07-08&venue=HV&race_no=1"
# 提交 B2B 查詢(免認證)
curl -X POST -H "Content-Type: application/json" \
-d '{"name":"John","email":"john@example.com","message":"想了解 Enterprise"}' \
https://racingapi.scga.hk/v1/b2b/inquiry數據字典
預測欄位
| 欄位 | 類型 | 描述 |
|---|---|---|
| win_prob | float (0-1) | XGBoost 模型獨贏機率 |
| place_prob | float (0-1) | 模型位置(頭三名)機率 |
| top4_prob | float (0-1) | 模型入 Top 4 機率 |
| cold_horses | array | 精選配腳(Model #5-6)+ 冷門(residual),用 tag 區分 |
| dark_horses | array | 冷門馬(residual picks),模型鍾意但市場低估 |
| confidence | object | {level: ⭐⭐⭐/⭐⭐/⭐, score, signals: {#1_odds, #2_odds}} |
| betting_recommendation | object | 投注策略(G4 全Model):分歧場限定,冇分級 — F4 一膽拖5 全Model腳 $100 + 單T 一膽拖4 全Model腳 $60 + WIN(value) $10,內含 strategy 說明(name/tier/pools/headline/note) |
| betting_hits | object | 賽後命中檢測:win_hit/first4_hit/trio_hit + divs(真實派彩) |
| betting_date_stats | object | 是日投注總回報(per-date aggregate, date list endpoint) |
場地代碼
| 代碼 | 名稱 | 跑道 |
|---|---|---|
| ST | Sha Tin 沙田 | Turf & Dirt |
| HV | Happy Valley 跑馬地 | Turf |
限額標頭
所有 B2B 回應都包含限額資訊標頭:
X-RateLimit-Minute-Remaining: 29 X-RateLimit-Month-Remaining: 9847 X-RateLimit-Month-Overage: 0
更新日誌
v3.8 (2026-08-09) — 投注策略升級為 G5 靈活:分歧場限定(model #1 ≠ 市場大熱)、2馬膽拖5腳 F4 $100 + 複式單T 4選 $40 + WIN(冇 gate)$10,每分歧場合計 $150。所有季績均改為 walk-forward 回測(真實 HKJC 派彩、組合式 ROI 數學);/v1/b2b/stats/{season} 只開放近 5 季(2021-22 → 2025-26),更早嘅 10 季回測為內部資料;公眾 /v1/stats/betting 只開放近 3 季。
v3.7 (2026-08-08) — 投注策略升級為 G4 全Model:馬膽 = model #1(純 model win_prob),配腳 = 純 model,唔再混市場賠率(舊 blend 腳退役);ranking / top4 / 馬膽 / 配腳 一律全Model。3季 walkforward 實測(真實 HKJC 派彩,F4+單T 分歧核心 $160/場)合計 +49.0% ROI(2023-24 +77.7% / 2024-25 +31.2% / 2025-26 +36.1%,1,444 場);WIN $10 value-gated side-bet 另列。
v3.6 (2026-08-07) — 投注策略升級為 G4 靈活:分歧場限定(model #1 ≠ 市場大熱)、冇分級門檻,F4 一膽拖5 blend腳 $100 + 單T 一膽拖4 blend腳 $60 + WIN(value) $10,每分歧場合計 $170。3季 walkforward 實測(真實 HKJC 派彩)合計 +20.1% ROI(2023-24 +25.5% / 2024-25 +32.1% / 2025-26 +4.4%),每季正回報。
v3.5 (2026-08-05) — /v1/stats 及 /v1/b2b/stats/{season} 改為即時計算(唔再讀舊 snapshot),返回 model_stats(全季命中率)+ pools(G4 投注 ROI,真實 HKJC 派彩、flexi-bet 單位正確);betting_recommendation.strategy 加入 name + tier。
v3.2 (2026-08-01) — XGBoost 模型上線:95 項基礎數據預測;精選配腳(Model #5-6)+ 冷門(residual)分開顯示,用 tag 區分;confidence 改用 level (⭐⭐⭐/⭐⭐/⭐) + signals (#1_odds/#2_odds);新增 betting_recommendation(獨贏·四連環·單T)、betting_hits(命中+真實HKJC派彩)、betting_date_stats(是日投注回報);flop_analysis 已移除;cold_horses 格式更新。
v3.1 (2026-07-28) — 海外賽事支援:S1-S9 venue code 可用於所有 race endpoint;返回 HKJC 匯合彩池賠率(WIN/PLA/QIN/QPL)、Bookmaker 賠率(Bet365/Unibet)、AI 預測(Score% + PICK);`has_overseas` flag on date list;`is_overseas` flag on race detail;model_rankings(M1-M4)in response。
v3.0 (2026-07-09) — 12 個新 B2B endpoint:馬匹搜尋/資料/賽績/操練/試閘、騎師練馬師搜尋/詳細、賠率時序/批次、分段分析;Business+ 有 QIN/QPL 對陣矩陣、Enterprise 有原始模型評分;Webhook 系統(HMAC-SHA256);分級數據開放。
v2.0 (2026-06-11) — 首個 B2B API 版本,三級制 Pro / Business / Enterprise。