Two independent checks
One tells you what happened. The other tells you what we missed.
A results feed can only vouch for the races it holds. The second check is against a list we do not control, so a race that never reached us cannot quietly disappear.
Against the official record
Every race we hold is reconciled against the record published by the body that governs it, the day it runs. Each one ends in one of three states, and a race without a result is investigated, never left ambiguous.
Against Betfair's market list
Every 15 minutes we collect Betfair's catalogue of greyhound WIN markets and pair each one with our race by its market id, or by track and start time. A race the exchange listed that we never received is counted as missing.
Check any date
Any range against the record. Any day against both.
Free, and no sign-up. A range shows every day's races as complete, abandoned or unresolved, with the reason for anything unresolved. A single day adds Betfair's list, track by track.
Official record by date
Pick a range. Anything without a result is broken out, with the reason.
Loading…
| Track | Carded | Resulted | Abandoned | Unresolved | To run | Betfair listed | Missing |
|---|---|---|---|---|---|---|---|
| Central ParkGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| MonmoreGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| NewcastleGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| RomfordGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| SheffieldGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| SunderlandGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| TowcesterGreat Britain | 12 | 0 | 0 | 0 | 12 | 12 | none |
| Star PelawGreat Britain | 10 | 0 | 0 | 0 | 10 | 10 | none |
| ValleyGreat Britain | 9 | 0 | 0 | 0 | 9 | 9 | none |
| TraleeIreland | 11 | 0 | 0 | 0 | 11 | no list | not checked |
| WarrnamboolAustralia | 13 | 0 | 0 | 0 | 13 | 0 | none |
| WarragulAustralia | 12 | 0 | 0 | 0 | 12 | 0 | none |
| GeelongAustralia | 11 | 0 | 0 | 0 | 11 | 0 | none |
| Angle ParkAustralia | 0 | 0 | 0 | 0 | 0 | 12 | 12 |
Four answers
Every race you expected ends in one of four states.
If you have ever reconciled a feed and found a day short, you know the problem: did the vendor lose the race, or did it never happen? Here the answer is in the response.
Complete
The race ran and we hold it
Order, times, sectionals where the track records them, prices and comments.
Abandoned
Carded, never ran
Confirmed against the official record before we mark it. Its result returns result_available: false, so a client stops polling.
Unresolved
Ran, no verdict yet
The only genuine unknowns, and every one is listed. Result searches carry meta.unresolved, so a short day explains itself.
Missing
Listed, never received
Betfair listed it and it never reached us. Counted per track and day, with the venues we do not carry kept apart.
The record so far
Every gap, named.
Britain checked against Betfair's list, month by month. What is missing is whole meetings on single days, most of them called off before a card reached us.
British races listed, and how many we never received
Each column is a month with a check. Red marks anything missing, enlarged so a single meeting shows; hover a month for the true counts.
The largest gaps
Whole meetings the exchange listed that we hold no card for.
- Wentworth Park7 days77
- Mandurah7 days75
- The Gardens6 days72
- Angle Park5 days59
- Cannington5 days53
- Valley4 days47
- Clonmel4 days28
- Richmond2 days24
How it is built
From the card to the check, every day.
Not scraped from a results page and not crowdsourced. Each step exists so the one after it has something to prove.
The card, before the off
Meetings, races, runners, traps and times land ahead of racing, so the data works for pre-race use.
Results as they settle
Order, times, sectionals, prices, distances and comments. A field a track does not record comes back null, never estimated.
Reconciled to the record
Each meeting is compared with what was published. A race we lack is fetched again; one with no result is investigated.
Checked against Betfair
Every 15 minutes, every WIN market in Britain, Ireland and Australia is paired with our race, or counted as missing.
Anything unproven stays visible
What we cannot confirm is published as unresolved or missing. It is why no figure on this page is a round 100%.
Check it without asking us
Both checks are open. Wire them into your monitoring.
Alert on our data before we tell you. The first needs nothing at all; the second works on every key, the free one included, with no date window.
The official record
Complete, abandoned and unresolved for any range of days, every country or one.
# every day in a range, every country curl -s 'https://greyhoundapi.com/data-integrity.json?from=2026-10-06&to=2026-10-12' # archive totals in one row curl -s 'https://greyhoundapi.com/data-integrity.json?summary=1&from=2018-01-01&to=2026-10-12'
Betfair's list
Per track and day: carded, resulted, abandoned, listed and missing, with the venues we do not carry kept apart.
GET /v1/coverage?date=2026-10-12®ion=GB { "region": "GB", "checked": true, "carded": 154, "resulted": 98, "listed": 154, "missing": 0 }
complete + abandoned + unresolved always equals races. If it ever does not, our
rebuild is wrong and we would like to hear about it. The data integrity guide and
Coverage ledger cover the fields in full.
Start with the free key.
An email is all it takes. Check our coverage against your own records first, then open the full history and the live feed when the archive has proved itself.