Quantitative greyhound betting, from data to decision
Every page on this site rests on one thing: a deep, clean archive of races, runners and markets. This is how that data is turned into a method, step by step, and how you can do the same with the API.
In the archive
Updated every five minutes. Figures as published by greyhoundapi.com, 1 October 2026.
Depth before cleverness
A model is only as honest as the sample it learns from. Before any idea is tested, it needs thousands of comparable races, run under the same rules, across enough seasons to see a regime change.
Races by region
528,426 races in the archive, back to 2018.
Runner records by region
3,244,371 runner records across 70 tracks.
The split is the signal
In a high-interference sport, early pace decides most races: the dog that leads at the first bend wins far more often than the one that is last there. That is why split times sit at the centre of the method, and why they are the first thing checked in any dataset.
59% of the runner records in the archive carry sectional times, which is what makes pace mapping, trap bias and early-speed models testable at scale rather than guessed at.
Runners with sectional times
Five steps, one pipeline
The same pipeline runs whether the question is a trap bias, a pricing model or a full automated strategy.
Pull
Races, runners, results and sectionals through the REST API, into a local SQL database. Fresh cards every five minutes.
Shape
Raw rows become comparative features: split rank in the field, trap and course behaviour, recent form, class moves.
Test
Every idea is backtested on non-contiguous samples it never saw, with leakage checks and Monte Carlo stress runs.
Price
Model probability against market probability. Only a gap wider than the threshold becomes a lay, back or dutch.
Watch
Live results through the stream and signed webhooks: edge decay, drawdown and drift checked every day.
One question, start to finish
Does trap 1 really win more at a given track, and does the market already price it in? The API answers the first half with a call per track; your backtest answers the second.
- Pull every race at the track for several seasons
- Count wins by trap, then by trap and grade
- Compare each trap's win rate with its average starting price
- Keep only what survives a sample it never saw
# every endpoint takes your key in one header H="X-API-Key: YOUR_KEY" # 1. the tracks, to find the one you are studying curl -H "$H" https://api.greyhoundapi.com/v1/tracks # 2. every race run there, filtered by date range curl -H "$H" https://api.greyhoundapi.com/v1/tracks/TRACK_ID/races # 3. today's cards, to apply what the backtest kept curl -H "$H" "https://api.greyhoundapi.com/v1/racecards/today?region=GB"
Paths as published in the greyhoundapi.com documentation. The full field list comes with your key.
Four ways to take the data
REST API
62 endpoints: cards, results, runners, sectionals, tracks, trainers and breeding.
Live stream
A WebSocket stream that pushes cards and results as they land, for live models.
Signed webhooks
Results and changes sent to your own server, signed so you know they are genuine.
MCP server
Ask Claude or ChatGPT about the racing directly, with the API behind the answers.
Built in the open
The tools around the API are public on GitHub, so you can read how the data is used before you pay for any of it.
greyhound-ai
An experimental hub for open-source proofs of concept, AI integrations and next-generation tools. Python.
greyhound-insights
Analysis built on the API's endpoints, the same ground the Insights agent covers. Python.
sdk
A client library for the API, so a model talks to the data in a few lines. Go.
Numbers you can plan on
As published by greyhoundapi.com, 1 October 2026.
The data behind the method, £150 a month
About $199 a month: 180 requests a minute, 600,000 calls a month and all 62 endpoints. Start free with 50 calls a day and 17 endpoints, no card needed.
