For developers · 33 days to go
Everyone publishes Cup odds. This is the other page — what to have working before the first Tuesday in November, so the day itself is boring. Most of it takes an afternoon. One part cannot be fixed on the morning, so it comes first.
How far ahead your key can read the card is set by your plan. It is the one thing on this page you cannot fix on race morning, because it decides when the Cup field first becomes visible to your code at all — and you want your loader to have run against the real field several times before it matters.
| Plan | Allowance | Rate limit | Reads ahead | Cup field visible from |
|---|---|---|---|---|
| Free $0 | 3,000 | 30/min | 24h | Monday 2 November, 3pm |
| Hobby $9 | 7,500 | 60/min | 24h | Monday 2 November, 3pm |
| Standard $29 | 75,000 | 200/min | 48h | Sunday 1 November, 3pm |
| Plus $49 | 140,000 | 500/min | 168h | Tuesday 27 October, 3pm |
| Business $99 | 300,000 | 750/min | 168h | Tuesday 27 October, 3pm |
| Platform $199 | 1,500,000 | 1000/min | 168h | Tuesday 27 October, 3pm |
| Scale $249 | 5,000,000 | 2000/min | 168h | Tuesday 27 October, 3pm |
On a free key the Cup field appears about 24 hours before the jump. That is enough to read it, and not enough to discover your loader has a bug. Standard reaches 48 hours; Plus and above reach 168 — 7 days, which covers the whole carnival.
Every response tells you your own ceiling in the
X-Horizon-Hours header, so you never have to guess which side of it you are
on. Asking past it is a 403 that names the tier which reaches further, and it costs no
credit.
Cup day is one meeting you will watch harder than any other, and the most common mistake is burning a month's allowance before the last race. These are the numbers for a single repeated call, so treat them as a ceiling rather than a plan.
| Plan | Credits/month | Sustainable interval, all month | Hours at a 30-second poll |
|---|---|---|---|
| Free | 3,000 | every 29m | 12h |
| Hobby | 7,500 | every 12m | 31h |
| Standard | 75,000 | every 69s | 312h |
| Plus | 140,000 | every 37s | 583h |
| Business | 300,000 | every 17s | 1250h |
| Platform | 1,500,000 | every 3s | 6250h |
| Scale | 5,000,000 | every 1s | 20833h |
The cheap fix is to stop polling. /v1/racing/changes
returns what actually moved since your last read, so a build that wants to see every
price move costs far less than one re-reading the whole board on a timer.
In the order you will reach for them.
| Endpoint | What it gives you | Cost |
|---|---|---|
/v1/racing/acceptancesThe field |
Every runner, barrier, jockey, trainer and weight as Racing Australia publishes it — about two days out, before any bookmaker has framed a market. Carries runner_ref, and race_id once a market exists. | 2 credits |
/v1/racing/eventsThe card and the real jump time |
The authoritative start_time. Do not hardcode the post time from a news article — read it here once the meeting loads, because advertised times move. | 1 credit |
/v1/racing/next-to-goThe priced board |
Every bookmaker's win and place price per runner, with per-quote freshness. This is the one to build the board on. | 2–4 credits |
/v1/racing/best-oddsBest price per runner |
The comparison, already computed, with the book that holds it. | 3 credits |
/v1/racing/changesWhat moved, instead of polling |
The change feed. On a day when you want to see every move, this costs far less than re-reading the whole board on a timer. | 2 credits |
/v1/racing/resultsThe settled result |
Finishing positions and status once the race is official. | 2 credits |
/v1/racing/closing-linesWhat the market closed at |
The settled final price per runner — the benchmark for judging anything you did. | 5–20 credits |
/v1/racing/acceptances?date=YYYY-MM-DD carries every runner, barrier,
jockey, trainer and weight before a single bookmaker has framed a market. Load it,
diff it daily, and expect scratchings.X-Horizon-Hours on a live response rather than assuming./v1/racing/results for the settled finish, then
/v1/racing/closing-lines for what the market closed at, which is the only
honest benchmark for anything your model did.race_id until a bookmaker frames a market on it.
The acceptance card exists days earlier. Build the join so a null id is a normal state,
not an exception.start_time from /v1/racing/events and re-read it.runner_ref for the entry, horse_ref for the horse.
runner_ref is Racing Australia's code for one entry in one race;
horse_ref is what follows a horse across meetings. Keying your history on
the wrong one is painful to unpick later.stale, not the clock. Each quote carries its own freshness
judged against the right bar for that quote. A flat two-minute rule throws away good
morning prices.A free key is 3,000 credits a month and needs no card. If you are reading this in October, that is enough to build and test everything above — the horizon is the part to think about before race week.
PuntersEdge is a data API. It does not take bets and publishes no selections or tips. Data is for informational and analytical use. 18+.