A race's result
Every plan, free key included
Finishing order, casualties, dividends and prize money.
Examplea real answer from 2026-10-29, trimmed to a few rows
{
"data": {
"race_id": "rc_0aa1c4st",
"course": "Abu Dhabi",
"date": "2026-10-29",
"off_time": "13:01:21",
"winning_time": "1m 16.55s",
"weather": null,
"class_figure": null,
"speed_figure": null,
"book_percentage": 133.36,
"placed": 3,
"dividends": {
"currency": "AED",
"straight_forecast": 85.59
},
"prizes": [
{
"position": 1,
"prize": 39601
},
{
"position": 2,
"prize": 13202
},
{
"position": 3,
"prize": 7259
}
],
"result": [
{
"position": 1,
"cloth": 6,
"horse_id": "hs_x73ps4xh",
"horse": "Af Saqara",
"sp": "7/1",
"sp_decimal": 8,
"beaten_distance": null,
"casualty": null,
"run_status": "ran",
"speed_figure": null,
"jockey": "Bernardo Pinheiro",
"trainer": "Ernst Oertel"
},
{
"position": 2,
"cloth": 11,
"horse_id": "hs_des8z34q",
"horse": "Af Marmuq",
"sp": "10/1",
"sp_decimal": 11,
"beaten_distance": "3/4 length",
"casualty": null,
"run_status": "ran",
"speed_figure": null,
"jockey": "M Rodrigues",
"trainer": "Ernst Oertel"
},
{
"position": 3,
"cloth": 5,
"horse_id": "hs_5nzbfr73",
"horse": "Ezzah",
"sp": "8/1",
"sp_decimal": 9,
"beaten_distance": "1 3/4 length",
"casualty": null,
"run_status": "ran",
"speed_figure": null,
"jockey": "Ray Dawson",
"trainer": "I Hadhrami"
}
],
"unplaced": [
{
"position": null,
"cloth": 12,
"horse_id": "hs_n11js1na",
"horse": "Khattaf Wrsan",
"sp": "25/1",
"sp_decimal": 26,
"beaten_distance": null,
"casualty": null,
"run_status": "non_runner",
"speed_figure": null,
"jockey": "Non Runner",
"trainer": "J Salman"
}
]
},
"meta": {
"request_id": "1882fec20696a4c6",
"plan": "complete",
"window": "January 2017 to the next 3 days",
"data_as_of": "2026-10-30T11:05:06+00:00"
}
}Parameters
| Name | In | Type | Required | What it does |
|---|---|---|---|---|
race_id | path | id | yes | Our id for the race, as other answers give it (rc_ and eight characters). |
Returns
One record in data. Every answer carries meta: request_id, plan, window and data_as_of.
| Field | Type | Holds |
|---|---|---|
race_id | string | Our id for the race. |
course | string | The course name. |
date | string | The UK racing day, YYYY-MM-DD. |
off_time | string | When the race actually went off, by the racecourse clock; null until it has. |
winning_time | string | The winner's time. |
weather | null or value | The weather on the day, where published. |
class_figure | null or value | A figure for the class of the race, where held. |
speed_figure | null or value | A speed figure, where held. |
book_percentage | number | The total of the market's implied chances. Null on the free key. |
placed | integer | How many places the race pays. |
dividends | object | Tote returns, in pounds. Null on the free key. |
dividends.currency | string | |
dividends.straight_forecast | number | |
prizes | array | Prize money by place, in pounds. |
prizes[].position | integer | Where it finished; null for a non-finisher. |
prizes[].prize | integer | The prize to the winner, in pounds. |
result | array | |
result[].position | integer | Where it finished; null for a non-finisher. |
result[].cloth | integer | The saddle cloth number. |
result[].horse_id | string | Our id for the horse. |
result[].horse | string | The horse's name. |
result[].sp | string | Starting price, fractional. Null on the free key. |
result[].sp_decimal | integer | Starting price, decimal. Null on the free key. |
result[].beaten_distance | null or value | How far behind the winner, in lengths. |
result[].casualty | null or value | Why it did not finish, if it did not. |
result[].run_status | string | ran, or why not. |
result[].speed_figure | null or value | A speed figure, where held. |
result[].jockey | string | The jockey's name. |
result[].trainer | string | The trainer's name. |
unplaced | array | The runners who were not placed. |
unplaced[].position | null or value | Where it finished; null for a non-finisher. |
unplaced[].cloth | integer | The saddle cloth number. |
unplaced[].horse_id | string | Our id for the horse. |
unplaced[].horse | string | The horse's name. |
unplaced[].sp | string | Starting price, fractional. Null on the free key. |
unplaced[].sp_decimal | integer | Starting price, decimal. Null on the free key. |
unplaced[].beaten_distance | null or value | How far behind the winner, in lengths. |
unplaced[].casualty | null or value | Why it did not finish, if it did not. |
unplaced[].run_status | string | ran, or why not. |
unplaced[].speed_figure | null or value | A speed figure, where held. |
unplaced[].jockey | string | The jockey's name. |
unplaced[].trainer | string | The trainer's name. |
Errors
| Code | Status | When |
|---|---|---|
unauthorized | 401 | No key was sent, or the key is not one of ours. |
outside_plan_window | 403 | The day asked for is outside what your plan reads. The answer gives your window and the day you asked for. |
bad_request | 400 | A value is the wrong shape: a date that is not YYYY-MM-DD, a cursor that is not ours, or a key sent in the address. |
unknown_parameter | 422 | A parameter this endpoint does not take. The answer lists the ones it does. |
not_found | 404 | No record has that id, or it is not British or Northern Irish racing. |
rate_limited | 429 | Too many calls this minute for your plan. |
quota_exceeded | 429 | Your plan's calls for the month are used. The answer says when they reset. |