18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware

API reference / Racing

GET /v1/racing/next-to-go

Next races to run

Returns the next races to run with runners and prices; categories can filter horse, greyhound and harness racing. **Freshness is reported worst-first.** `data_age_seconds` is the age of the OLDEST bookmaker quote in the race and `stale` is true when that exceeds 120s, so the flag describes the staleness you are exposed to rather than the best leg in the payload. `stale_bookmakers` names the affected books, `freshest_age_seconds` is the best-case age, and every entry in `bookmakers` carries its own `age_seconds`, `last_update` and `stale`. A stale book does not invalidate the race — drop that leg. Scratched runners are returned in `scratchings` only. They are never in `runners`, even while a book is still publishing a price for them. **A foreign race is quoted by a single bookmaker.** Every non-Australian or unlabelled race in the feed carries exactly one book's price — median 1, maximum 1, no exceptions — so a cross-book comparison on them compares nothing. Pass `country=AU` for the meetings the bookmaker panel actually covers. **An Australian race gathers books as it approaches the jump**, so depth depends on how far out you look rather than sitting at one number. Measured 2026-08-17: a median of 10 bookmakers inside 30 minutes of the jump, 9 at 30-60 minutes, 5 at one to two hours, and 2 beyond that. Since this endpoint returns the NEXT races, expect the near-jump end of that range. A window-wide average is not meaningful here — it just tracks whichever mix of start times happens to be loaded. How much of the card is foreign is NOT a fixed ratio: `race_events` holds roughly the next six hours, and the foreign share of that window runs near zero through the Australian afternoon and reaches 100% overnight. Filter on `country` rather than assuming a mix. **Form fields are patchy on both, and not in the direction you would guess.** Measured per distinct runner on 2026-08-17, `trainer` and `form` were present on 38% of AU runners but 100% of foreign ones, `barrier` 26% against 65%, `jockey` 20% against 35%. `weight` is the only field that favours AU (18% against 0%). Race conditions — `distance_m`, `track_condition`, `weather` — are populated on both. Treat every form field as optional and check it, rather than inferring its presence from `country`.

Requires X-API-Key 2 credits

Request

curl 'https://api.puntersedge.online/v1/racing/next-to-go' \
  -H 'X-API-Key: YOUR_KEY'

Parameters

NameIn TypeRequired Description
num_races query integer no
categories query string no horse,greyhound,harness or omit for all
bookmakers query string no Comma-separated bookmaker keys
country query string no ISO country codes, comma-separated (e.g. AU or AU,NZ). Omit for every country. A foreign or unlabelled race is quoted by a SINGLE bookmaker (median 1, maximum 1) at any range, while an Australian race gathers books toward the jump (median 10 inside 30 minutes, 2 at 2-4 hours), so a cross-book comparison on foreign races compares nothing; pass country=AU for the Australian meetings the bookmaker panel actually covers.

Responses

Status codes: 200, 401, 402, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.

Related endpoints

Try it against live data

The free tier needs no credit card, and the sandbox endpoints need no key at all.

Get a free API key Quickstart
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.