Docs› Coverage› Pricing› Status› Support›
  1. Home
  2. Documentation
  3. Yesterday's results

Greyhound racing API: Yesterday's results

Yesterday's results

Yesterday's results, every meeting. UK, Ireland and Australia.

Documentation / Results

Yesterday's results

Free keyRace PassArchive PassMCP tool yesterdays_results

Yesterday's results, every meeting. Covers the UK, Ireland and Australia.

GEThttps://api.greyhoundracingapi.com/v1/results/yesterday

Try it

No key yet? The free key is made in a moment and filled in here for you. Get a free key
GET https://api.greyhoundracingapi.com/v1/results/yesterday
Run works once the API is live; the code below works now with the login.

Parameters

NameTypeWhat it does
countrystringLeave out for all three countries.
GBIEAU
trackstringA track id from Tracks, such as romford.
pageintegerPage number, from 1. 50 races a page.
cursorstringThe meta.next_cursor from your last call, for the next page.
formatstringThe answer format. Adding .csv to the path does the same as csv.
jsoncsv

Returns

A list of races in data and paging in meta: count, page, per_page, total, total_pages and next_cursor. A field we do not have for a race is null, never left out. See Pagination.

FieldTypeWhat it holds
race_idstringOur id for the race. Stable, safe to store.
trackstringTrack id, as in Tracks.
track_namestringTrack name for display.
countrystringGB, IE or AU.
nointegerRace number at the meeting.
offtimeScheduled start, local to the track, HH:MM.
off_utcdatetimeScheduled start in UTC.
distance_mintegerDistance in metres.
gradestringRace grade, where one is given.
settled_atdatetimeWhen the result arrived, UTC. Use it with since.
result_statusstringprovisional until confirmed, then final.
result[].posintegerFinishing position.
result[].trapintegerTrap, 1 to 6 (1 to 8 in Australia).
result[].runnerstringGreyhound name.
result[].runner_idstringOur id for the greyhound. Stable, safe to store.
result[].trainerstringTrainer name.
result[].timenumberRun time in seconds.
result[].spstringStarting price as given: fractional where there is one.
result[].sp_decimalnumberStarting price in decimal odds.

Example answer

A real answer from 6 October 2026, 13:10 UTC, trimmed to one race and three runners.

{
    "data": [
        {
            "race_id": "rc_y7t67w4m",
            "track": "enniscorthy",
            "track_name": "Enniscorthy",
            "country": "IE",
            "no": 8,
            "off": "21:39",
            "off_utc": "2026-10-05T20:39:00Z",
            "distance_m": 480,
            "grade": "A2",
            "settled_at": "2026-10-05T21:05:00Z",
            "result_status": "final",
            "result": [
                {
                    "pos": 1,
                    "trap": 3,
                    "runner": "Ballinabola Wild",
                    "runner_id": "rn_y5ychzap",
                    "trainer": "Liam Butler (snr.)",
                    "time": 29.07,
                    "sp": "4",
                    "sp_decimal": 4
                },
                {
                    "pos": 2,
                    "trap": 2,
                    "runner": "Blackhill Jack",
                    "runner_id": "rn_wfh24r03",
                    "trainer": "Anton Butler",
                    "time": 29.24,
                    "sp": "3",
                    "sp_decimal": 3
                },
                {
                    "pos": 3,
                    "trap": 1,
                    "runner": "Karlow Blaze",
                    "runner_id": "rn_k0zm6ba6",
                    "trainer": "J-m-h-syndicate",
                    "time": 29.45,
                    "sp": "3.5",
                    "sp_decimal": 3.5
                }
            ]
        }
    ],
    "meta": {
        "count": 50,
        "page": 1,
        "per_page": 50,
        "total": 202,
        "total_pages": 5,
        "next_cursor": "cDI",
        "took_ms": 194
    }
}

Errors

StatusCodeWhat to do
400bad_requestA value is not valid, a date is before 2020, or the key was put in the address. The message says which.
401unauthorizedNo key, or the key is wrong, revoked or expired. Check the header.
422unknown_parameterA parameter this endpoint does not take. The message lists the ones it does.
429rate_limitedToo many calls this minute. Wait for Retry-After.
429quota_exceededToday's allowance is used. It resets at 00:00 UTC.
503server_errorOur side. Not counted against you. Try again shortly, and see status.