Open source · Built on the GreyhoundAPI

The AI lab for greyhound racing.

Nine projects that read the same feed you can. Predictions made before the off and scored against the result, questions answered from the real archive, and the models underneath — all of it public, all of it runnable on your own key.

9
Projects
7
Live now
—
Races called
—
Winner found
MIT
Licence
Traps 1 2 3 4 5 6 Model Ranked call 1 Trap 1 31% 6 Trap 6 22% 2 Trap 2 18% Scored after the off

The lab

Nine projects, seven of them running today

Each one is a small, single-purpose tool built on the public API. Clone the repo, connect the hosted ones, or read how each works.

greyhound-racing-trap-bias

Live
Trap bias · Python

Which trap actually wins, at every track and distance — counted from results and tested for significance, not asserted. The inside trap turns out not to be the best trap.

 

greyhound-ai

Live
Ranked previews · Python

Reads a racecard and returns a ranked prediction with its reasoning — made before the off, then scored against the real result. Nothing cherry-picked.

— 
races called
— 
winner
— 
podium

greyhound-insights

Live
Plain-English Q&A · Python

Ask the archive a question in ordinary English. It picks its own endpoints, fetches the real races and answers with what it actually found — showing which tools it used.

9 
tools
6 
questions
100% 
grounded

greyhound-mcp

Live
Model Context Protocol · Hosted · no install

An MCP server for the feed, so Claude, ChatGPT or Cursor can answer "what is Romford's trap-1 rate this year" straight from the live data — no client to write.

23 
tools
62 
endpoints
0 
to install
Hosted — nothing to clone Connect it →

greyhound-sandbox

Live
In-browser API console · Nothing to install

Call the real API from the page, against real racing, on a free key — pick an endpoint, change the parameters and read the actual response before you write any code.

17 
endpoints
1 
day window
50 
calls/day
Runs in the browser Open the console →

greyhound-breeding

Live
Sire & dam rankings · Public pages · weekly

How every sire's and dam's offspring actually run: strike rate, wins against the market, early pace and debut wins, across Great Britain and Ireland, with a page for each parent.

1,940 
sires
15,551 
dams
3.9m 
runs
Hosted, free to browse Browse the rankings →

greyhound-backtest

Coming soon
Strategy harness · Python

Describe a rule, run it across the whole archive, get honest out-of-sample numbers with the staking maths done properly. Built to make a bad idea obvious quickly.

 
Repo opens at launch

greyhound-racing-track-bias

Live
Pace model · Python

Does early pace win here? For every track and distance, how often the dog in front at the first split goes on to win — and whether that is different enough from the rest of the region to be a character rather than a fortnight.

 

greyhound-form

Coming soon
Form summariser · Python

Turns a dog's race-by-race record into a readable paragraph a human would actually write — for previews, alerts and anywhere raw form is unreadable.

 
Repo opens at launch
New · Breeding, GB and Ireland

Sire and dam rankings

How every sire's and dam's offspring actually run: strike rate, wins against what the market expected, how often they lead to the first bend and how they go on debut. 1,940 sires and 15,551 dams across 3,915,051 runs, a page for each one, rebuilt every week and free to browse.

Take it as data. Every sire and dam as JSON on Live, and every split for one parent (region, distance, trap, age and every track) on Live Plus.

Why any of this is public

The data is the product. The models are the proof.

We sell a feed, not a tipping service. Publishing what can be built on it — including when it does not work — is a better argument than a marketing page.

01

Scored, not selected

Every prediction is stored before the race runs and scored afterwards. The accuracy figure includes the bad days, because a number you can only see after the fact is worthless.

02

Runnable by you

Nothing here needs our infrastructure. Clone the repo, point it at your own key, and you get the same output — which is also the fastest way to see whether the feed suits you.

03

Not betting advice

These are research tools. They are built to be inspected and argued with, not followed. No tips, no ratings, no service.

Two minutes

Run the lab on your own key

Install, point it at a race, and read the ranked preview in your terminal. The free sandbox key is enough to try it.

greyhound-ai
# install
pip install greyhound-ai

# rank tonight's card at Romford
greyhound-ai preview --track romford --date today

Romford 19:04 · A3 · 400m
  1. Trap 1  Swift Cassandra   0.31
  2. Trap 6  Coolavanny Pin    0.22
  3. Trap 2  Newlawn Fifi      0.18
  reasoning: T1 rails runner, +4.7pt draw edge at 400m…

What's next

Two more in progress

A strategy harness and a form summariser. Each one ships the same way: an open repo, runnable on your own key.

Read this bit. The lab is for research and education and is not betting advice. Accuracy figures are true out-of-sample — each race predicted before its result was known — but they are still small samples on a hard problem. Treat them as evidence the pipeline works, not as an edge.

No code at all

Or just ask your assistant

The same racing data reaches Claude and ChatGPT directly through our MCP server. 23 tools — cards, results, form, sectionals, prices, trainer records — answered from your own key. Nothing to install and nothing to run: it is a hosted address and a header.

  • Ask in plain English. “What won the 19:28 at Monmore on Tuesday?” — the assistant picks the right tool and reads the answer out of the API.
  • Your key, your limits. Every call runs through the same API as any other client, so tier scope, rate limits and quota apply exactly as they do everywhere else.
  • Facts, not tips. The server tells the assistant, in as many words, that this is race data and contains no predictions or selections.
Claude · Settings → Connectors
# Add custom connector
URL             https://greyhoundapi.com/mcp
Authentication  None  ← not OAuth
Header name     x-api-key
Header value    gapi_test_…

# then, in the chat
you   Show me A Bad Winter's last six runs
claude → get_dog_form
       6 runs, 2 wins. Best time 28.41 over
       460m at Romford on 14 Aug…