Greyhound racecards
Races still to run, with every runner, trap and trainer.
| Endpoint | For | Plan |
|---|---|---|
/v1/racecards/today | Every race on today's card, in off-time order. | Race Pass |
/v1/racecards/upcoming | The next races about to go. | Race Pass |
How the records link
A racecard race has the same race_id it will have in the results, and each runner the same runner_id. Show the card before the off, then match the result to it by race_id when it settles.
Non-runners
Withdrawn greyhounds are left out of runners, so the list is the field that will run.
Common jobs
A next-to-go board: call /v1/racecards/upcoming every minute.
One meeting tonight: /v1/racecards/today?track=romford.
curl "https://api.greyhoundracingapi.com/v1/racecards/today?track=romford" \ -H "X-API-Key: $KEY"
import os, requests r = requests.get( "https://api.greyhoundracingapi.com/v1/racecards/today", params={"track": "romford"}, headers={"X-API-Key": os.environ["KEY"]}, timeout=30, ) print(r.json()["data"])
const r = await fetch("https://api.greyhoundracingapi.com/v1/racecards/today?track=romford", { headers: { "X-API-Key": process.env.KEY }, }); console.log((await r.json()).data);
$ch = curl_init("https://api.greyhoundracingapi.com/v1/racecards/today?track=romford"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("KEY")], ]); $data = json_decode(curl_exec($ch), true); print_r($data["data"]);