Odds337Docs
    Odds337BackGet API key
    Getting started
    • Introduction
    • Authentication
    • Quickstart
    • Tokens & pricing
    • Limits
    • Errors
    • Odds formats
    Reference
    • GET/sports
    • GET/books
    • GET/teams
    • GET/players
    • Logos & headshots
    • GET/events
    • GET/odds
    • GET/scores
    • GET/history
    • GET/clv
    • POST /clv
    • GET/usage
    • GET/_health
    • WebSocket
    • Specs & SDKs
    Racing
    • GET/racing/meetings
    • GET/racing/race
    • GET/racing/history
    • race_id and status
    Concepts
    • event_id
    • selection_key
    • team_id & player_id
    • Open & close prices
    • 337 model price
    • Event links
    • Statuses
    Getting started
    • Introduction
    • Authentication
    • Quickstart
    • Tokens & pricing
    • Limits
    • Errors
    • Odds formats
    Reference
    • GET/sports
    • GET/books
    • GET/teams
    • GET/players
    • Logos & headshots
    • GET/events
    • GET/odds
    • GET/scores
    • GET/history
    • GET/clv
    • POST /clv
    • GET/usage
    • GET/_health
    • WebSocket
    • Specs & SDKs
    Racing
    • GET/racing/meetings
    • GET/racing/race
    • GET/racing/history
    • race_id and status
    Concepts
    • event_id
    • selection_key
    • team_id & player_id
    • Open & close prices
    • 337 model price
    • Event links
    • Statuses

    Racing

    Racing race_id and status

    How a race is identified, where its status comes from, and what changed_at means.

    race_id

    A race is identified by its race_id, built from the race record:

    track/number/(R|G|H)/country/date    e.g. gawler/2/(R)/au/2026-10-05
    • R is thoroughbred, G greyhound and H harness.
    • date is the race day on the Australia/Melbourne calendar, so a UK evening race and the next Australian morning card share a day. start_time is always UTC.
    • country is a token such as au, nz, gb, ie, fr, us, canada, hk or za.

    Get it from /racing/meetings and pass it back unchanged. Do not build one yourself.

    Status

    A race's status comes from Betfair, never from the clock. betfair_status is OPEN, SUSPENDED or CLOSED, or null when Betfair has no market or has purged it. in_play is Betfair's in-play flag. race_state reconciles the two with the settle states we see: upcoming, in_play, interim or finalised.

    FieldValues
    betfair_statusOPEN, SUSPENDED, CLOSED, null
    in_playtrue or false
    race_stateupcoming, in_play, interim, finalised

    A race running late is still OPEN after its start_time. Do not treat the start time as the off.

    Results

    result on /racing/race comes from TAB and is null until TAB has one. It becomes official once TAB is paying. Placings and scratchings are always served.

    changed_at

    Each book's price carries changed_at, the time we last recorded that book's price for that runner change. A price that has not moved keeps an old changed_at, so it is not a freshness stamp and it is omitted when unknown. Racing prices have no updated_at.

    Tote

    AU and NZ races carry TAB tote data for NSW and VIC: per-runner win and place approximates in runners[].tote, pool totals in tote_pools (stamped by tote_updated_at) and every dividend in result.dividends once the race is official. Fields are absent until TAB has published them. Values are dollars per $1 staked and are never converted by format.

    PreviousGET /racing/historyNextevent_id

    On this page

    • race_id
    • Status
    • Results
    • changed_at
    • Tote