Documentation / Guides
Runners, traps and statuses
How GreyhoundAPI shows every dog declared for a race: the box it started from, the rug it wore, and what happened to the dogs that were not placed.
A race lists every dog declared for it, not only the dogs that ran. Each runner carries three fields that together say who started, from where, and what became of the rest.
trap and rug
trap is the box the dog started from. rug is the rug it wore. For almost
every runner they are the same number. They differ when a reserve comes into a race: a reserve
carded in rug 9 that replaces a scratched dog runs from that dog's box, so it reads
"trap": 4, "rug": 9. Before the race, a reserve that has not been given a box carries
its rug in both.
{ "trap": 4, "rug": 9, "dog_name": "Wild Hippo", "position": 4, "runner_status": "runner" }
{ "trap": 4, "rug": 4, "dog_name": "Demon Days", "position": null, "runner_status": "scratched" }runner_status
runner: in the race. Before the off, a boxed dog expected to run; after it, a dog with a placing.scratched: taken out of the race before it ran.reserve: on the card as a reserve and never given a box, so it did not run.did_not_finish: started but has no placing.withdrawn: did not run, with no reason recorded. Older races, and Great Britain and Ireland, use this where the source gives no reason.disqualified: ran and was disqualified.
field_size
field_size is the number of dogs in the race. Before the off it counts the boxed
dogs, leaving out scratchings and reserves. Once the race has run it counts the dogs placed plus any
that did not finish. A card of ten with two reserves that were not used reads eight.
Results and the full field
The result block lists the placed dogs in finishing order. The race and runner endpoints list
every declared dog with its runner_status. To see the scratchings and reserves beside a
result, read the race's runners and join on dog_id. A result is
final once every dog that ran has a placing; see
Data freshness.