赛事赔率
curl --request GET \
--url 'https://v5.oddspapi.io/zh/fixtures/odds?apiKey='import requests
url = "https://v5.oddspapi.io/zh/fixtures/odds?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://v5.oddspapi.io/zh/fixtures/odds?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/odds?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/odds?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/odds?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://v5.oddspapi.io/zh/fixtures/odds?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": "id1100013270505136",
"status": {
"live": false,
"statusId": 0,
"statusName": "Pre-Game"
},
"sport": {
"sportId": 11,
"sportName": "Basketball"
},
"tournament": {
"tournamentId": 132,
"tournamentName": "NBA",
"categoryName": "USA"
},
"season": {
"seasonId": 131631,
"seasonName": "NBA 25/26",
"seasonRound": null
},
"venue": {
"venueId": 6112,
"venueName": "Frost Bank Center",
"venueLocation": "San Antonio, TX, USA"
},
"startTime": 1776816000,
"trueStartTime": null,
"trueEndTime": null,
"participants": {
"participant1Id": 3429,
"participant1RotNr": 301,
"participant1Name": "San Antonio Spurs",
"participant1ShortName": "San Antonio",
"participant1Abbr": "SAS",
"participant2Id": 3414,
"participant2RotNr": 300,
"participant2Name": "Portland Trail Blazers",
"participant2ShortName": "Portland",
"participant2Abbr": "POR"
},
"scores": {},
"clock": {
"currentPeriod": null,
"currentTime": null,
"remainingTime": null,
"remainingTimeInPeriod": null,
"stopped": null
},
"expectedPeriods": 4,
"periodLength": 12,
"externalProviders": {
"betgeniusId": 13808312,
"betradarId": 70505136,
"flashscoreId": "ruuPcnS7",
"mollybetId": "2026-04-22,29115,29108",
"oddinId": null,
"opticoddsId": "20260422A553CF52",
"pinnacleId": 1628488896,
"sofascoreId": 15934995,
"lsportsId": null,
"txoddsId": null
},
"odds": {
"pinnacle": {
"id1100013270505136:pinnacle:111:0": {
"bookmaker": "pinnacle",
"outcomeId": 111,
"playerId": 0,
"active": true,
"price": 1.155,
"marketActive": true,
"mainLine": true,
"bookmakerMarketId": "line/4/487/1628488896/3565645414/0/moneyline",
"bookmakerOutcomeId": "home",
"bookmakerChangedAt": 1776717657043,
"limit": 19354,
"priceAmerican": -645,
"priceFractional": "11/71",
"marketId": 111,
"changedAt": 1776717657402
},
"id1100013270505136:pinnacle:112:0": {
"bookmaker": "pinnacle",
"outcomeId": 112,
"playerId": 0,
"active": true,
"price": 5.77,
"marketActive": true,
"mainLine": true,
"bookmakerMarketId": "line/4/487/1628488896/3565645414/0/moneyline",
"bookmakerOutcomeId": "away",
"bookmakerChangedAt": 1776717657043,
"limit": 3000,
"priceAmerican": 477,
"priceFractional": "477/100",
"marketId": 111,
"changedAt": 1776717657402
}
}
},
"bookmakers": {
"pinnacle": {
"bookmaker": "pinnacle",
"bookmakerFixtureId": "1628488896",
"fixturePath": "https://www.pinnacle.com/en/e/e/e/1628488896/#all",
"hasOdds": true,
"staleOdds": false,
"staleOddsResponseCode": null,
"suspended": false,
"participantsRotated": false,
"meta": null,
"updatedAt": "2026-04-20T13:54:39.472368+00:00"
}
}
}fixtures/odds
赛事赔率
获取赛事当前赔率。
查询模式:必需 fixtureId + 可选 bookmakers,可选过滤标志。
如果提供 since,返回 changedAt >= since 的赔率更新。
GET
/
fixtures
/
odds
赛事赔率
curl --request GET \
--url 'https://v5.oddspapi.io/zh/fixtures/odds?apiKey='import requests
url = "https://v5.oddspapi.io/zh/fixtures/odds?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://v5.oddspapi.io/zh/fixtures/odds?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/odds?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/odds?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/odds?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://v5.oddspapi.io/zh/fixtures/odds?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": "id1100013270505136",
"status": {
"live": false,
"statusId": 0,
"statusName": "Pre-Game"
},
"sport": {
"sportId": 11,
"sportName": "Basketball"
},
"tournament": {
"tournamentId": 132,
"tournamentName": "NBA",
"categoryName": "USA"
},
"season": {
"seasonId": 131631,
"seasonName": "NBA 25/26",
"seasonRound": null
},
"venue": {
"venueId": 6112,
"venueName": "Frost Bank Center",
"venueLocation": "San Antonio, TX, USA"
},
"startTime": 1776816000,
"trueStartTime": null,
"trueEndTime": null,
"participants": {
"participant1Id": 3429,
"participant1RotNr": 301,
"participant1Name": "San Antonio Spurs",
"participant1ShortName": "San Antonio",
"participant1Abbr": "SAS",
"participant2Id": 3414,
"participant2RotNr": 300,
"participant2Name": "Portland Trail Blazers",
"participant2ShortName": "Portland",
"participant2Abbr": "POR"
},
"scores": {},
"clock": {
"currentPeriod": null,
"currentTime": null,
"remainingTime": null,
"remainingTimeInPeriod": null,
"stopped": null
},
"expectedPeriods": 4,
"periodLength": 12,
"externalProviders": {
"betgeniusId": 13808312,
"betradarId": 70505136,
"flashscoreId": "ruuPcnS7",
"mollybetId": "2026-04-22,29115,29108",
"oddinId": null,
"opticoddsId": "20260422A553CF52",
"pinnacleId": 1628488896,
"sofascoreId": 15934995,
"lsportsId": null,
"txoddsId": null
},
"odds": {
"pinnacle": {
"id1100013270505136:pinnacle:111:0": {
"bookmaker": "pinnacle",
"outcomeId": 111,
"playerId": 0,
"active": true,
"price": 1.155,
"marketActive": true,
"mainLine": true,
"bookmakerMarketId": "line/4/487/1628488896/3565645414/0/moneyline",
"bookmakerOutcomeId": "home",
"bookmakerChangedAt": 1776717657043,
"limit": 19354,
"priceAmerican": -645,
"priceFractional": "11/71",
"marketId": 111,
"changedAt": 1776717657402
},
"id1100013270505136:pinnacle:112:0": {
"bookmaker": "pinnacle",
"outcomeId": 112,
"playerId": 0,
"active": true,
"price": 5.77,
"marketActive": true,
"mainLine": true,
"bookmakerMarketId": "line/4/487/1628488896/3565645414/0/moneyline",
"bookmakerOutcomeId": "away",
"bookmakerChangedAt": 1776717657043,
"limit": 3000,
"priceAmerican": 477,
"priceFractional": "477/100",
"marketId": 111,
"changedAt": 1776717657402
}
}
},
"bookmakers": {
"pinnacle": {
"bookmaker": "pinnacle",
"bookmakerFixtureId": "1628488896",
"fixturePath": "https://www.pinnacle.com/en/e/e/e/1628488896/#all",
"hasOdds": true,
"staleOdds": false,
"staleOddsResponseCode": null,
"suspended": false,
"participantsRotated": false,
"meta": null,
"updatedAt": "2026-04-20T13:54:39.472368+00:00"
}
}
}授权
Your API key (query-based auth for v5).
查询参数
Single fixture ID (e.g. id1400003160574219).
Comma/space-separated bookmaker slugs (default: all).
changedAt >= since (ms)
If set, filter by marketActive flag.
If set, filter by mainLine flag.
响应
Returns FixtureOddsResponse (fixture meta + odds + bookmaker meta)
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
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
⌘I