horseracingapi.co.uk

One race report

The written account of one race.

GEThttps://api.horseracingapi.co.uk/v1/reports/{race_id}
Try itruns against the real API with your key
Get a free key
GET /v1/reports/{race_id}
Examplea real answer from 2026-10-29
{
    "data": {
        "race_id": "rc_0aa1c4st",
        "headline": "Af Saqara Won After 201 Days",
        "preview": "Es Khairiyah was the favourite at 7/4 in the 133.36% book, with a 26.5% fair chance, while Af Yartaad was second at 5/1. Af Saqara was third at 7/1 after 201 days off; Bassam Al Wathba and Sand Storm Aa had been away for 208 and 221 days respectively. Ernst Oertel had 1 winner from 18 runners in the previous fortnight.",
        "report": "Af Saqara returned to win at 7/1 after 201 days off; the market ranked him third and assigned him a 9.1% fair chance. Es Khairiyah, the 7/4 favourite with a 26.5% chance, finished fourth of 12. Af Marmuq was second at 10/1 and Ezzah third at 8/1. All 12 completed and no horse failed to complete, although Khattaf Wrsan has no recorded finishing position.",
        "runners": {
            "Es Khairiyah": "Es Khairiyah finished fourth of 12 at 7/4; the favourite had been assigned a 26.5% fair chance and was returning after 229 days off.",
            "Af Yartaad": "Af Yartaad, the 5/1 second favourite, finished 10th of 12 after 202 days away, with 0 wins from 1 start and 0 from 1 at Abu Dhabi.",
            "Af Saqara": "Af Saqara won at 7/1 from third in the betting, a 9.1% fair chance, on his return after 201 days off.",
            "Bassam Al Wathba": "Bassam Al Wathba finished eighth of 12 at 8/1, having had 208 days off and 0 wins from 3 starts beforehand.",
            "Ezzah": "Ezzah finished third of 12 at 8/1 and had been joint fourth in the betting before a 201-day absence.",
            "Sand Storm Aa": "Sand Storm Aa was sixth of 12 at 17/2, with 1 win from 6 starts and 221 days off beforehand.",
            "Magic Touch": "Magic Touch finished fifth of 12 at 10/1 after 208 days away, having gone off seventh in the betting with 0 wins from 2 starts.",
            "Af Marmuq": "Af Marmuq finished second of 12 at 10/1, having been seventh in the betting and returning after 208 days off.",
            "Marta De Faust": "Marta De Faust finished ninth of 12 at 14/1 after 202 days away, with 0 wins from 6 starts.",
            "Namrood": "Namrood finished 11th of 12 at 16/1, returning after 202 days with 1 win from 16 starts.",
            "Af Layth": "Af Layth was seventh of 12 at 22/1; before the off he had been away for 201 days and had 1 win from 14 starts.",
            "Khattaf Wrsan": "Khattaf Wrsan completed at 25/1 but has no recorded finishing position, having returned after 292 days off."
        },
        "written_at": "2026-10-29T14:35:51+00:00"
    },
    "meta": {
        "request_id": "226035530bb04961",
        "plan": "complete",
        "window": "January 2017 to the next 3 days",
        "data_as_of": "2026-10-30T10:49:04+00:00"
    }
}
  

Parameters

NameInTypeRequiredWhat it does
race_idpathidyesOur 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.

FieldTypeHolds
race_idstringOur id for the race.
headlinestringThe report's headline.
previewstringWhat the market and form said before the off.
reportstringThe written account of the race.
runnersobjectThe runners, or how many there were.
runners.Es Khairiyahstring
runners.Af Yartaadstring
runners.Af Saqarastring
runners.Bassam Al Wathbastring
runners.Ezzahstring
runners.Sand Storm Aastring
runners.Magic Touchstring
runners.Af Marmuqstring
runners.Marta De Fauststring
runners.Namroodstring
runners.Af Laythstring
runners.Khattaf Wrsanstring
written_atstring

Errors

CodeStatusWhen
unauthorized401No key was sent, or the key is not one of ours.
upgrade_required403Your plan does not reach this endpoint. The answer names the plans that do.
bad_request400A 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_parameter422A parameter this endpoint does not take. The answer lists the ones it does.
not_found404No record has that id, or it is not British or Northern Irish racing.
rate_limited429Too many calls this minute for your plan.
quota_exceeded429Your plan's calls for the month are used. The answer says when they reset.