Documentation / Results
Race detail
Results planMCP tool: get_race
One race in full: the conditions, the time and every runner in finishing order.
Try itRuns against the real API with your key
No key yet? The free key is made the moment you sign in, and appears here by itself.Get a free key
required
https://api.horseracingapi.org/v1/races/rc_9c9cmvvp
Press Run to see the live answer here.
curl "https://api.horseracingapi.org/v1/races/rc_9c9cmvvp" \ -H "X-API-Key: hra_live_…"
Parameters
NameIn · typeRequiredWhat it is
race_idpath · stringYesThe race, as returned by any results or search call.
Returns
FieldTypeWhat it holds
race_idstringOur own id for the race. Stable, safe to store.
meeting_idstringThe meeting it was run at.
course_idstringThe course.
coursestringWhere it was run.
countrystringUSA, GB, IRE, FR or RSA.
datestringThe course's own calendar day, YYYY-MM-DD.
timestringThe advertised start, course time, HH:MM.
off_timestringWhen it actually started, course time, HH:MM:SS.
namestringThe race title as run.
race_typestringFlat, Hurdle, Chase and so on, where the nation publishes it.
classstringWhere the nation publishes one, else null.
distancestringAs the course states it.
goingstringThe ground as declared on the day.
surfacestringTurf, Dirt or All Weather.
handicapbooleanWhether it was a handicap.
runnersintegerHow many started.
result_availablebooleanTrue once the result is declared.
winning_timestringWhere the nation publishes one, as M:SS.ss, else null. Never guessed.
finishing_orderarrayEvery runner in order: position, status, distance_beaten, cloth, draw, horse_id, horse, age, weight, jockey_id, jockey, trainer_id, trainer, owner_id, owner.
Example answer
{
"data": {
"race_id": "rc_9c9cmvvp",
"meeting_id": "mt_31tcke0x",
"course_id": "cr_t6pv23df",
"course": "Bordeaux Le Bouscat",
"country": "FR",
"date": "2026-10-20",
"time": "09:20",
"off_time": "09:20:42",
"name": "Prix De Suffren Stakes",
"race_type": "Flat",
"class": null,
"distance": "1m 1f 97y",
"going": "Soft",
"surface": "Turf",
"handicap": false,
"runners": 6,
"result_available": true,
"winning_time": "2:09.51",
"finishing_order": [
{
"position": 1,
"status": "finished",
"distance_beaten": null,
"cloth": 3,
"draw": 1,
"horse_id": "hs_yrjp3fkv",
"horse": "Drumard",
"age": 5,
"weight": "9-2",
"jockey_id": "jk_3k4knfq5",
"jockey": "I Mendizabal",
"trainer_id": "tr_aawg032s",
"trainer": "E Libaud",
"owner_id": "ow_8d2tqgw5",
"owner": "Hyperion Sarl"
},
{
"position": 2,
"status": "finished",
"distance_beaten": "Head",
"cloth": 1,
"draw": 4,
"horse_id": "hs_gv4m13aa",
"horse": "Reach The Sky",
"age": 4,
"weight": "9-6",
"jockey_id": "jk_2k91gz18",
"jockey": "H Besnier",
"trainer_id": "tr_e9xaq4z5",
"trainer": "P Cottier",
"owner_id": "ow_wk8mjvgp",
"owner": "Gousserie Racing/ec D'haspel"
},
"… 4 more"
]
},
"meta": {
"plan": "results",
"window": "2022-01-01 to now",
"data_as_of": "2026-10-21T21:19:06Z"
}
}Errors
StatusCodeWhen