GB & AU · REST + WebSocket
Greyhound racing data for Great Britain and Australia — racecards, results, sectionals, starting prices and Betfair markets, plus dogs, trainers, tracks and breeding. Thirty-five endpoints, one clean envelope, official SDKs.
No card to start · 35 endpoints · GB + AU
$ curl https://api.greyhoundapi.com/v1/races/1229082 \
-H "X-API-Key: $GREYHOUNDAPI_KEY"
{
"meta": { "data_as_of": "2026-07-08T14:03Z", "count": 1 },
"data": {
"race_id": 1229082, "track": "Romford", "distance_m": 400,
"status": "complete",
"runners": [
{ "trap": 1, "dog": "Miami Yeats", "position": 1, "sp": "5/2" },
{ "trap": 2, "dog": "Full Monty", "position": 2 }
]
}
}
import { GreyhoundAPI } from "@greyhoundapi/sdk";
const gapi = new GreyhoundAPI({ apiKey });
// today's GB card, then one race
const card = await gapi.racecards.today({ region: "GB" });
const race = await gapi.races.get(1229082);
console.log(race.runners[0].dog); // "Miami Yeats"
from greyhoundapi import GreyhoundAPI
gapi = GreyhoundAPI(api_key=key)
# today's GB card, then one race
card = gapi.racecards_today(region="GB")
race = gapi.race(1229082)
print(race["runners"][0]["dog"]) # "Miami Yeats"
use GreyhoundApi\Client;
$gapi = new Client($key);
// today's GB card, then one race
$card = $gapi->racecardsToday(["region" => "GB"]);
$race = $gapi->race(1229082)["data"];
echo $race["runners"][0]["dog"]; // "Miami Yeats"
The signature
Six traps, one lure, a fixed distance — greyhound racing is a tidy sport, and the feed matches it. Consistent shapes, measured freshness, no surprises.
By the numbers
Coverage across Great Britain and Australia, measured in the open and updated continuously — figures refresh daily.
Why this feed
Every race carries its lifecycle status and the exact moment its result reached the pipeline. Delays are measured and published on the status page.
UTC everywhere, rendered track-local, with date parameters resolved per track — a Sydney "today" and a London "today" both behave exactly as you'd expect.
Career form, price history, trap statistics and track records, recomputed nightly from published results — not just today's card.
Subscribe to results, status changes and card updates over WebSocket, with a 15-minute replay window so you never miss an event.
Stop scraping
Greyhound data looks scrapeable until a track redesigns its results table on a Friday night. An API is the part you don't have to babysit.
data_as_of and per-race freshness stamps on every responseCoverage
The same envelope, parameters and pagination across every endpoint and both regions.
Filter anything by region=GB or region=AU.
What you build
It's raw data — what you make of it is yours. A few things people wire it into:
Career form, sectionals, run and adjusted times and trap stats — the inputs for your own model, updated nightly from published results.
/dogs/{id}/form/races/{id}/runners/tracks/{id}/statsBetfair market summaries, starting prices and implied moves alongside the result, so your dashboard shows price and outcome together.
/races/{id}/market/dogs/{id}/prices/results/latestPush results and status changes into Slack, Discord or your own service the moment a race settles — no polling, no missed jumps.
wss://…/v1/stream/racecards/upcomingThe full archive with head-to-heads and historical prices, in one shape, ready to pull into a notebook and test an idea against.
/races/dogs/{id}/head-to-head/{rival}/resultsStart here
/v1/races/{race_id}
Full detail for one greyhound race: track, grade, distance, going, scheduled and official off-times, lifecycle status, freshness metadata and the complete runner line-up.
/v1/racecards/today
Every greyhound racecard scheduled today in Great Britain and Australia, resolved per track-local calendar day, with runners, traps, grades and start times.
/v1/results/latest
Results ordered by the moment they reached the pipeline — the polling companion to the WebSocket stream, with a since cursor for gapless catch-up.
/v1/dogs/{dog_id}/head-to-head/{rival_id}
Compare two greyhounds directly: shared races, who finished ahead and how often, plus each dog's career record — the factual rivalry view.
A free key gives you the race & track endpoints against a rolling seven-day window — enough to build and evaluate. When you need live-day data, the full archive and the stream, one plan covers it.