API reference

GreyhoundAPI documentation

Thirty-eight REST endpoints and a WebSocket stream over greyhound racing in Great Britain and Australia: racecards, runners, results, sectionals, starting prices, Betfair market summaries, dogs, trainers, owners, tracks and breeding. Race data only — no predictions, no ratings, no betting advice.

38REST endpoints
7On the free key
3Live Plus only
17Paginated

Machine-readable: OpenAPI 3.1 spec · Postman collection · generated from the same registry as these pages · Changelog. Every endpoint page has a Run it live console — bring a key.

Quickstart

Base URL https://api.greyhoundapi.com/v1, key in the X-API-Key header, JSON in a meta/data envelope. First call:

curl "https://api.greyhoundapi.com/v1/racecards/today?region=GB" \
  -H "X-API-Key: $GAPI_KEY"
<?php
$ch = curl_init('https://api.greyhoundapi.com/v1/racecards/today?region=GB');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['X-API-Key: ' . getenv('GAPI_KEY')],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

print_r($response['data']);
const res = await fetch('https://api.greyhoundapi.com/v1/racecards/today?region=GB', {
  headers: { 'X-API-Key': process.env.GAPI_KEY }
});
if (!res.ok) throw new Error(`GreyhoundAPI ${res.status}`);
const { meta, data } = await res.json();
console.log(meta.data_as_of, data);
import { useEffect, useState } from 'react';

export default function Example() {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch('https://api.greyhoundapi.com/v1/racecards/today?region=GB', {
      headers: { 'X-API-Key': import.meta.env.VITE_GAPI_KEY }
    })
      .then((r) => r.json())
      .then((body) => setData(body.data));
  }, []);

  if (!data) return <p>Loading…</p>;
  return <pre>{JSON.stringify(data, null, 2)}</pre>;
}

Browser code exposes whatever key it ships with — use a sandbox key for prototypes and proxy live keys through your own server in production.

import os
import requests

r = requests.get(
    "https://api.greyhoundapi.com/v1/racecards/today?region=GB",
    headers={"X-API-Key": os.environ["GAPI_KEY"]},
    timeout=10,
)
r.raise_for_status()
body = r.json()
print(body["meta"]["data_as_of"], body["data"])

New here? Read Getting started, then Timezones & dates and Data freshness — the two guides that make a GB + AU racing consumer behave correctly.

Guides

12

Read these before the reference — they are the difference between a call that works and an integration that behaves.

Changelog The free sandbox now covers every track 2026-08-20 · 16 entries, newest first Read the changelog

Racecards

2

Upcoming greyhound racecards for Great Britain and Australia — every scheduled race with runners, traps, grades, distances and track-local start times, resolved per calendar day.

Races

6

Search and retrieve individual greyhound races: full runner line-ups, grades, going, off-times, lifecycle status, results and starting-price and Betfair market summaries for any race in the archive.

Results

3

Greyhound racing results as they arrive: finishing order, starting prices, winning times, sectionals, beaten distances and forecast/tricast dividends, searchable across the full historical archive.

Meetings

3

Greyhound race meetings grouped by fixture — every race staged at a track on a given day, with per-meeting summaries for GB and AU fixtures.

Dogs

7

Individual greyhound records: identity, breeding, seasonality, career statistics, complete race-by-race form, upcoming entries, price history and head-to-head comparisons.

Trainers

5

Greyhound trainer profiles with factual career aggregates, upcoming declared runners and full historical results.

Owners

3

Greyhound owner and syndicate records: registered dogs, upcoming entries and the results achieved under each ownership.

Tracks

4

Every GB and AU greyhound track with its timezone, distances raced, trap-by-trap win statistics and track records — all recomputed nightly from published results.

Breeding

2

Sire and dam progeny records: every offspring with career aggregates, for greyhound breeding and pedigree research.

Platform & reference

3

Operational endpoints: live data-pipeline freshness, your own key usage and limits, and decode tables for grades, going codes and run-comment abbreviations.

Nothing matches that. Try a shorter word, or clear the tier filters.

WebSocket stream

Results and status changes pushed the moment they reach the pipeline, over wss://greyhoundapi.com/v1/stream. Channels, replay and limits are covered in the WebSocket guide.