Documentation / Guides

Weather at the track

Where the weather on a race comes from, which hour it belongs to, what before_race measures, and which races carry none.

Every race carries a weather object: the conditions at its own track for the hour it went off. It is on the race, on the racecards and on /v1/races/{race_id}/weather, and it is not behind a parameter — a race already names its track and its off time, so asking for the weather separately would be asking twice for something we hold.

Which hour a race gets

The hour containing the official off. A card of twelve races at one track therefore shares one or two hours between them, which is correct: the weather did not change between race 3 and race 4, and pretending to a per-race figure would invent precision that does not exist.

A race with no official off yet is matched on its scheduled start instead, and matched_on says which was used.

before_race is the going, and it is the useful part

The race's own hour tells you what it was like at the off. It cannot tell you that 6mm fell that afternoon, which is what actually makes a track slow. before_race carries rain over the previous 6 and 24 hours and average wind over the previous 6, computed from the same hourly store.

curl "https://api.greyhoundapi.com/v1/races/1229082445/weather" \
  -H "X-API-Key: $GAPI_KEY"

A dry race after a wet afternoon reads precip_mm: 0 with rain_6h_mm: 5.6. Those two together are the thing worth having.

Where the numbers come from

Hourly reanalysis for the grid point at the track, not a sensor at the bend. The grid is several kilometres across, so it describes the weather over the track rather than on it. For temperature, wind and rain at the scale that affects a race that is the right instrument; if you need the exact gust that hit trap 1, no public dataset has it.

source names the model. A race in the last day or so reads forecast, because the reanalysis archive lags real time; once it catches up the row is overwritten and the same call reads archive. The figure can change between those two, which is why the field is there rather than implied.

Which races carry none

A race whose start time was never recorded returns weather: null with a sentence in weather_absent saying so. That is a few hundred Irish races out of 123,000, where the meeting has no racecard to read a time from.

All three regions are otherwise complete: every race with a recorded off time has its hour, back to 2018 for Great Britain, 2022 for Australia and 2019 for Ireland. Irish times come from the racecard rather than the result, so they are the carded time for the race.

What it will not do

There is no rating, no going estimate and no adjustment applied to any time we publish. The weather is stated beside the race and left there. What it means for a dog at a trip on a wet night is your model's business, not ours.