Racing

Every dog in one greyhound race with its recent runs, from our own results

Cost: 3 credits. Every dog in one greyhound race with its recent runs from our own results, in one call: the field's form, not one dog's. Australian races and, from 12 October 2026, British and Irish ones.

Naming the race. race_id from /v1/racing/next-to-go, /events or /results is exact. Failing that, venue + meeting_date + race_number: the AET meeting date for an Australian race, the London date for a British or Irish one, the track matched by words there ("Towcester" finds "Betway Towcester"). Only greyhound races are matched, so a track that races dogs and trots on the same day is not ambiguous (from 13 October 2026); two greyhound races sharing those three answer 409 race_ambiguous and cost nothing.

The field. While the race is open the runners come from the live card (card_source: live): rug number, trap, trainer and the card's form figures as the books publish them -- PointsBet on every card, William Hill on the British and Irish ones -- with a dog the card has since scratched kept in the field and marked scratched: true. Once the race has been run and the live card purged, the field is the settled result's (card_source: results).

The runs. Under each dog, its newest runs runs (default 10, at most 20) and a starts, wins and places summary over every run held, ONLY RUNS BEFORE THIS RACE'S START (form_as_at), so a race already run answers with what was knowable at the jump and never with its own result. On an Australian race the runs are the same store /v1/racing/greyhounds/form reads -- our own collected results and the history behind them, with times, splits, weight, PIR and grade where the source printed them. On a British or Irish race they are our own GB/IE results from PointsBet's settled race card since 12 October 2026: the paid places carry a position (three on a six-dog field), every other starter reads ran with position null -- not placed, which covers a dog that did not finish, and source.note says so on every British or Irish answer -- and there are no times, splits or grades; source.region reads GB-IE and source.coverage_from is that floor, so most dogs hold few or no runs yet -- British dogs race about weekly, and the record grows with every meeting we settle. runs_total counts STARTS (status: ran), the same figure as stats.starts, and held_rows_total every held row, scratchings and unused reserves included, which is what runs is drawn from; before 2026-10-13 runs_total counted every row.

Identity. Dogs are grouped on name_key, the name's letters and digits, the same fold the one-dog routes use; pass it as dog there for the full record. A race we cannot find is a free 404, a race we hold no field for a free 404, an unknown query parameter a free 422. Greyhounds only; thoroughbreds have /v1/racing/form. Cached 10 minutes; the Australian store refreshes hourly, the British and Irish runs are read live.

get/v1/racing/greyhounds/field

Request

  • Base URL: https://api.puntersedge.online
  • URL: https://api.puntersedge.online/v1/racing/greyhounds/field
  • Auth: API key in header X-API-Key

Query parameters

race_idstring nullable

The race_id from /v1/racing/next-to-go, /events or /results. The primary form; use venue + meeting_date + race_number only when you do not hold it.

venuestring nullable

Track name as the feeds spell it (case-insensitive; a British or Irish track is matched by words). Needs meeting_date and race_number.

meeting_datestring date nullable

Meeting date, YYYY-MM-DD: the AET date for an Australian race, the London date for a British or Irish one.

race_numberinteger nullable
runsinteger

Most recent runs to return per dog. The stats cover every held run regardless.

Headers

X-API-Keystring
X-RapidAPI-Proxy-Secretstring

Response

Successful Response

race_idstring required
venuestring nullable
race_numberinteger nullable
start_timestring nullable

Scheduled start, UTC.

meeting_datestring nullable

Sydney calendar date of the meeting; the London date for a British or Irish race.

race_namestring nullable
distance_minteger nullable
track_conditionstring nullable
race_statusstring nullable

The live race's status while it is open; the result's (interim/final) once it has been run.

card_sourcestring required

live -- the field came from the live card; results -- the race has been run, its live rows are gone, and the field is the settled result's.

form_as_atstring nullable

This race's start, UTC. Every run and figure below is from BEFORE this instant, so a race already run answers with what was knowable at the jump, never its own result.

runs_per_runnerinteger required
runners_totalinteger required
runners_with_runsinteger required

Runners with at least one start held (runs_total of 1 or more). A runner whose only held rows are scratchings or unused reserves is not counted.

Example response

{
  "card_source": "live",
  "distance_m": 516,
  "form_as_at": "2026-09-19T07:22:00Z",
  "meeting_date": "2026-09-19",
  "race_id": "9b4e2b2e-1d7a-4b6a-9f1c-0f3c2a6e7d10",
  "race_name": "Dubbo Grade 5",
  "race_number": 2,
  "race_status": "open",
  "runners": [
    {
      "box": 2,
      "form": "1",
      "held_rows_total": 1,
      "name": "Tommy Blue",
      "name_key": "tommyblue",
      "number": 2,
      "runs": [
        {
          "box": 2,
          "date": "2026-09-19",
          "dead_heat": false,
          "distance_m": 516,
          "field_size": 5,
          "first_split_s": 6.71,
          "grade": "M",
          "number": 2,
          "origin": "results",
          "position": 1,
          "race_name": "Dubbo Maiden",
          "race_number": 1,
          "result_id": "res_9f1c…",
          "runner_ref": "grsa:441535",
          "second_split_s": 18.02,
          "source": "grsa",
          "sp": 1.33,
          "start_time": "2026-09-19T07:02:00Z",
          "status": "ran",
          "time_s": 30.14,
          "trainer": "Raymond Tyquin",
          "venue": "Dubbo",
          "weight_kg": 29.8,
          "win_time_s": 30.14
        }
      ],
      "runs_total": 1,
      "scratched": false,
      "stats": {
        "place_pct": 100,
        "places": 1,
        "starts": 1,
        "win_pct": 100,
        "wins": 1
      },
      "trainer": "Raymond Tyquin"
    }
  ],
  "runners_total": 1,
  "runners_with_runs": 1,
  "runs_per_runner": 10,
  "source": {
    "collectors": [
      "fasttrack",
      "grsa"
    ],
    "coverage_from": "2026-06-23",
    "coverage_to": "2026-09-20",
    "feed": "puntersedge",
    "refreshed_hourly": true,
    "region": "AU",
    "results_from": "2026-09-13",
    "sport": "greyhound"
  },
  "start_time": "2026-09-19T07:22:00Z",
  "venue": "Dubbo"
}

Changes

No recorded changes to this operation across all 1 revision of this API.