DataSportAPI
Docs
Your first call in one line

The free key reads yesterday for every sport, 50 calls a day. No card.

Get a free key
Greyhounds: Search
Search/v1/greyhounds/search
Every sport, one key

Complete reads all sixteen sports for $249 a month.

Take Complete
Ask in plain words

"Who won at Kempton yesterday?" Your assistant picks the tool and answers from your plan.

Connect in two minutes
Showing

Greyhounds results API

Results
Free key reads yesterdayMCP tool: resultsKept 5 minutes

Results with sectionals and starting prices.

Results returns every finished greyhounds race for a day. Leave out date and you get yesterday, which is also what the free key reads. Each row carries the final score, both sides with their ids and the competition, so one call fills a results page and every id opens the next one.

GET/v1/greyhounds/results

Try it

Your key stays in this browser and is filled in on every docs page.

GET
200 OK2020 ms2 rows shownReal answer from 2026-11-02, trimmed
{
    "data": [
        {
            "race_id": "gh_gq1nzkg6hp",
            "meeting_id": "gh_e2h08c7yme",
            "region": "IE",
            "track": {
                "track_id": "gh_y2dtvvm3rm",
                "name": "Clonmel",
                "region": "IE",
                "timezone": "Europe/Dublin"
            },
            "race_number": 12,
            "grade": "A4",
            "class_letter": "A",
            "class_number": 4,
            "distance_m": 480,
            "race_type": "Flat",
            "is_handicap": false,
            "going": "Sand",
            "field_size": 6,
            "scheduled_start": {
                "utc": "2026-11-01T21:26:00Z",
                "local": "2026-11-01T21:26:00+00:00"
            },
            "status": "complete",
            "off": {
                "utc": "2026-11-01T21:26:00Z",
                "delay_s": null
            },
            "freshness": {
                "first_seen": "2026-10-28T16:05:01Z",
                "results_received": "2026-11-01T21:35:01Z",
                "results_delay_s": 541,
                "updated": "2026-11-02T05:33:39Z"
            },
            "result": {
                "result_status": "final",
                "positions": [
                    {
                        "position": 1,
                        "trap": 4,
                        "rug": null,
                        "dog_id": "gh_1tkhafk5hv",
                        "dog_name": "Pops Sophie",
                        "trainer": {
                            "trainer_id": "gh_9cm11bfzej",
                            "name": "Ms Veronica Drea"
                        },
                        "sp": {
                            "fraction": "5/1",
                            "decimal": 6
                        },
                        "sectional_s": null,
                        "run_time_s": 28.89,
                        "adjusted_time_s": 28.89,
                        "weight_kg": 28.6,
                        "weight": {
                            "kg": 28.6,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_hbn9q3qr14",
                                "start": "2026-10-25T19:04:00Z",
                                "kg": 28.6,
                                "age_months": 24,
                                "days_before": 7
                            },
                            "change_kg": 0
                        }
                    },
                    {
                        "position": 2,
                        "trap": 1,
                        "rug": null,
                        "dog_id": "gh_br7eneej08",
                        "dog_name": "Kerryroad Jessie",
                        "trainer": {
                            "trainer_id": "gh_1ekcs7gf1m",
                            "name": "Kevin Mclean"
                        },
                        "sp": {
                            "fraction": "5/1",
                            "decimal": 6
                        },
                        "sectional_s": null,
                        "run_time_s": 29.06,
                        "adjusted_time_s": 29.06,
                        "weight_kg": 29.9,
                        "weight": {
                            "kg": 29.9,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_x3txpw6xqx",
                                "start": "2026-10-18T19:34:00Z",
                                "kg": 30.4,
                                "age_months": 36,
                                "days_before": 14
                            },
                            "change_kg": -0.5
                        }
                    },
                    {
                        "position": 3,
                        "trap": 6,
                        "rug": null,
                        "dog_id": "gh_xm8yzr4j8p",
                        "dog_name": "Chaotic Panther",
                        "trainer": {
                            "trainer_id": "gh_kwx9hd1s48",
                            "name": "Ms. Dora Hattemore"
                        },
                        "sp": {
                            "fraction": "7/2",
                            "decimal": 4.5
                        },
                        "sectional_s": null,
                        "run_time_s": 29.1,
                        "adjusted_time_s": 29.1,
                        "weight_kg": 29.5,
                        "weight": {
                            "kg": 29.5,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_x3txpw6xqx",
                                "start": "2026-10-18T19:34:00Z",
                                "kg": 29,
                                "age_months": 37,
                                "days_before": 14
                            },
                            "change_kg": 0.5
                        }
                    }
                ],
                "forecast_dividend": null,
                "tricast_dividend": null,
                "prize_money": "1st €240 | 2nd €60 | 3rd €40 | 4th €40 | 5th €40 | 6th €40 Race Total €460",
                "off": {
                    "utc": "2026-11-01T21:26:00Z",
                    "delay_s": null
                },
                "received": {
                    "utc": "2026-11-01T21:35:01Z",
                    "delay_s": 541
                },
                "weather": {
                    "hour_utc": "2026-11-01T21:00:00Z",
                    "temp_c": 6.4,
                    "humidity_pct": 89,
                    "wind_kph": 8.1,
                    "gust_kph": 16.2,
                    "wind_from": "NNE",
                    "wind_deg": 18,
                    "precip_mm": 0,
                    "conditions": "clear",
                    "before_race": {
                        "rain_6h_mm": 0,
                        "rain_24h_mm": 0.1,
                        "wind_avg_6h_kph": 9.6
                    }
                }
            }
        },
        {
            "race_id": "gh_tyny3w183d",
            "meeting_id": "gh_e2h08c7yme",
            "region": "IE",
            "track": {
                "track_id": "gh_y2dtvvm3rm",
                "name": "Clonmel",
                "region": "IE",
                "timezone": "Europe/Dublin"
            },
            "race_number": 11,
            "grade": "A3",
            "class_letter": "A",
            "class_number": 3,
            "distance_m": 480,
            "race_type": "Flat",
            "is_handicap": false,
            "going": "Sand",
            "field_size": 6,
            "scheduled_start": {
                "utc": "2026-11-01T21:09:00Z",
                "local": "2026-11-01T21:09:00+00:00"
            },
            "status": "complete",
            "off": {
                "utc": "2026-11-01T21:09:00Z",
                "delay_s": null
            },
            "freshness": {
                "first_seen": "2026-10-28T16:05:01Z",
                "results_received": "2026-11-01T21:30:01Z",
                "results_delay_s": 1261,
                "updated": "2026-11-02T05:33:39Z"
            },
            "result": {
                "result_status": "final",
                "positions": [
                    {
                        "position": 1,
                        "trap": 1,
                        "rug": null,
                        "dog_id": "gh_awdtrr8f7e",
                        "dog_name": "Dakota Fern",
                        "trainer": {
                            "trainer_id": "gh_q5nmrewqgt",
                            "name": "Mr. William Esmonde"
                        },
                        "sp": {
                            "fraction": "7/2",
                            "decimal": 4.5
                        },
                        "sectional_s": null,
                        "run_time_s": 28.72,
                        "adjusted_time_s": 28.72,
                        "weight_kg": 27.2,
                        "weight": {
                            "kg": 27.2,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_07c6ww2r2q",
                                "start": "2026-10-04T18:42:00Z",
                                "kg": 26.8,
                                "age_months": 23,
                                "days_before": 28
                            },
                            "change_kg": 0.4
                        }
                    },
                    {
                        "position": 2,
                        "trap": 4,
                        "rug": null,
                        "dog_id": "gh_20873wp2t7",
                        "dog_name": "Roses Rapper",
                        "trainer": {
                            "trainer_id": "gh_pacyxtrtkj",
                            "name": "Mr. Paul King"
                        },
                        "sp": {
                            "fraction": "3/1",
                            "decimal": 4
                        },
                        "sectional_s": null,
                        "run_time_s": 28.96,
                        "adjusted_time_s": 28.96,
                        "weight_kg": 34.5,
                        "weight": {
                            "kg": 34.5,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_f5g2my7qdb",
                                "start": "2026-10-25T19:24:00Z",
                                "kg": 34,
                                "age_months": 23,
                                "days_before": 7
                            },
                            "change_kg": 0.5
                        }
                    },
                    {
                        "position": 3,
                        "trap": 5,
                        "rug": null,
                        "dog_id": "gh_9hkadykh3f",
                        "dog_name": "Chaotic Matilda",
                        "trainer": {
                            "trainer_id": "gh_kwx9hd1s48",
                            "name": "Ms. Dora Hattemore"
                        },
                        "sp": {
                            "fraction": "9/4",
                            "decimal": 3.25
                        },
                        "sectional_s": null,
                        "run_time_s": 29.31,
                        "adjusted_time_s": 29.31,
                        "weight_kg": 24,
                        "weight": {
                            "kg": 24,
                            "status": "weighed",
                            "last_race": {
                                "race_id": "gh_f5g2my7qdb",
                                "start": "2026-10-25T19:24:00Z",
                                "kg": 24,
                                "age_months": 38,
                                "days_before": 7
                            },
                            "change_kg": 0
                        }
                    }
                ],
                "forecast_dividend": null,
                "tricast_dividend": null,
                "prize_money": "1st €260 | 2nd €65 | 3rd €40 | 4th €40 | 5th €40 | 6th €40 Race Total €485",
                "off": {
                    "utc": "2026-11-01T21:09:00Z",
                    "delay_s": null
                },
                "received": {
                    "utc": "2026-11-01T21:30:01Z",
                    "delay_s": 1261
                },
                "weather": {
                    "hour_utc": "2026-11-01T21:00:00Z",
                    "temp_c": 6.4,
                    "humidity_pct": 89,
                    "wind_kph": 8.1,
                    "gust_kph": 16.2,
                    "wind_from": "NNE",
                    "wind_deg": 18,
                    "precip_mm": 0,
                    "conditions": "clear",
                    "before_race": {
                        "rain_6h_mm": 0,
                        "rain_24h_mm": 0.1,
                        "wind_avg_6h_kph": 9.6
                    }
                }
            }
        }
    ],
    "meta": {
        "sport": "greyhounds",
        "endpoint": "/results",
        "count": 50,
        "page": 1,
        "per_page": 50,
        "total": 171,
        "total_pages": 4,
        "next_cursor": "WyIyMDI2LTExLTAxIDE2OjEwOjAxIiw5NTg5MDcwNzFd",
        "next_page": 2,
        "prev_page": null,
        "as_of": "2026-11-02T09:40:35Z",
        "cached": false,
        "age_seconds": 0
    }
}
No key yet? Get a free key: it reads yesterday for every sport and is filled in here once made.

Parameters

Query values this call takes. Anything else is refused with bad_param and the list it accepts.

NameTypeWhat it does
datedateoptionalOne day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.
competitionidoptionalOnly this competition, by its id from Competitions.
pageintegeroptionalWhich page of rows, from 1.
per_pageintegeroptionalRows per page, up to 100 on most lists.

Returns

Each row of data, from a real answer. Every id is ours and opens its own endpoint.

FieldTypeWhat it holds
race_ididThe race, by our id
meeting_ididThe meeting, by our id
regionstringThe region
trackobjectThe track
race_numberintegerRace number
gradestringThe grade
class_letterstringClass letter
class_numberintegerClass number
distance_mintegerDistance in metres
race_typestringRace type
is_handicapbooleanIs handicap
goingstringThe going
field_sizeintegerRunners in the race
scheduled_startobjectScheduled start time
statusstringIts state: scheduled, live, finished or similar
offobjectOff
freshnessobjectFreshness
resultobjectThe result
metaWhat it holds
sport, endpointWhat you asked
countRows in this answer
page, per_page, total, next_cursorWhere you are in a paged list, when it is paged
as_ofWhen the data was built
cached, age_secondsWhether this is a stored copy, and its age
accessOn the free key: what it reads, and the plan that opens the rest

Errors

Codes this call can give. Each is explained in Errors.

StatusCodeWhen
401no_keyNo key sent, or not in a form we read
401bad_keyA key we do not know
403planThe free key asked for a date other than yesterday
422bad_paramA value this call does not take
429rateOver the calls a minute for your plan
503upstreamThe data is not answering; retry after Retry-After

The free key reads yesterday. The Greyhounds plan opens live, fixtures and every date held, for $79 a month.

Add Greyhounds