18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware
Measured from production · racing measured 1 Oct 2026 12:38 UTC

Data quality, measured

Every odds API says its coverage is great. These are our numbers, read from the production database and the API itself on every refresh — including where we fall short, and what these checks cannot show.

1,533AU races quoted, 7 days
14 / 14Books quoting now / served
14Median books per race
98.41%Results settled, where a source exists
42,502Races in the closing-line archive
99.98%Odds API uptime, 30 days

Racing coverage and feed freshness

Australian races over the trailing 7 days, measured 1 Oct 2026 12:38 UTC and recomputed every 30 minutes. Degraded now: none.

BookmakerAPI keyShare of AU racesLast price (UTC)Time since last read, p50 / p90
BetRightbetright97.1%2026-10-01 12:38 11s / 24s
BetDeluxebetdeluxe97.0%2026-10-01 12:38 12s / 25s
BetGoldbetgold96.9%2026-10-01 12:38 12s / 24s
BoostBetboostbet96.9%2026-10-01 12:38 12s / 24s
TABtab96.9%2026-10-01 12:38 11s / 24s
Betrbetr_au96.9%2026-10-01 12:38 16s / 31s
PointsBetpointsbetau96.9%2026-10-01 12:38 8s / 20s
TABtouchtabtouch96.9%2026-10-01 12:38 10s / 23s
Sportsbetsportsbet96.8%2026-10-01 12:38 8s / 20s
Palmerbetpalmerbet96.5%2026-10-01 12:38 14s / 25s
Unibetunibet96.5%2026-10-01 12:38 12s / 25s
NextBet (formerly PlayUp)playup95.4%2026-10-01 12:38 12s / 24s
Ladbrokesladbrokes_au95.3%2026-10-01 12:38 11s / 24s
Nedsneds95.3%2026-10-01 12:38 12s / 24s

"Time since last read" is how old our last successful read of that bookmaker was, over the last 24 hours. It is not the age of the price itself — capture is change-only, so a price can be minutes old while the read confirming it is seconds old. The per-book price ages, the books-per-race distribution and the SQL behind every figure are on the coverage report. New Zealand: 104 races from 12 books in the same window.

Results completeness

Races from 2026-09-25 to 2026-10-01. Of the 1,197 races that have a results source, 1,178 are settled (98.41%), 9 are pending and 10 are overdue. 262 more races have no results source yet — they are counted here, not hidden.

RacingResults sourceRacesSettledPendingOverdueNo source
AU Greyhoundgrsa544534460
AU Thoroughbredracing_australia311311000
AU Harness—2528200170
AU Greyhoundfasttrack249240540
NZ Harness—6050055
NZ Thoroughbred—4360037

Read from GET /v1/racing/results/coverage, the same endpoint a customer calls.

Closing-line archive

1,540,903 rows across 42,502 races from 14 bookmakers, 2026-08-04 to 2026-10-01. 84.68% of rows are a genuine closing line. Of the 10,821 Australian and New Zealand races a result can exist for, 94.68% carry one.

Rows the archive flags about itself — flagged, not silently dropped: 13,401 where one meeting may have been split under two venue spellings, 410 with a suspect runner name, and 9,145 for runners the result marked scratched (hidden from /v1/racing/closing-lines by default). These flags catch known shapes of bad row. They cannot catch a bookmaker feed that was wrong at source — see the limits below.

Read from GET /v1/racing/closing-lines/coverage.

Sports price sanity check

Every 15 minutes, each bookmaker's head-to-head price on each game is compared with the median of the other bookmakers quoting that game. A price more than 20% away is flagged as a likely stale or bad quote. Games need three or more books to be checked.

SportLast run (UTC)Book prices checkedFlaggedLargest gap
super_league h2h2026-10-01 07:45 30—
nrlw h2h2026-10-01 07:45 30—
nfl h2h2026-10-01 07:45 no games with three or more books in play
ncaaf h2h2026-10-01 07:45 no games with three or more books in play
wnba h2h2026-10-01 07:45 110—
tennis_wta h2h2026-10-01 07:45 2212.25
tennis_atp h2h2026-10-01 07:45 180—
aflw h2h2026-10-01 07:45 360—
rugby_union h2h2026-10-01 07:45 10423.0
NBA h2h2026-10-01 07:45 720—

Read from GET /v1/data-quality/audit/latest. This is a consensus check, not a comparison with each bookmaker's own site, and it covers sports only.

Odds API availability

The API's /health endpoint is probed every ten minutes, monitored since 2026-07-03. 100.0% over 7 days (1,008 checks) · 99.98% over 30 days (4,320 checks) · 99.96% over 90 days (19,386 checks). These are observed measurements, not a contractual SLA. Every surface, the blind periods and the method are on the status page.

What these checks cannot show

  • Racing freshness (age_seconds) is the time since our last successful read of that bookmaker, not proof the bookmaker's own price moved. A feed that is frozen or wrong at source can look fresh.
  • A connector marked healthy is reachable and writing prices. That is liveness, not correctness.
  • There is no continuous, automated check yet that compares each racing bookmaker's served prices with the bookmaker's own website. Report a price that looks wrong and it is investigated against the source.
  • The sports consensus check covers head-to-head markets on the sports listed, and flags only prices more than 20% away from the other books. It does not see racing, and it does not catch small errors.

Check it yourself

No key needed: /data-quality.json (this page as JSON), /coverage-report.json and /uptime.json. With any key, 1 credit each: GET /v1/racing/results/coverage and GET /v1/data-quality/summary; the archive's own measurement is on the plans that include the archive. Every racing quote also carries its own age_seconds and last_update, so you can gate on freshness per bookmaker in your own code.

Seen a price that doesn't match the bookmaker? Tell us with the race, the runner and the time — it is checked against the source.

Test it against your own use case

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

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