Changelog
Changes to the API that affect what your code reads, newest first.
October 2026: odds are grouped by market
GET /v1/odds, GET /v1/events/{event_id}/odds and the odds stream now group prices by market. Each event has markets, each market its outcomes, and each outcome its prices: one per bookmaker, best first. Every market and outcome appears once, however many bookmakers quote it, so responses are roughly a third to nearly half smaller.
What moved:
| Before | Now |
|---|---|
event.bookmakers[].markets[] | event.markets[] |
outcome.decimal_odds, implied_probability, available, bookmaker, observed_at | the same fields on each entry of outcome.prices |
outcome.alternate | market.alternate |
bookmaker name in each response | bookmaker keys; names from GET /v1/bookmakers |
Ids, keys, filters, the data, meta and links envelope and usage are unchanged: one object per event plus one per bookmaker price.
To keep the previous grouping, add group_by=bookmaker to the request. It returns exactly the earlier shape. See Reading prices.
Need help?FAQ · Email support