即時比分 API
本文件介紹如何取得賽事比分,包含各小節得分、總分,棒球另外包含安打數、失誤數。
如何使用
| 服務端點 | |
| GET | https://api.sportsbot.tech/v2/scores |
| 參數 | 內容 |
|
必填 sport |
String 賽事類型,支援下列幾種聯盟 |
|
必填 date |
String 日期,限定格式YYYY-MM-DD |
程式範例
Note
試用密鑰每日限額 20 次,其餘規範請參考密鑰說明,並取得您的專屬密鑰。
import requests
params = {'sport': 'FTB', # 選擇賽事
'date': 'YYYY-MM-DD'} # 指定日期
headers = {'X-JBot-Token': 'YOUR_TOKEN'} # 填寫密鑰
url = 'https://api.sportsbot.tech/v2/scores'
res = requests.get(url, headers=headers, params=params)
print(res.json())
const axios = require('axios');
async function run(){
const params = {
sport: 'FTB', // 選擇賽事
date: 'YYYY-MM-DD' // 指定日期
};
const headers = {'X-JBot-Token': 'YOUR_TOKEN'}; // 填寫密鑰
const url = 'https://api.sportsbot.tech/v2/scores';
try{
const response = await axios.get(url, {params, headers});
console.log(response.data);
}catch(error){
console.error(error.message);
}
}
run();
require 'uri'
require 'json'
require 'net/http'
params = {
'sport' => 'FTB', # 選擇賽事
'date' => 'YYYY-MM-DD' # 指定日期
}
url = URI('https://api.sportsbot.tech/v2/scores')
url.query = URI.encode_www_form(params)
request = Net::HTTP::Get.new(url)
request['X-JBot-Token'] = 'YOUR_TOKEN' # 填寫密鑰
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
response = http.request(request)
puts JSON.parse(response.body)
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var parameters = new Dictionary<string, string>
{
{"sport", "FTB"}, // 選擇賽事
{"date", "YYYY-MM-DD"} // 指定日期
};
var url = "https://api.sportsbot.tech/v2/scores?" + ToQueryString(parameters);
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Add("X-JBot-Token", "YOUR_TOKEN"); // 填寫密鑰
HttpResponseMessage response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
static string ToQueryString(Dictionary<string, string> parameters)
{
var keyValuePairs = parameters.Select(kv => $"{Uri.EscapeDataString(kv.Key)}={Uri.EscapeDataString(kv.Value)}");
return string.Join("&", keyValuePairs);
}
}
<?php
$params = [
'sport' => 'FTB', // 選擇賽事
'date' => 'YYYY-MM-DD' // 指定日期
];
$url = 'https://api.sportsbot.tech/v2/scores?' . http_build_query($params);
$headers = ['X-JBot-Token: YOUR_TOKEN']; // 填寫密鑰
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
?>
回傳格式
回傳均為 JSON 格式,範例如下:
{
"status": "OK", // 狀態,"OK"或其他錯誤訊息
"user": {
"day_limit": 300, // 每日限額
"day_used": 1, // 已使用次數
"email": "Trial User", // 訂閱者信箱
"expiry": "2025-12-31" // 訂閱期限
},
"data": [ // 回傳資料為 list,包含每場賽事資訊
{
"time": "2024-02-25T09:00", // 開賽時間
"away": "奧蘭多魔術", // 客場名稱
"home": "底特律活塞", // 主場名稱
"league": "美國職籃", // 聯盟名稱
// 比賽狀態
// "Scheduled" 未開始
// "Warmup" 即將開始/暖身中
// "Postponed" 延期
// "Canceled" 取消
// "In Progress" 比賽中
// "Final" 完賽
// "No Result" 延期或取消
// ... 或其他狀態
"status": "Final",
"result": { // 比分存在 result 中
"away": { // 客場
"box": [32, 33, 25, 22], // 各節比分 (list[int])
"score": 112 // 總分、勝局數
// set 勝盤分 (網球、排球)
// hit 安打數 (棒球)
// error 失誤數 (棒球)
},
"home": { // 主場
"box": [30, 25, 30, 24],
"score": 109
}
}
}
]
}
{
"status": "OK",
"user": { ... },
"data": [
{
// 賽事 1,未開打狀態為 Scheduled,且無 result 鍵值
"status": "Scheduled"
},
{
// 賽事 2,棒球 box 格式為 list[str]
// 因九局下可能不用打直接結束
"home": {
"box": ["1", "2", "3", "4", "5", "6", "7", "8", "X"]
}
},
}
補充說明
- 賽事僅會列出台灣運彩已開盤之比賽,若無開盤則也不會有狀態
Scheduled - 有時資料不齊全,
result可能有以下情形- 單獨出現
score,無box - 單獨出現
set,無score
- 單獨出現
- 網球、排球判斷勝負的依據
- 不讓分盤:依照勝盤分
set - 讓分盤:依照勝局數
score - 總分盤:依照勝局數
score
- 不讓分盤:依照勝盤分
- 資料更新頻率約為每 10-20 分鐘
- 特殊賽事無場中比分,將於賽後 12 小時內更新完畢