Greyhounds today's racecards API
Today's racecardsToday's cards with every trap.
This lists what is coming, with start times in UTC and the ids that carry on into results once played. It comes with the Greyhounds plan.
Try it
Your key stays in this browser and is filled in on every docs page.
200 OK2492 ms2 rows shownReal answer from 2026-11-02, trimmed
{
"data": [
{
"race_id": "gh_rn0s03y3wn",
"meeting_id": "gh_07perjzwaa",
"region": "AU",
"track": {
"track_id": "gh_5935vcdk3p",
"name": "Healesville",
"region": "AU",
"timezone": "Australia/Melbourne"
},
"race_number": 1,
"grade": "M",
"class_letter": "M",
"class_number": 0,
"distance_m": 300,
"race_type": "Flat",
"is_handicap": false,
"going": null,
"field_size": 7,
"scheduled_start": {
"utc": "2026-11-01T23:37:00Z",
"local": "2026-11-02T10:37:00+11:00"
},
"status": "complete",
"off": {
"utc": "2026-11-01T23:37:00Z",
"delay_s": null
},
"freshness": {
"first_seen": "2026-10-29T04:15:03Z",
"results_received": "2026-11-01T23:55:01Z",
"results_delay_s": 1081,
"updated": "2026-11-02T09:30:28Z"
},
"runners": [
{
"trap": 1,
"rug": 1,
"dog_id": "gh_g9herf65d2",
"dog_name": "Lady Belmont",
"sex": "b",
"colour": null,
"born": "2023-07-13",
"age_months": 39,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_gg8vyekn1s",
"name": "Peter Craig"
},
"owner": {
"owner_id": "gh_cygd8fqcjw",
"name": "Peter Craig"
},
"weight_kg": 27.2,
"weight": {
"kg": 27.2,
"status": "weighed",
"last_race": {
"race_id": "gh_8xxpfdbwf2",
"start": "2026-10-28T08:19:00Z",
"kg": 27,
"age_months": 39,
"days_before": 4
},
"change_kg": 0.2
},
"handicap_metres": null,
"sp": {
"fraction": "19/1",
"decimal": 20
},
"position": 3,
"runner_status": "runner"
},
{
"trap": 2,
"rug": 2,
"dog_id": "gh_8tyv0zsa7y",
"dog_name": "White Line",
"sex": "d",
"colour": null,
"born": "2024-10-08",
"age_months": 24,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_ss1dpsvbnj",
"name": "Brad Sands"
},
"owner": {
"owner_id": "gh_cqrx7atcxa",
"name": "Brad Sands"
},
"weight_kg": 30.6,
"weight": {
"kg": 30.6,
"status": "weighed",
"last_race": {
"race_id": "gh_v7rpr83rww",
"start": "2026-10-29T23:59:00Z",
"kg": 30.5,
"age_months": 24,
"days_before": 2
},
"change_kg": 0.1
},
"handicap_metres": null,
"sp": {
"fraction": "16/1",
"decimal": 17
},
"position": 5,
"runner_status": "runner"
},
{
"trap": 3,
"rug": 3,
"dog_id": "gh_00b8xb6ybf",
"dog_name": "Doongalla Eve",
"sex": "b",
"colour": null,
"born": "2024-01-17",
"age_months": 33,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_mbyge3x2ed",
"name": "Kathryne Tabb"
},
"owner": {
"owner_id": "gh_6v4yk07n5v",
"name": "Peter Onley"
},
"weight_kg": 27.7,
"weight": {
"kg": 27.7,
"status": "weighed",
"last_race": {
"race_id": "gh_kcareapgw5",
"start": "2026-10-29T23:42:00Z",
"kg": 27.6,
"age_months": 33,
"days_before": 2
},
"change_kg": 0.1
},
"handicap_metres": null,
"sp": {
"fraction": "26/1",
"decimal": 27
},
"position": 6,
"runner_status": "runner"
}
],
"result": {
"result_status": "final",
"positions": [
{
"position": 1,
"trap": 7,
"rug": 7,
"dog_id": "gh_03jmxrg22r",
"dog_name": "Night And Day",
"trainer": {
"trainer_id": "gh_1c92hq57cq",
"name": "Laurence Scala"
},
"sp": {
"fraction": "9/20",
"decimal": 1.45
},
"sectional_s": 3.96,
"run_time_s": 16.91,
"adjusted_time_s": null,
"weight_kg": 28.3,
"weight": {
"kg": 28.3,
"status": "weighed",
"last_race": {
"race_id": "gh_12hp0waq0t",
"start": "2026-10-27T03:42:00Z",
"kg": 28.3,
"age_months": 24,
"days_before": 5
},
"change_kg": 0
}
},
{
"position": 2,
"trap": 6,
"rug": 6,
"dog_id": "gh_5d4dace3m1",
"dog_name": "Sacred Spell",
"trainer": {
"trainer_id": "gh_s9stjeg54m",
"name": "Anita Gibbons"
},
"sp": {
"fraction": "2/1",
"decimal": 3
},
"sectional_s": 4.03,
"run_time_s": 17.02,
"adjusted_time_s": null,
"weight_kg": 25.5,
"weight": {
"kg": 25.5,
"status": "weighed",
"last_race": {
"race_id": "gh_xc8815heb4",
"start": "2026-11-01T00:16:00Z",
"kg": 0,
"age_months": 25,
"days_before": 0
},
"change_kg": 25.5
}
},
{
"position": 3,
"trap": 1,
"rug": 1,
"dog_id": "gh_g9herf65d2",
"dog_name": "Lady Belmont",
"trainer": {
"trainer_id": "gh_gg8vyekn1s",
"name": "Peter Craig"
},
"sp": {
"fraction": "19/1",
"decimal": 20
},
"sectional_s": 4.08,
"run_time_s": 17.04,
"adjusted_time_s": null,
"weight_kg": 27.2,
"weight": {
"kg": 27.2,
"status": "weighed",
"last_race": {
"race_id": "gh_8xxpfdbwf2",
"start": "2026-10-28T08:19:00Z",
"kg": 27,
"age_months": 39,
"days_before": 4
},
"change_kg": 0.2
}
}
],
"forecast_dividend": null,
"tricast_dividend": null,
"prize_money": null,
"off": {
"utc": "2026-11-01T23:37:00Z",
"delay_s": null
},
"received": {
"utc": "2026-11-01T23:55:01Z",
"delay_s": 1081
},
"weather": {
"hour_utc": "2026-11-01T23:00:00Z",
"temp_c": 20.9,
"humidity_pct": 54,
"wind_kph": 11.5,
"gust_kph": 23,
"wind_from": "N",
"wind_deg": 1,
"precip_mm": 0,
"conditions": "overcast",
"before_race": {
"rain_6h_mm": 0,
"rain_24h_mm": 0.1,
"wind_avg_6h_kph": 5.8
}
}
}
},
{
"race_id": "gh_dk551gjx4d",
"meeting_id": "gh_07perjzwaa",
"region": "AU",
"track": {
"track_id": "gh_5935vcdk3p",
"name": "Healesville",
"region": "AU",
"timezone": "Australia/Melbourne"
},
"race_number": 2,
"grade": "M",
"class_letter": "M",
"class_number": 0,
"distance_m": 300,
"race_type": "Flat",
"is_handicap": false,
"going": null,
"field_size": 6,
"scheduled_start": {
"utc": "2026-11-01T23:55:00Z",
"local": "2026-11-02T10:55:00+11:00"
},
"status": "complete",
"off": {
"utc": "2026-11-01T23:55:00Z",
"delay_s": null
},
"freshness": {
"first_seen": "2026-10-29T04:15:03Z",
"results_received": "2026-11-02T00:15:02Z",
"results_delay_s": 1202,
"updated": "2026-11-02T09:30:27Z"
},
"runners": [
{
"trap": 1,
"rug": 1,
"dog_id": "gh_zfnhmmetx2",
"dog_name": "Aston Mikhail",
"sex": "d",
"colour": null,
"born": "2024-02-01",
"age_months": 33,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_fgqct5xnwg",
"name": "Trevor Whitford"
},
"owner": {
"owner_id": "gh_egw26m60zd",
"name": "Trevor Whitford"
},
"weight_kg": 33.9,
"weight": {
"kg": 33.9,
"status": "weighed",
"last_race": {
"race_id": "gh_s0qyrqght6",
"start": "2026-10-28T07:57:00Z",
"kg": 0,
"age_months": 32,
"days_before": 4
},
"change_kg": 33.9
},
"handicap_metres": null,
"sp": {
"fraction": "50/1",
"decimal": 51
},
"position": 6,
"runner_status": "runner"
},
{
"trap": 2,
"rug": 2,
"dog_id": "gh_nhtw31rq3f",
"dog_name": "Never Thought",
"sex": "b",
"colour": null,
"born": "2025-03-10",
"age_months": 19,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_m2kvcqnhkx",
"name": "Matthew Lanigan"
},
"owner": {
"owner_id": "gh_fe08e7gy8r",
"name": "Curly Bird (Syn)"
},
"weight_kg": 26.8,
"weight": {
"kg": 26.8,
"status": "weighed",
"last_race": {
"race_id": "gh_kcareapgw5",
"start": "2026-10-29T23:42:00Z",
"kg": 27,
"age_months": 19,
"days_before": 3
},
"change_kg": -0.2
},
"handicap_metres": null,
"sp": {
"fraction": "6/25",
"decimal": 1.24
},
"position": 1,
"runner_status": "runner"
},
{
"trap": 3,
"rug": 3,
"dog_id": "gh_0rdy501bd4",
"dog_name": "Doongalla Gigi",
"sex": "b",
"colour": null,
"born": "2024-01-17",
"age_months": 33,
"sire": null,
"dam": null,
"trainer": {
"trainer_id": "gh_6qhe34rcm6",
"name": "Mathew Tabb"
},
"owner": {
"owner_id": "gh_6v4yk07n5v",
"name": "Peter Onley"
},
"weight_kg": 25.6,
"weight": {
"kg": 25.6,
"status": "weighed",
"last_race": {
"race_id": "gh_v7rpr83rww",
"start": "2026-10-29T23:59:00Z",
"kg": 25.6,
"age_months": 33,
"days_before": 2
},
"change_kg": 0
},
"handicap_metres": null,
"sp": {
"fraction": "60/1",
"decimal": 61
},
"position": 4,
"runner_status": "runner"
}
],
"result": {
"result_status": "final",
"positions": [
{
"position": 1,
"trap": 2,
"rug": 2,
"dog_id": "gh_nhtw31rq3f",
"dog_name": "Never Thought",
"trainer": {
"trainer_id": "gh_m2kvcqnhkx",
"name": "Matthew Lanigan"
},
"sp": {
"fraction": "6/25",
"decimal": 1.24
},
"sectional_s": 3.94,
"run_time_s": 16.74,
"adjusted_time_s": null,
"weight_kg": 26.8,
"weight": {
"kg": 26.8,
"status": "weighed",
"last_race": {
"race_id": "gh_kcareapgw5",
"start": "2026-10-29T23:42:00Z",
"kg": 27,
"age_months": 19,
"days_before": 3
},
"change_kg": -0.2
}
},
{
"position": 2,
"trap": 8,
"rug": 8,
"dog_id": "gh_cfx58xqjjr",
"dog_name": "Where's Logan",
"trainer": {
"trainer_id": "gh_53r196ya68",
"name": "Arend Gringhuis"
},
"sp": {
"fraction": "7/2",
"decimal": 4.5
},
"sectional_s": 4.05,
"run_time_s": 17,
"adjusted_time_s": null,
"weight_kg": 34.3,
"weight": {
"kg": 34.3,
"status": "weighed",
"last_race": {
"race_id": "gh_9napkswke0",
"start": "2026-10-25T00:40:00Z",
"kg": 34.7,
"age_months": 20,
"days_before": 7
},
"change_kg": -0.4
}
},
{
"position": 3,
"trap": 4,
"rug": 4,
"dog_id": "gh_za68zavm8m",
"dog_name": "Hey Tommy",
"trainer": {
"trainer_id": "gh_xvsw3v99m1",
"name": "Marion Clay"
},
"sp": {
"fraction": "7/1",
"decimal": 8
},
"sectional_s": 4.1,
"run_time_s": 17.25,
"adjusted_time_s": null,
"weight_kg": 36,
"weight": {
"kg": 36,
"status": "weighed",
"last_race": {
"race_id": "gh_v7s1ysdpek",
"start": "2026-10-25T23:55:00Z",
"kg": 36.1,
"age_months": 30,
"days_before": 7
},
"change_kg": -0.1
}
}
],
"forecast_dividend": null,
"tricast_dividend": null,
"prize_money": null,
"off": {
"utc": "2026-11-01T23:55:00Z",
"delay_s": null
},
"received": {
"utc": "2026-11-02T00:15:02Z",
"delay_s": 1202
},
"weather": {
"hour_utc": "2026-11-01T23:00:00Z",
"temp_c": 20.9,
"humidity_pct": 54,
"wind_kph": 11.5,
"gust_kph": 23,
"wind_from": "N",
"wind_deg": 1,
"precip_mm": 0,
"conditions": "overcast",
"before_race": {
"rain_6h_mm": 0,
"rain_24h_mm": 0.1,
"wind_avg_6h_kph": 5.8
}
}
}
}
],
"meta": {
"sport": "greyhounds",
"endpoint": "/cards/today",
"count": 50,
"page": 1,
"per_page": 50,
"total": 245,
"total_pages": 5,
"next_cursor": "WyIyMDI2LTExLTAyIDA2OjM5OjAwIiw2NzA5NDQ1OTJd",
"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
This call takes no query values.
Returns
Each row of data, from a real answer. Every id is ours and opens its own endpoint.
| Field | Type | What it holds |
|---|---|---|
| race_id | id | The race, by our id |
| meeting_id | id | The meeting, by our id |
| region | string | The region |
| track | object | The track |
| race_number | integer | Race number |
| grade | string | The grade |
| class_letter | string | Class letter |
| class_number | integer | Class number |
| distance_m | integer | Distance in metres |
| race_type | string | Race type |
| is_handicap | boolean | Is handicap |
| going | null | The going |
| field_size | integer | Runners in the race |
| scheduled_start | object | Scheduled start time |
| status | string | Its state: scheduled, live, finished or similar |
| off | object | Off |
| freshness | object | Freshness |
| runners | list | Every runner |
| result | object | The result |
| meta | What it holds |
|---|---|
| sport, endpoint | What you asked |
| count | Rows in this answer |
| page, per_page, total, next_cursor | Where you are in a paged list, when it is paged |
| as_of | When the data was built |
| cached, age_seconds | Whether this is a stored copy, and its age |
| access | On the free key: what it reads, and the plan that opens the rest |
Errors
Codes this call can give. Each is explained in Errors.
| Status | Code | When |
|---|---|---|
| 401 | no_key | No key sent, or not in a form we read |
| 401 | bad_key | A key we do not know |
| 403 | plan | The free key, or a sport you do not hold |
| 422 | bad_param | A value this call does not take |
| 429 | rate | Over the calls a minute for your plan |
| 503 | upstream | The data is not answering; retry after Retry-After |
Today's racecards comes with the Greyhounds plan, $79 a month, with every date held and 250,000 calls a month.
Add Greyhounds