horseracingapi.co.uk

Meetings on a date

Every plan, free key included

Every UK meeting on a date, with going and weather. British and Northern Irish racing only.

GEThttps://api.horseracingapi.co.uk/v1/meetings/{date}
Try itruns against the real API with your key
Get a free key
GET /v1/meetings/{date}
Examplea real answer from 2026-10-29, trimmed to a few rows
{
    "data": [
        {
            "meeting_id": "mt_b5898ppq",
            "course_id": "cr_jqze1jjy",
            "course": "Bath",
            "shortcode": "BTH",
            "country": "ENG",
            "region": "GB",
            "date": "2026-10-29",
            "going": "Soft (Heavy in places)",
            "surface": "TURF",
            "weather": "Sunny",
            "status": "DORMANT",
            "races": 8
        },
        {
            "meeting_id": "mt_rc6bwdyr",
            "course_id": "cr_7vbqtcfg",
            "course": "Ffos Las",
            "shortcode": "FFL",
            "country": "Wale",
            "region": "GB",
            "date": "2026-10-29",
            "going": "Good",
            "surface": "TURF",
            "weather": "Mostly Cloudy",
            "status": "DORMANT",
            "races": 7
        }
    ],
    "meta": {
        "request_id": "73755e24dae59fcb",
        "plan": "complete",
        "window": "January 2017 to the next 3 days",
        "data_as_of": "2026-10-30T08:03:04+00:00",
        "count": 4
    }
}
  

Parameters

NameInTypeRequiredWhat it does
datepathdateyesA UK racing day, YYYY-MM-DD, by the course's own clock.

Returns

A list in data, one row each, with meta.count. Every answer carries meta: request_id, plan, window and data_as_of.

FieldTypeHolds
meeting_idstringOur id for the meeting.
course_idstringOur id for the course.
coursestringThe course name.
shortcodestringThe course's short code, where it has one.
countrystringENG, Scot, Wale or Nort.
regionstringGB, or NORT for Northern Ireland.
datestringThe UK racing day, YYYY-MM-DD.
goingstringThe going as declared; null until it is.
surfacestringTurf or the all-weather surface.
weatherstringThe weather on the day, where published.
statusstringWhere the meeting stands.
racesintegerThe races, or how many there have been.

Errors

CodeStatusWhen
unauthorized401No key was sent, or the key is not one of ours.
outside_plan_window403The day asked for is outside what your plan reads. The answer gives your window and the day you asked for.
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.
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.