Pricing
Every plan reads the same database, the same eleven jurisdictions, the same fields. Two things separate them: how much history you can reach, and whether the statistics arrive computed. Nothing is an add-on and no country costs extra.
No per-country pricing, no endpoint tiers, no feature list to memorise.
Computed across 4.7M runner records rather than counted per request. Everything they are derived from is on every paid plan, so Complete gives you every row you need to do the arithmetic yourself.
Sign in with Google and you have a working key in about ninety seconds. It reads real races on a delayed window: nothing newer than 24 hours, nothing older than seven days. Same database, same fields, same eleven jurisdictions.
What it does not do
Today's cards and results, for a site or an app.
The whole history, at research pace, for backtesting.
History and live together, for a product in the wild.
Saves $29 a month
Strike rates, A/E and level stakes, already computed.
The things a racing feed usually charges extra for.
No regional pricing, no premium country, no North America bolt-on. What we hold, your key reaches.
Book percentage, price movement, casualty reasons and tote dividends are not a premium tier. They are just what a race carries.
Both generated from the same registry that routes the API, so a client you generate cannot describe an endpoint that does not exist.
Entitlement is read on every request. Upgrading widens what the key you already hold can reach, with nothing to reissue or re-integrate.
Outside your window or your plan, you get a named error saying which plans reach it, not a silent empty response.
GET /v1/account/usage returns your requests, your errors and every
refusal you have hit, so you can see what a plan change would buy you.
Generated from the same file that routes the API, so it cannot disagree with what your key actually does. A cell shows the window that plan reads on that endpoint. All 63 of them, nothing hidden behind a "contact us".
| Endpoint | Free key | Live | Archive | Complete | Complete + Analyst |
|---|---|---|---|---|---|
| Reference & coverage7 | |||||
| /v1/countries | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/courses | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/meta/coverage | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/courses/{course_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/reference | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/meta/reports | 24h to 7d | today +3d | back to 2017 | everything | everything |
| Race reports2 | |||||
| /v1/reports | — | — | — | everything | everything |
| /v1/reports/{race_id} | — | — | — | everything | everything |
| Racecards & meetings7 | |||||
| /v1/racecards/today | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/racecards/upcoming | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/meetings/{date} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/results/latest | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/racecards/{date} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/meetings/{meeting_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/results/{date} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| Races & markets7 | |||||
| /v1/races/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id}/result | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id}/market | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id}/dividends | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id}/runners | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/races/{race_id}/analysis | 24h to 7d | today +3d | back to 2017 | everything | everything |
| Horses & pedigree8 | |||||
| /v1/horses/{horse_id}/form | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/horses/{horse_id}/pedigree | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/horses/{horse_id}/layoff | — | — | — | — | everything |
| /v1/horses/compare | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/horses/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/horses/{horse_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/horses/{horse_id}/trend | — | — | — | — | everything |
| /v1/horses/{horse_id}/stats | — | — | — | — | everything |
| Trainers7 | |||||
| /v1/trainers/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/trainers/{trainer_id}/form | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/trainers/{trainer_id}/jockeys | — | — | — | — | everything |
| /v1/trainers/{trainer_id}/courses | — | — | — | — | everything |
| /v1/trainers/{trainer_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/trainers/{trainer_id}/stats | — | — | — | — | everything |
| /v1/trainers/{trainer_id}/owners | — | — | — | — | everything |
| Jockeys & owners10 | |||||
| /v1/jockeys/{jockey_id}/form | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/jockeys/{jockey_id}/trainers | — | — | — | — | everything |
| /v1/owners/{owner_id}/jockeys | — | — | — | — | everything |
| /v1/owners/{owner_id}/courses | — | — | — | — | everything |
| /v1/jockeys/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/jockeys/{jockey_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/jockeys/{jockey_id}/stats | — | — | — | — | everything |
| /v1/owners/search | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/owners/{owner_id} | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/owners/{owner_id}/stats | — | — | — | — | everything |
| Webhooks & account3 | |||||
| /v1/webhooks/subscribe | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/webhooks/deliveries | 24h to 7d | today +3d | back to 2017 | everything | everything |
| /v1/account/usage | 24h to 7d | today +3d | back to 2017 | everything | everything |
| Courses & bias6 | |||||
| /v1/courses/{course_id}/draw-bias | — | — | — | — | everything |
| /v1/courses/{course_id}/standard-times | — | — | — | — | everything |
| /v1/courses/{course_id}/favourites | — | — | — | — | everything |
| /v1/courses/{course_id}/casualties | — | — | — | — | everything |
| /v1/courses/{course_id}/stats | — | — | — | — | everything |
| /v1/courses/{course_id}/going-record | — | — | — | — | everything |
| Market & analysis6 | |||||
| /v1/market/sp-performance | — | — | — | — | everything |
| /v1/market/movers | — | — | — | — | everything |
| /v1/market/overround | — | — | — | — | everything |
| /v1/analysis/angles | — | — | — | — | everything |
| /v1/analysis/layoff | — | — | — | — | everything |
| /v1/analysis/precedents | — | — | — | — | everything |
Yes, and without a card. A free key reaches every endpoint its tier allows, on real races held back to a delayed window. It is the same database, not a sandbox.
Nothing at your end. One key per account, entitlement read on every request, so an upgrade widens what the key you already hold reaches. No reissue, no second key, nothing to re-integrate.
Because it is a different job. Archive is research at research pace: a lower rate limit, no live window, and a price that reflects that. If you need today's cards as well, Complete is twenty dollars more, which is deliberate.
Actual wins against the wins the market implied, normalised so a field sums to one. Above 1.00 means winning more often than the prices said. Every figure comes back with a confidence interval, so you can tell a finding from noise.
No. Every jurisdiction and every field is on every paid plan. There is no per-country pricing and no premium region, and there never will be.
Read the data coverage page first; it states what each jurisdiction publishes, counted rather than claimed. If you subscribe and it still cannot, tell us within fourteen days and we refund it.
Tell us what you are building and which races matter, and we will say plainly whether this data can do it, including when the answer is no.
Ask us insteadSign in with Google, take the key, run a request. No card, no trial clock, no sales call. Move up when the window stops being enough, and keep the same key.