horseracingapi.co.uk

The day's upsets

Every plan, free key includedMCP: days_upsets

The day's UK shocks, scored 0 to 100. British and Northern Irish racing only.

GEThttps://api.horseracingapi.co.uk/v1/upsets
Try itruns against the real API with your key
Get a free key
GET /v1/upsets
Examplea real answer from 2026-10-29
{
    "data": [],
    "meta": {
        "request_id": "7cdcf0e3ff5e5615",
        "plan": "complete",
        "window": "January 2017 to the next 3 days",
        "data_as_of": "2026-10-30T10:59:03+00:00",
        "count": 0
    }
}
  

Parameters

NameInTypeRequiredWhat it does
datequerydatenoA UK racing day, YYYY-MM-DD. Leave it out for the latest settled day.

Returns

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

Each field is listed here, read from the example answer, once the data feed is connected.

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.