Upsets
The longest-priced winners and upset rates. Prices are history: held from 2016 to 20 March 2026, with no live prices since.
Livelast 30 days
Archive and upwhole archive
Parameters
All optional, all in the query stringfromdateEarliest date to include, YYYY-MM-DD.
todateLatest date to include, YYYY-MM-DD.
min_pricefloatOnly winners at this decimal price or longer. Default 3.0.
limitintHow many to return. Default 50, at most 200.
Try it
Your key, sent from your browser straight to the APIPaste your keyGet a free one in a minute
Run it to see your limits
What comes back
In data, read from a real response| Field | Type | Example |
|---|---|---|
longest_priced_winners | list | 3 items |
upset_rates | list | 3 items |
all | object | { matches, upsets, upset_pct, winners_at_or_over_min_price } |
When it refuses
Every error code| Status | Code | When |
|---|---|---|
| 401 | no_key | No key, a malformed key, or one that is not ours. |
| 402 | upgrade_required | Your plan does not reach this endpoint. The message names the plan that does. |
| 422 | bad_parameter | A parameter is malformed or out of range, named in the message. |
| 429 | rate_limited | Over your rate or allowance. Retry-After says when. |
Related
Prices in bulkPaid
GET /v1/prices/bulkPriced history in bulk for model builders. Prices are history: held from 2016 to 20 March 2026, with no live prices since.CalibrationPaidGET /v1/markets/calibrationImplied probability against what actually happened, by price band. Prices are history: held from 2016 to 20 March 2026, with no live prices since.FavouritesPaidGET /v1/markets/favouritesFavourite win rate and level-stakes return by price and format. Prices are history: held from 2016 to 20 March 2026, with no live prices since.