Documentation / Guides
Start with a free key
Everything a free GreyhoundAPI key can do, the seven endpoints it reaches, and a first request that works straight away.
A free key needs nothing but an email and never expires. It reaches 17 endpoints covering races, runners and tracks, across every track in both regions — not a cut-down sample.
What it does not reach is live-day data and the derived statistics. That is the whole of the difference, and it is worth knowing before your first request rather than after it.
Your first request
This works on the key you already have. Nothing to configure.
curl "https://api.greyhoundapi.com/v1/races?date_from=2026-07-11®ion=GB&limit=5" \
-H "X-API-Key: $GAPI_KEY"The 17 endpoints on your key
| Endpoint | What it gives you |
|---|---|
/v1/racecards/today |
Every greyhound racecard scheduled today in Great Britain and Australia, resolved per… |
/v1/racecards/upcoming |
A rolling window of the next greyhound races to jump across GB, AU and IE, from the… |
/v1/races |
Search the full greyhound race archive by date range, region, track, grade, distance,… |
/v1/races/{race_id} |
Full detail for one greyhound race: track, grade, distance, going, scheduled and… |
/v1/races/{race_id}/runners |
Just the runners for one race: trap draws, dogs, breeding, trainers, owners, weights… |
/v1/results/today |
Every greyhound race completed today across GB, AU and IE, most recent first, with… |
/v1/results/yesterday |
Every greyhound race completed yesterday across GB, AU and IE, most recent first, with… |
/v1/results/latest |
Results ordered by the moment they reached the pipeline — the polling companion to… |
/v1/tracks |
Every GB, AU and IE greyhound track that has raced in the last two weeks (courses… |
/v1/tracks/{track_id} |
One track's record: name, region, timezone, active status, every distance raced there… |
/v1/tracks/{track_id}/races |
Racecards and results at one track, filterable by track-local date range and lifecycle… |
/v1/tracks/{track_id}/stats |
Descriptive statistics for a track: trap-by-trap win counts and percentages per… |
/v1/status |
Live health of the data pipeline: last sync per region, races currently awaiting… |
/v1/coverage |
Every track and day: races carded, run, resulted and abandoned, checked against… |
/v1/usage |
Your own API key's consumption: requests today and this billing month, your plan's… |
/v1/archive |
The size of the dataset, counted rather than claimed: how many dogs, trainers, owners… |
/v1/reference |
Decode tables for the whole API: race grades, regions and timezones, going descriptions… |
What a free key cannot do
Two limits, and both are about live racing rather than about the archive:
- A window on recency. Results settle before a free key can read them, so today's finishing order is not available. The archive behind that window is.
- No derived statistics. The dog, trainer and owner statistics endpoints, and the analysis endpoints, are Live Plus.
Ask for something outside that and the response is an honest one rather than an empty
result — error code upgrade_required, or outside_sandbox_window
if the data exists but is newer than your key can see. Both name the tier that would answer it.
When you are ready
Live opens the remaining endpoints, live-day data and the results stream. Nothing about your integration changes: same key header, same response shape, same paths. See pricing, or the full reference for everything the API covers.