TerminalExecutionOdds337ToolsContact
    DocsLog in
    1. Home
    2. Guides
    3. Betting tools and software in Australia: what each does and what to check
    4. Racing odds API in Australia: what it should carry

    Racing odds API in Australia: what it should carry

    What a racing odds API in Australia should carry: bookmaker and exchange prices with read times, flucs, race matching, scratchings, results and data rights.

    By the B337 team. Last updated 7 October 2026.

    The short answer

    • A racing odds API for Australia should carry each bookmaker's win and place prices with read times, exchange back and lay with the money available, flucs, and each race's status.
    • It has to match one race across bookmakers, where a bare Sandown can mean the Lakeside or Hillside course or the Sandown Park greyhound track.
    • Every scratching needs a time, because Stewards' deductions apply only to fixed-odds bets placed before it, and settlement should wait for correct weight.
    • For example, a price read 29 seconds earlier with 2 minutes 19 seconds to the jump fails a 10-second limit for the last five minutes.
    • Racing bodies control race fields: Racing NSW says wagering operators using NSW thoroughbred fields must seek its approval, so ask what a provider's licence lets you do.

    On this page

    1. What one race record should carry
    2. Fixed prices, exchange back and lay, and flucs
    3. Matching one race across bookmakers
    4. Scratchings, results and settlement data
    5. Latency and timestamps near the jump
    6. Racing data rights
    7. Racing feed traps and what each one costs
    8. When you do not need a racing odds API
    9. Racing prices from B337

    A racing odds API for Australia should carry each bookmaker's fixed win and place prices with read times, the exchange's back and lay prices with the money at each, every price's history, and each race's status, scratchings and result. All of it has to hang off one race identity that every bookmaker's version of the race maps onto, across thoroughbred, harness and greyhound meetings.

    Racing is harder to carry than sport: races jump minutes apart across up to five time zones, a late scratching re-prices a whole field, and the prices that matter most are read in the final minutes before the jump. The questions to ask any odds API apply to every sport; racing adds the ones below.

    What one race record should carry

    Ask to see one complete race, every field filled, before you pay:

    PartFields to ask forWhy it matters
    Race identityLocal date, track, code, race number, scheduled jump time with its time zone, the provider's race idThe key every bookmaker's version maps onto
    RunnersName, saddlecloth number, barrier or box, scratched flag with the scratching timeMatching runners, and deductions
    Bookmaker pricesWin price, place price, places paid, read time, for each bookmakerThe prices you compare and bet
    ExchangeBest back and lay prices, money available at each, last traded price, read timeA reference market with real money behind it
    FlucsEvery price change with its time, from the opening priceHow the market got to this price
    StatusOpen, suspended or closed, and the actual jump timeWhether a price can still be taken
    After the racePlacings, protests, correct weight, dead heats, deductions, tote dividendsSettling and checking bets

    A racing data API, in the usual sense, carries the fields, form, scratchings and results without prices; a racing odds feed carries the prices. Software that bets or settles bets needs both, joined on the same race.

    Fixed prices, exchange back and lay, and flucs

    Three kinds of price behave differently and should never share a column. A bookmaker's fixed price is its own offer with its margin built in, an exchange's back and lay prices are other punters' offers with money waiting at each, and flucs are the history of either.

    With illustrative prices for one runner, 2 minutes 40 seconds before a 3:40 pm jump:

    SourcePriceMoney availableRead at
    Bookmaker A, win$5.50Not shown3:37:12 pm
    Bookmaker B, win$5.00Not shown3:35:55 pm
    Exchange, best back$5.60$853:37:16 pm
    Exchange, best lay$5.90$403:37:16 pm

    Three readings follow from the times and amounts:

    • Bookmaker B's price is 77 seconds older than A's, so it shows where B was, not where B is.
    • The back price sits below the lay price, as it should, with implied chances of 1 / 5.60 = 17.9% and 1 / 5.90 = 16.9%.
    • Only $85 waits at $5.60, so a $100 back bet would need a lower price for the rest. A thin reference should always travel with its amount.

    Place prices mean little without the places paid, which depend on whose rules apply: tote place pools have their own field-size rule, and online bookmakers set their own place terms. A feed should carry the places paid beside each bookmaker's place price.

    An API's flucs are its own record of the prices it read, so a gap in its reads draws a smoother line than the market really did. For NSW TAB race meetings the official fluctuations, starting price and top fluc come from Racing NSW's NSW Official Price service, not from an odds API's own reads. Horse racing flucs covers reading the line itself.

    Matching one race across bookmakers

    An API is only as good as its race matching, and track names are the first trap. Sandown in Melbourne races on two courses, Lakeside and Hillside, and Sandown Park is a greyhound track in Victoria, so a bookmaker that lists a bare "Sandown" could mean any of three tracks in two codes. Meetings also move: Racing Victoria's 2026-27 race dates, released in April 2026, reallocate Caulfield and Caulfield Heath feature meetings to Sandown, and in January 2025 it moved a Caulfield meeting to Sandown (Lakeside).

    Race numbers are the second trap: bookmakers do not always number a meeting the same way, so a race number alone is not a key. Dates are the third. Store every time in UTC with its offset, and remember that a race before 11 am AEDT (10 am in Brisbane, 8 am in Perth) falls on the previous UTC date. A race at 10:52 am AEDT on Saturday 10 October 2026 is 11:52 pm UTC on Friday 9 October, so a feed that groups races by UTC date files it with Friday's card.

    Match on local date, track and code first, then confirm with the jump time and the runners. With illustrative listings, not a real meeting:

    BookmakerTrack as listedRaceJump time as listedRunners
    ASandown LakesideR52:50 pm AEDT10, names match
    BSandown-LakesideRace 503:50 UTC10, names match
    CSandownR52:50 pm10, one name missing its apostrophe
    DSandown ParkR52:52 pm8 greyhounds

    A, B and C are one race: 03:50 UTC is 2:50 pm AEDT, and the runner names agree once spelling is normalised. D shares a race number and a jump time within two minutes, and is a different race in a different code. Normalise runner names before comparing them (case, apostrophes and country suffixes such as (NZ)), and use saddlecloth numbers as a second check.

    Scratchings, results and settlement data

    Every scratching needs its time. When a runner is withdrawn late, the Stewards set a deduction, in cents in the dollar, for winning fixed-odds bets struck before the withdrawal, with separate figures for the win and the places. A bet struck after it is not reduced for that scratching. Tote bets on the withdrawn runner are refunded, though in multi-race pools such as the double, the quaddie and BIG6 the selection moves to a substitute instead. Without the scratching time, a feed cannot say which of your bets the deduction reaches.

    With an illustrative 11c win deduction after a 2:47 pm scratching, and two $30 win bets on the eventual winner:

    BetStruck atPriceReturn before deductionDeductionPaid if it comes off the whole return
    12:31 pm$4.6030 x 4.60 = $138.0011c138.00 x 0.89 = $122.82
    22:52 pm$4.1030 x 4.10 = $123.00None$123.00

    The later bet took a shorter price because the field had already been re-framed, so it carries no deduction. Check your bookmaker's terms for whether a deduction comes off the whole return, as the NSW and WA rule books apply it, or only the winnings; scratchings and deductions compares the two.

    Results need a status as well as placings. Placings become official only when the Stewards declare correct weight, which AR 212 of the Australian Rules of Racing ties to two things: the weigh-in of the riders who must weigh in, and the outcome of any protest. Under AR 214(6), a change to the Judge's placings after correct weight has no effect on the Stewards' earlier orders on betting. So a feed should label each result provisional, protest pending or correct weight, and settlement code should wait for the third label. Correct weight and protests covers each step.

    A dead heat needs a flag and the number of runners tied. AR 213 splits the prize money between dead-heaters and is silent on bets, so payouts come from betting rules and each bookmaker's terms, which dead heat rules compares. Harness and greyhound racing run under their own rule books, so these thoroughbred rule numbers do not carry across.

    Tote dividends arrive last. A dividend is declared per unit after the result, so before the race a feed can carry only approximates, estimates that move as the pool grows. An approximate and a fixed price belong in different columns.

    Latency and timestamps near the jump

    Close to the jump a stale price costs the most, because there is little time to check it again and a late scratching can re-price the field. Set a maximum price age that tightens as the jump nears. An illustrative policy:

    Time to the jumpOldest price you act on
    More than 30 minutes2 minutes
    5 to 30 minutes30 seconds
    Under 5 minutes10 seconds

    Bookmaker A's $5.50 from the snapshot above, read at 3:37:12 pm and checked at 3:37:41 pm, is 29 seconds old with 2 minutes 19 seconds to the 3:40 pm jump. The under-5-minute rule turns it away until a fresher read arrives.

    Treat the scheduled jump as a plan, not a fact. A race running late is still open after its scheduled time, so a feed that closes races by the clock drops live prices, and one that ignores the real jump keeps showing pre-race prices after the race has started. Ask for a status that comes from the market itself.

    From the first Sunday in October to the first Sunday in April (4 October 2026 to 4 April 2027), Sydney, Melbourne, Canberra and Hobart run on AEDT (UTC+11) and Adelaide on ACDT (UTC+10:30), while Brisbane stays on AEST (UTC+10), Darwin on ACST (UTC+9:30) and Perth on AWST (UTC+8). In those months a 2:00 pm race in Brisbane is a 3:00 pm race in Sydney, and a feed that hard-codes Sydney as UTC+10 is an hour out.

    Racing data rights

    Racing data has owners. The racing bodies produce the fields, form and results, and they control how wagering operators use them. Racing NSW's bookmakers and betting page says the controlling bodies of the three codes grant approval and set fees for licensed wagering operators' use of NSW race fields information. It also says an operator using NSW thoroughbred race fields must seek Racing NSW's approval wherever it is based or licensed (checked October 2026).

    Those approvals are described for wagering operators. What you may do with data you buy is set by the provider's licence. Ask in writing whether you may show it to others, store it or build a product on it, and which parts come from a racing body. Historical odds data covers the same questions for stored prices. None of this is legal advice.

    Racing feed traps and what each one costs

    With illustrative figures from the examples above:

    TrapWhat happens
    Keying races by track and race number alonePrices from another race, or another code, land on your runner
    Closing races by the scheduled timeA race running late loses its prices while it is still open
    Acting on a price read before a late scratchingAn 11c deduction cuts a $138.00 return to $122.82
    Comparing a tote approximate with a fixed priceThe approximate can shorten before the dividend is declared
    Settling on the Judge's placingsA protest can still change them before correct weight

    When you do not need a racing odds API

    If you bet a few races a week by hand, an odds screen with flucs and exchange prices gives you the same comparison with no code. Of the betting tools in Australia, an API makes sense only once your method is written as code and runs across many races.

    Racing prices from B337

    On the Terminal, bookmaker racing prices sit beside Betfair back and lay, with each price's history (flucs) and the closing lines, for thoroughbred, harness and greyhound racing. The Terminal shows prices from 40+ bookmakers across racing and sports, gathered in repeated reads rather than tick by tick, so check any price with your bookmaker before you bet.

    For code, API Odds delivers live odds from Australian bookmakers and Betfair, racing and sports alike, over the B337 API without placing any bets. It comes with Terminal View and needs coding. Its coverage, access and price are settled with the team before you pay, so ask which race-record fields it carries, from read times and flucs to scratching times and correct-weight status.

    Racing bets from your own code go through the Execution API. It sends each bet to a session running on your computer, in an account you hold, so nothing is placed while that computer is off, asleep or offline. Bets placed this way use credits, and both products sit in the automation range. Betfair and TAB are trade marks of their owners; B337 is not affiliated with them.

    Risk: Betting involves risk. A racing price can change in the seconds before the jump, a late scratching can cut a return, and a bet that looks good against the exchange can still lose. Many bookmakers restrict automated betting in their terms, and can limit stakes, void bets or close an account. See responsible gambling for limits and support.

    For free and confidential support call 1800 858 858 or visit gamblinghelponline.org.au.

    Questions

    Is there a horse racing odds API for Australia?
    Yes. Data providers sell Australian racing odds over APIs, and an exchange's own API carries that exchange's racing prices. Check any of them for harness and greyhound coverage, read times, scratchings and results, not only thoroughbred win prices.
    What is a racing odds feed?
    A racing odds feed is a continuous supply of race prices from bookmakers and an exchange, usually with each runner's status and each race's result, sent to software as the prices are read. It differs from a form or ratings feed, which carries runners' past performances rather than prices.
    Why does my racing odds API show a different race number from my bookmaker?
    Bookmakers do not always name or number a meeting the same way, and a feed may follow one source's version. Match on the local date, track, code and jump time, then check the runner names, before you trust a race number.
    Do racing odds APIs cover greyhounds and harness?
    Not always, and coverage can differ by bookmaker within one API. Ask for the list by code and bookmaker, then test it on a busy evening of greyhound and harness meetings before you pay.

    Sources

    • Australian Rules of Racing, Racing Australia
    • Bookmakers and betting: race fields, deductions and the NSW Official Price, Racing NSW
    • Track enhancements and strategic initiatives shape 2026-27 Victorian Race Dates, Racing Victoria
    • Upcoming Caulfield meetings transferred, Racing Victoria
    • All Roads Lead to Sandown, Greyhound Racing Victoria

    Related

    • Betting tools and software in Australia: what each does and what to check
    • How to choose an odds API in Australia
    • Historical odds data in Australia and how to use it without bias
    • Horse racing flucs and how to read a runner's price history
    • Automated betting
    • Sports investment scheme scams: how they work and what to do
    • Value betting software in Australia: how it finds prices above fair
    • Bet slip meaning and how the slip works
    • What a betting algorithm is and what it can do

    Start with a free account

    The API docs are open to read without an account, and a free account opens a limited view of the Terminal with live odds. API access for placing bets is set up through Discord.

    Create free accountSee plansJoin Discord

    Betting involves risk. Bookmakers can restrict or close accounts and void bets, automation can fail, prices move, and a positive expected value (+EV) bet can still lose. Promotions carry each bookmaker's own terms. There is no guarantee of profit. 18+ only. For free and confidential support call 1800 858 858 or visit gamblinghelponline.org.au. See responsible gambling for limits and support.

    Products

    • Terminal
    • Execution API
    • Full Automation

    Guides and tools

    • All guides
    • Betting glossary
    • Betting calculators
    • How betting bots work
    • Arbitrage betting
    • Middle betting
    • Matched betting
    • Betting exchanges
    • Odds types explained
    • Horse racing software
    • Money back racing promos
    • Bonus bet converter
    • Terminal pricing
    • Execution pricing
    • How tokens work

    Company

    • About
    • Security
    • Responsible gambling
    • Contact
    • Terms
    • Privacy

    What are you prepared to lose today? Set a deposit limit.

    18+ only. For free and confidential support call 1800 858 858 or visit gamblinghelponline.org.au. Self-exclusion: BetStop (betstop.gov.au).

    B337 is software, not a bookmaker or wagering service provider. Bets are placed in accounts you hold with Australian bookmakers. Bookmaker names are trade marks of their owners; B337 is not affiliated with or endorsed by them. Bookmaker terms may restrict automated betting.

    Bet337 © 2026Join our Discord