Prices in bulk
Priced history in bulk for model builders. Prices are history: held from 2016 to 20 March 2026, with no live prices since.
Livelast 30 days
Archive and upwhole archive
Cursor paging
Parameters
All optional, all in the query stringfromdateEarliest date to include, YYYY-MM-DD.
todateLatest date to include, YYYY-MM-DD.
marketenummatch_winner, the one market held for darts.
limitintHow many to return. Default 50, at most 200.
cursorcursorCarry on from here: pass back meta.next_cursor exactly as it came.
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
Each item in data, read from a real response| Field | Type | Example |
|---|---|---|
match | object | { match_id, played_on, round, winner, … } |
tier | object | { key, name } |
price | object | { market, taken_at, reading, decimal, … } |
favourite | id | "pl_KZWF7B" |
favourite_won | boolean | true |
model | object | { source, win_pct } |
meta.next_cursor | string | Pass back as cursor for the next page; null on the last |
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
CalibrationPaid
GET /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.UpsetsPaidGET /v1/markets/upsetsThe longest-priced winners and upset rates. Prices are history: held from 2016 to 20 March 2026, with no live prices since.