Racing
Race price history
Each book's fixed win and place moves for one race, oldest first.
GET
/odds/v1/racing/history- Cost
- 2 tokens
- Authentication
- X-API-Key, your own key (not the demo key)
Parameters
race_idstringrequiredA race_id from /racing/meetings.bookcomma listrequiredOne book, or up to 5, from /books, e.g. bet365,sportsbet.runnerintegeroptionalOne runner, by saddlecloth number.Default:all runnersformatstringoptionaldecimal, american or fractional. See Odds formats.Default:decimal
Request
The demo key (Free plan) cannot call this endpoint: it answers 403 plan_required. Set ODDS_API_KEY to your own key first.
curl -s "https://api.b337.ai/odds/v1/racing/history?race_id=gawler%2F4%2F%28R%29%2Fau%2F2026-10-05&book=bet365%2Csportsbet&runner=1" \
-H "X-API-Key: $ODDS_API_KEY"import os
import requests
resp = requests.get(
"https://api.b337.ai/odds/v1/racing/history",
params={"race_id": "gawler/4/(R)/au/2026-10-05", "book": "bet365,sportsbet", "runner": "1"},
headers={"X-API-Key": os.environ["ODDS_API_KEY"]},
timeout=10,
)
resp.raise_for_status()
print(resp.json())// Node 18+, saved as an .mjs file
const res = await fetch("https://api.b337.ai/odds/v1/racing/history?race_id=gawler%2F4%2F%28R%29%2Fau%2F2026-10-05&book=bet365%2Csportsbet&runner=1", {
headers: { "X-API-Key": process.env.ODDS_API_KEY },
});
console.log(await res.json());Response
200 OK
{"schema_version": 1, "race_id": "gawler/4/(R)/au/2026-10-05",
"books": {"bet365": [{"number": 1, "name": "Super Choice", "points": [
{"at": "2026-10-05T04:01:26Z", "win": 3.4, "place": 1.5},
{"at": "2026-10-05T04:01:32Z", "win": 3.4, "place": 1.55},
{"at": "2026-10-05T04:01:51Z", "win": 3.4, "place": 1.5}]}],
"sportsbet": []},
"truncated": false, "odds_format": "decimal", "generated_at": "2026-10-05T04:15:10Z"}Fields
- Each book maps to a list of runners; each runner has
points, oldest first. A point is written only when that book's price changes, so a price holds until the next point. - An empty list means that book has no recorded move for that runner on this race.
- The newest 20,000 points are kept;
truncated: truemeans older points were dropped. - Fixed-odds moves only. Betfair price history is not served yet.
formatconverts every price; see odds formats.
book is required (1 to 5 books) and the demo key cannot call this endpoint.