curl --request GET \
--url 'https://v5.oddspapi.io/zh/fixtures/settlement?apiKey='import requests
url = "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"fixtureId": "id1400003160574219",
"reissuedFixtureId": null,
"status": {
"live": false,
"statusId": 2,
"statusName": "Finished"
},
"sport": {
"sportId": 14,
"sportName": "American Football"
},
"tournament": {
"tournamentId": 31,
"tournamentName": "NFL",
"categoryName": "USA"
},
"season": {
"seasonId": null,
"seasonName": null,
"seasonRound": null
},
"venue": {
"venueId": null,
"venueName": null,
"venueLocation": null
},
"startTime": 1766685600,
"trueStartTime": "2025-12-25T18:00:17.744256+00:00",
"trueEndTime": "2025-12-25T21:09:09.345372+00:00",
"participants": {
"participant1Id": 4423,
"participant1RotNr": null,
"participant1Name": "Minnesota Vikings",
"participant1ShortName": "Vikings",
"participant1Abbr": null,
"participant2Id": 4419,
"participant2RotNr": null,
"participant2Name": "Detroit Lions",
"participant2ShortName": "Lions",
"participant2Abbr": null
},
"scores": {
"result": {
"period": "result",
"participant1Score": 23,
"participant2Score": 30,
"updatedAt": "2025-12-25T20:59:04.218194+00:00"
}
},
"clock": {
"currentPeriod": null,
"currentTime": null,
"remainingTime": null,
"remainingTimeInPeriod": null,
"stopped": null
},
"expectedPeriods": 4,
"periodLength": 15,
"externalProviders": {
"betgeniusId": 12281950,
"betradarId": 60574219,
"flashscoreId": "lWoCl15F",
"mollybetId": "2025-12-25,10050390,21622",
"opticoddsId": "20251225B0C134B3",
"pinnacleId": 1621042823,
"sofascoreId": 13897686
},
"settlements": [
{
"marketId": 141,
"marketType": "1x2",
"outcomeId": 142,
"playerId": 0,
"status": "WIN",
"team1Score": 23,
"team2Score": 30,
"periods": [
"fulltime"
],
"margin": 7
},
{
"marketId": 141,
"marketType": "1x2",
"outcomeId": 141,
"playerId": 0,
"status": "LOSE",
"team1Score": 23,
"team2Score": 30,
"periods": [
"fulltime"
],
"margin": -7
}
]
}赛事结算
获取赛事的结算数据。
查询模式:必需 fixtureId + 可选 outcomeId、可选 playerId。
curl --request GET \
--url 'https://v5.oddspapi.io/zh/fixtures/settlement?apiKey='import requests
url = "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v5.oddspapi.io/zh/fixtures/settlement?apiKey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://v5.oddspapi.io/zh/fixtures/settlement?apiKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"fixtureId": "id1400003160574219",
"reissuedFixtureId": null,
"status": {
"live": false,
"statusId": 2,
"statusName": "Finished"
},
"sport": {
"sportId": 14,
"sportName": "American Football"
},
"tournament": {
"tournamentId": 31,
"tournamentName": "NFL",
"categoryName": "USA"
},
"season": {
"seasonId": null,
"seasonName": null,
"seasonRound": null
},
"venue": {
"venueId": null,
"venueName": null,
"venueLocation": null
},
"startTime": 1766685600,
"trueStartTime": "2025-12-25T18:00:17.744256+00:00",
"trueEndTime": "2025-12-25T21:09:09.345372+00:00",
"participants": {
"participant1Id": 4423,
"participant1RotNr": null,
"participant1Name": "Minnesota Vikings",
"participant1ShortName": "Vikings",
"participant1Abbr": null,
"participant2Id": 4419,
"participant2RotNr": null,
"participant2Name": "Detroit Lions",
"participant2ShortName": "Lions",
"participant2Abbr": null
},
"scores": {
"result": {
"period": "result",
"participant1Score": 23,
"participant2Score": 30,
"updatedAt": "2025-12-25T20:59:04.218194+00:00"
}
},
"clock": {
"currentPeriod": null,
"currentTime": null,
"remainingTime": null,
"remainingTimeInPeriod": null,
"stopped": null
},
"expectedPeriods": 4,
"periodLength": 15,
"externalProviders": {
"betgeniusId": 12281950,
"betradarId": 60574219,
"flashscoreId": "lWoCl15F",
"mollybetId": "2025-12-25,10050390,21622",
"opticoddsId": "20251225B0C134B3",
"pinnacleId": 1621042823,
"sofascoreId": 13897686
},
"settlements": [
{
"marketId": 141,
"marketType": "1x2",
"outcomeId": 142,
"playerId": 0,
"status": "WIN",
"team1Score": 23,
"team2Score": 30,
"periods": [
"fulltime"
],
"margin": 7
},
{
"marketId": 141,
"marketType": "1x2",
"outcomeId": 141,
"playerId": 0,
"status": "LOSE",
"team1Score": 23,
"team2Score": 30,
"periods": [
"fulltime"
],
"margin": -7
}
]
}授权
作为 apiKey 查询参数传入的 API 密钥。
查询参数
Single fixture ID (e.g. id1400003160574219).
Optional: restrict settlements to a single outcomeId.
Optional: restrict settlements to a single playerId.
响应
Returns FixtureSettlementResponse (fixture meta + settlements[])
赛事标识符:{prefix}{sportId}{tournamentId}{nativeId} —— 参见核心概念 → ID 结构。
当一场被取消的赛事以新的 id 重新上架时,这里是替代它的那场赛事。null 才是常态:只有在赛事已被取消(status.statusId 为 3)且替代赛事确实已出现在数据流中时才会被填充,因此永久性取消会一直保持 null,而一场赛事也可能在您首次看到它被取消之后才从 null 变为具体的 id。只指向一跳:若该替代赛事本身也被取消,请继续跟随它自己的 reissuedFixtureId。
赛事的生命周期状态。
Show child attributes
Show child attributes
运动引用。
Show child attributes
Show child attributes
锦标赛引用。
Show child attributes
Show child attributes
赛季引用(如已解析)。
Show child attributes
Show child attributes
场馆引用(如已知)。
Show child attributes
Show child attributes
Epoch seconds (UTC).
双方参赛者,含名称、轮转号和缩写。
Show child attributes
Show child attributes
按赛段键组织的比分行(result、p1……)。
Show child attributes
Show child attributes
比赛进行中的实时计时。
Show child attributes
Show child attributes
该赛事在外部数据源(betradar、pinnacle 等)的原生标识符。
Show child attributes
Show child attributes
实际开始时间(ISO 8601,一旦已知)—— 可能与计划的 startTime 不同。
实际结束时间(ISO 8601,一旦已知)。
该赛事预期的常规赛段数 —— 结合 periodLength 用于按运动/联赛解读赛段键。
常规赛段的时长(分钟)。
该赛事按博彩公司划分的可用性与新鲜度元数据。仅包含当前为该赛事提供有效实时赔率的博彩公司。在赛事和赔率端点中返回;在 CLV、历史赔率和结算响应中省略。
Show child attributes
Show child attributes