Yesterday's results
Every plan, free key included
Every settled UK race from yesterday. British and Northern Irish racing only.
Examplea real answer from 2026-10-29, trimmed to a few rows
{
"data": [
{
"meeting_id": "mt_b5898ppq",
"course_id": "cr_jqze1jjy",
"course": "Bath",
"country": "ENG",
"region": "GB",
"date": "2026-10-29",
"going": "Soft (Heavy in places)",
"surface": "TURF",
"races": [
{
"race_id": "rc_c2v2dgjt",
"meeting_id": "mt_b5898ppq",
"course": "Bath",
"time": "12:42",
"off_time": "12:44:22",
"name": "David Cole Memorial EBF Novice Stakes (GBB/GBBPlus Race) (Div 1)",
"run_type": "Flat",
"class": "3",
"distance": "1m",
"going": "Soft (Heavy in places)",
"surface": "TURF",
"handicap": false,
"runners": 12,
"result_available": true
},
{
"race_id": "rc_dk34v84n",
"meeting_id": "mt_b5898ppq",
"course": "Bath",
"time": "13:12",
"off_time": "13:15:53",
"name": "David Cole Memorial EBF Novice Stakes (GBB/GBBPlus Race) (Div 2)",
"run_type": "Flat",
"class": "3",
"distance": "1m",
"going": "Soft (Heavy in places)",
"surface": "TURF",
"handicap": false,
"runners": 11,
"result_available": true
},
{
"race_id": "rc_j4rqb8cc",
"meeting_id": "mt_b5898ppq",
"course": "Bath",
"time": "13:42",
"off_time": "13:45:03",
"name": "Bath Luxury Toilet Hire Nursery",
"run_type": "Flat",
"class": "6",
"distance": "1m",
"going": "Soft (Heavy in places)",
"surface": "TURF",
"handicap": true,
"runners": 8,
"result_available": true
}
]
},
{
"meeting_id": "mt_rc6bwdyr",
"course_id": "cr_7vbqtcfg",
"course": "Ffos Las",
"country": "Wale",
"region": "GB",
"date": "2026-10-29",
"going": "Heavy (Soft in places)",
"surface": "TURF",
"races": [
{
"race_id": "rc_tkpw2q6x",
"meeting_id": "mt_rc6bwdyr",
"course": "Ffos Las",
"time": "13:30",
"off_time": "13:30:34",
"name": "bettingsites.co.uk Maiden Hurdle (GBB Race)",
"run_type": "Hurdle",
"class": "4",
"distance": "2m 4f",
"going": "Heavy (Soft in places)",
"surface": "TURF",
"handicap": false,
"runners": 13,
"result_available": true
},
{
"race_id": "rc_xqhxz6j1",
"meeting_id": "mt_rc6bwdyr",
"course": "Ffos Las",
"time": "14:00",
"off_time": "14:00:28",
"name": "Dandara Maiden Hurdle (GBB Race)",
"run_type": "Hurdle",
"class": "4",
"distance": "1m 7f 182y",
"going": "Heavy (Soft in places)",
"surface": "TURF",
"handicap": false,
"runners": 10,
"result_available": true
},
{
"race_id": "rc_zq7h6pfn",
"meeting_id": "mt_rc6bwdyr",
"course": "Ffos Las",
"time": "14:30",
"off_time": "14:31:05",
"name": "bettingsites.co.uk Handicap Hurdle",
"run_type": "Hurdle",
"class": "5",
"distance": "2m 4f",
"going": "Heavy (Soft in places)",
"surface": "TURF",
"handicap": true,
"runners": 6,
"result_available": true
}
]
}
],
"meta": {
"request_id": "3fc5b745f31684fb",
"plan": "complete",
"window": "January 2017 to the next 3 days",
"data_as_of": "2026-10-30T04:03:33+00:00",
"count": 4
}
}Parameters
None. Send your key and nothing else.
Returns
A list in data, one row each, with meta.count. Every answer carries meta: request_id, plan, window and data_as_of.
| Field | Type | Holds |
|---|---|---|
meeting_id | string | Our id for the meeting. |
course_id | string | Our id for the course. |
course | string | The course name. |
country | string | ENG, Scot, Wale or Nort. |
region | string | GB, or NORT for Northern Ireland. |
date | string | The UK racing day, YYYY-MM-DD. |
going | string | The going as declared; null until it is. |
surface | string | Turf or the all-weather surface. |
races | array | The races, or how many there have been. |
races[].race_id | string | Our id for the race. |
races[].meeting_id | string | Our id for the meeting. |
races[].course | string | The course name. |
races[].time | string | The advertised off time by the racecourse clock, HH:MM. |
races[].off_time | string | When the race actually went off, by the racecourse clock; null until it has. |
races[].name | string | The name, as raced: the race title on a race. |
races[].run_type | string | Flat, Hurdle, Chase or NH Flat. |
races[].class | string | The race class. |
races[].distance | string | The race distance as published, for example 2m 87y. |
races[].going | string | The going as declared; null until it is. |
races[].surface | string | Turf or the all-weather surface. |
races[].handicap | boolean | Whether the race is a handicap. |
races[].runners | integer | The runners, or how many there were. |
races[].result_available | boolean | Whether the race is settled. |
Errors
| Code | Status | When |
|---|---|---|
unauthorized | 401 | No key was sent, or the key is not one of ours. |
unknown_parameter | 422 | A parameter this endpoint does not take. The answer lists the ones it does. |
rate_limited | 429 | Too many calls this minute for your plan. |
quota_exceeded | 429 | Your plan's calls for the month are used. The answer says when they reset. |