Discover/Org API
live

Org APIgbgb.org.uk

Access greyhound race results, meeting details, greyhound profiles, form history, and open races from the GBGB portal via a structured JSON API.

Endpoint health
verified 4d ago
search_greyhound
get_single_race
search_race_results
get_meeting_details
get_greyhound_profile
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the Org API?

This API exposes 9 endpoints covering greyhound racing data from the GBGB portal, including race results, meeting details, individual race data, and greyhound profiles. Use search_race_results to filter historical races by track, class, date, and race type, or get_greyhound_form to retrieve a dog's full race history with date-range filtering. Response fields cover trap positions, race classes, breeding lineage, trainer and owner names, and upcoming open race prize values.

Try it
Race date in YYYY-MM-DD format.
Page number for pagination.
Items per page.
Track name to filter by. Use get_tracks_list to see all available track names.
Race type filter.
Race class filter. Use get_race_classes_list to see all available classes.
api.parse.bot/scraper/04f3b8ab-38c4-4573-ad99-c54a8f337830/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/04f3b8ab-38c4-4573-ad99-c54a8f337830/search_race_results?date=2026-07-08&page=1&limit=5&track=Romford&race_type=race&race_class=A1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace gbgb-org-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""GBGB Greyhound Racing API - Walkthrough: bounded, re-runnable; every call capped."""
from parse_apis.gbgb_greyhound_racing_api import GBGB, RaceType, GreyhoundNotFound

client = GBGB()

# Search recent race results filtered by race type.
for result in client.raceresults.search(race_type=RaceType.RACE, limit=3):
    print(f"{result.raceDate} {result.trackName}: {result.dogName} won race {result.raceNumber}, class {result.raceClass}")

# Search for a greyhound by name, drill into its profile and form.
match = client.greyhoundsummaries.search(name="Romeo", limit=1).first()
if match:
    profile = match.details()
    print(f"Profile: {profile.dogName}, sire={profile.dogSire}, dam={profile.dogDam}, born={profile.dogBorn}")

    for entry in profile.form(race_type=RaceType.RACE, limit=3):
        print(f"  {entry.raceDate} at {entry.trackName}: P{entry.resultPosition}, class {entry.raceClass}")

# Fetch a meeting by ID and inspect one of its races.
meeting = client.meeting(meetingId=448310)
race_detail = meeting.get_race(race_id="1223338")
print(f"Race at {race_detail.trackName} on {race_detail.meetingDate}: {race_detail.race.raceClass} over {race_detail.race.raceDistance}m")

# Handle a not-found greyhound gracefully.
try:
    bad_profile = client.greyhound(dogId=999999999).form(limit=1).first()
except GreyhoundNotFound as exc:
    print(f"Greyhound not found: {exc}")

print("Exercised: raceresults.search / greyhoundsummaries.search / details / form / meeting.get_race / GreyhoundNotFound")
All endpoints · 9 totalmissing one? ·

Search and filter race results by track, class, date, and race type. Returns paginated results ordered by most recent. Each result item contains the winning greyhound's details and race metadata.

Input
ParamTypeDescription
datestringRace date in YYYY-MM-DD format.
pageintegerPage number for pagination.
limitintegerItems per page.
trackstringTrack name to filter by. Use get_tracks_list to see all available track names.
race_typestringRace type filter.
race_classstringRace class filter. Use get_race_classes_list to see all available classes.
Response
{
  "type": "object",
  "fields": {
    "meta": "object with count (total results), page (current page), pageCount (total pages)",
    "items": "array of race result objects containing dogName, trackName, raceDate, raceClass, meetingId, raceId, etc."
  },
  "sample": {
    "data": {
      "meta": {
        "page": 1,
        "count": 6431,
        "pageCount": 1287
      },
      "items": [
        {
          "dogId": 656539,
          "dogDam": "Illusion Dream",
          "raceId": 1223056,
          "dogName": "Run Away Terry",
          "dogSire": "Dorotas Wildcat",
          "raceDate": "10/06/2026",
          "raceTime": "21:46:00",
          "meetingId": 448270,
          "ownerName": "Mr D P Brabon",
          "raceClass": "A10",
          "trackName": "Romford",
          "raceNumber": "12",
          "trapNumber": "4",
          "trainerName": "D K Hurlock",
          "raceDistance": 400,
          "resultPosition": 1
        }
      ]
    },
    "status": "success"
  }
}

About the Org API

Race Results and Meeting Data

The search_race_results endpoint returns paginated race result records filterable by track, race_class, date, and race_type. Each item in the items array carries fields like dogName, trackName, raceDate, raceClass, meetingId, and raceId. The meetingId and raceId values are the keys for drilling deeper: pass a meeting_id to get_meeting_details to get every race run at that meeting with full trap and result data, or pass both race_id and meeting_id to get_single_race to isolate a single race. Both endpoints return trackName and meetingDate alongside the structured race payload.

Greyhound Profiles and Form History

search_greyhound accepts a partial or full greyhound name and returns matching dogName and dogId pairs. Pass a dogId to get_greyhound_profile to retrieve breeding data — dogSire, dogDam, dogBorn, dogColour, dogSex — plus current trainerName and ownerName. get_greyhound_form uses the same dog_id and adds pagination (page, limit) and optional date_from/date_to filters, returning form entries with position, time, and track information across races and trials.

Reference Lists and Open Races

get_tracks_list and get_race_classes_list return the canonical sets of trackName and class values accepted as filters by search_race_results. This prevents trial-and-error when constructing filter queries. get_open_races returns upcoming open race listings with fields including RaceName, TrackName, RaceStageDate, and RaceStagePrize1st, paginated via page and limit. The total, last_page, and current_page fields in the response handle navigation across large listings.

Reliability & maintenanceVerified

The Org API is a managed, monitored endpoint for gbgb.org.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gbgb.org.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official gbgb.org.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a greyhound form guide by combining get_greyhound_profile breeding data with get_greyhound_form race history entries.
  • Track class progression for a specific dog by filtering get_greyhound_form results by race_class over a date range.
  • Aggregate track-level performance statistics using search_race_results filtered by track and race_type over a defined period.
  • Display full meeting cards on a racing dashboard by fetching all trap and result data via get_meeting_details.
  • Surface upcoming open race prize values and dates from get_open_races for a competition calendar or notification service.
  • Validate user-supplied filter inputs against canonical values from get_tracks_list and get_race_classes_list before querying results.
  • Identify trainer or owner portfolios by aggregating trainerName and ownerName fields from multiple get_greyhound_profile lookups.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does GBGB provide an official developer API?+
GBGB (the Greyhound Board of Great Britain) does not publish a documented public developer API. Data on their portal at gbgb.org.uk is intended for end-user browsing rather than programmatic access.
What does `get_greyhound_form` return, and how can I scope it to a date range?+
It returns a paginated list of race history entries for a specific dog, each containing race details, finishing position, time, and track. You can narrow the results using the date_from and date_to parameters (both in YYYY-MM-DD format) and further filter by race_type to separate competitive races from trials. The meta object in the response gives you count, page, and pageCount for pagination.
Is live or in-running race data available?+
Not currently. The API covers historical race results, meeting records, greyhound profiles, form history, and scheduled open races — it does not expose real-time or in-running data. You can fork this API on Parse and revise it to add an endpoint targeting live race data if the source exposes it.
Does the API return odds or betting market data?+
Not currently. Responses cover trap positions, race class, time, and result data but do not include starting prices, SP, or any betting market fields. You can fork this API on Parse and revise it to add an endpoint that surfaces odds data if the source exposes it.
How do I get the right value to pass as a `track` or `race_class` filter in `search_race_results`?+
get_tracks_list returns the full array of valid trackName strings (e.g. 'Central Park', 'Hove'), and get_race_classes_list returns valid class values (e.g. 'A1', 'D3'). Use these endpoints to populate filter options and avoid rejected or zero-result queries caused by spelling mismatches.
Page content last updated . Spec covers 9 endpoints from gbgb.org.uk.
Related APIs in SportsSee all →
racingpost.com API
Access comprehensive horse racing data from Racing Post, including daily racecards, meeting schedules, race results, and detailed horse profiles with form history, stats, and pedigree.
racing.hkjc.com API
Access comprehensive horse racing data from the Hong Kong Jockey Club. Retrieve race results, detailed horse profiles including pedigree and form records, jockey and trainer season rankings, upcoming race meeting fixtures, and horse search by name.
atg.se API
Access comprehensive horse racing data from ATG.se, including race calendars, detailed race information, horse profiles, starting lineups, and results. Retrieve up-to-date information on races, horses, drivers, betting pools, and outcomes.
bloodhorse.com API
Get comprehensive horse racing information including race results, stakes entries, horse profiles, and the latest news from BloodHorse.com. Search racing data, view detailed race information, and discover current racing leaders all in one place.
equibase.com API
Access comprehensive horse racing data from Equibase, including horse profiles, historical race results, track entries, post times, speed figures, and leader statistics for horses, jockeys, trainers, and owners.
tab.com.au API
Access live horse racing meetings, race cards, fixed odds, and results from TAB Australia. Retrieve real-time sports betting information and racing data, including upcoming races, current odds, and historical race outcomes.
brisnet.com API
Access horse racing news, track information, race results, and expert daily picks from Brisnet, plus search detailed information about specific horses. Stay informed on racing events and make data-driven betting decisions with current news articles, results indices, and curated pick recommendations.
neds.com.au API
Get up-to-date horse racing information from Neds, including upcoming races, event details, and past results. View which races are next to jump and access comprehensive race data all in one place.