horseracingapi.co.uk

Every UK course

Every plan, free key includedMCP: list_courses

Every UK course, busiest first.

GEThttps://api.horseracingapi.co.uk/v1/courses
Try itruns against the real API with your key
Get a free key
GET /v1/courses
Examplea real answer from 2026-10-29, trimmed to a few rows
{
    "data": [
        {
            "course_id": "cr_1wkcasv1",
            "name": "Wolverhampton",
            "nation": "England",
            "town": "Wolverhampton",
            "county": "West Midlands",
            "lat": 52.604,
            "lng": -2.1436,
            "direction": "left",
            "kinds": [
                "flat",
                "all_weather"
            ],
            "races": 6246,
            "first_meeting": "2017-01-04",
            "last_meeting": "2026-10-27"
        },
        {
            "course_id": "cr_xtryzmdd",
            "name": "Newcastle",
            "nation": "England",
            "town": "Newcastle upon Tyne",
            "county": "Tyne and Wear",
            "lat": 55.0308,
            "lng": -1.6008,
            "direction": "left",
            "kinds": [
                "flat",
                "jumps",
                "all_weather"
            ],
            "races": 5653,
            "first_meeting": "2017-01-03",
            "last_meeting": "2026-10-31"
        }
    ],
    "meta": {
        "request_id": "03f58a1214ba7e5f",
        "plan": "complete",
        "window": "January 2017 to the next 3 days",
        "count": 68
    }
}
  

Parameters

None. Send your key and nothing else.

Returns

One record in data. Every answer carries meta: request_id, plan, window and data_as_of.

FieldTypeHolds
course_idstringOur id for the course.
namestringThe name, as raced: the race title on a race.
nationstringEngland, Scotland, Wales or Northern Ireland.
townstringThe town or nearest town.
countystringThe county, or council area in Scotland and Wales.
latnumberLatitude of the course, four decimals.
lngnumberLongitude of the course, four decimals.
directionstringWhich way round it runs: left, right or figure of eight.
kindsarrayThe kinds of racing held there.
racesintegerThe races, or how many there have been.
first_meetingstringThe first meeting we hold, a UK day.
last_meetingstringThe latest meeting we hold, a UK day.

Errors

CodeStatusWhen
unauthorized401No key was sent, or the key is not one of ours.
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.