Horse racing API for bookmaker prices

Pre-match racing prices from UK & Irish bookmakers, already paired with the exchange lays: prices, not form or results. Each-way offers carry their place terms, and two more feeds pick out extra-place races and best odds guaranteed (BOG).

Three racing feeds

FeedWhich racesEach bookmaker price carriesLaid on
Each-way feedRaces a bookmaker prices each-wayPlaces and place terms: places, place_fractionThe exchange win and place markets: lay.win, lay.place
Extra place feedRaces where a bookmaker pays more places than the exchange's place marketPlaces and place terms, beside the exchange's own placesThe exchange win and place markets: lay.win, lay.place
Best odds guaranteed feedRaces where a bookmaker offers best odds guaranteedThe win priceThe exchange win market: lay

One key reads every feed.

What a race carries

A race is one event: its course in venue, the scheduled off in commence_time and its runners as outcomes. Each runner lists the bookmakers' back prices, best first, beside the exchange lay prices, lowest first, with the money available and a link to the race on each site. Sky Bet, Paddy Power, Betfair Sportsbook, Ladbrokes and Coral list international races as well as British and Irish ones, and Betfred lists them close to the off.

On the each-way and extra-place feeds every back offer adds the bookmaker's each-way terms, places and place_fraction. Each runner is laid twice, on the exchange's win market and on its place market, as lay.win and lay.place. The BOG feed has the single win lay.

Racing is on two more feeds. The matched feed carries the win market from every bookmaker pricing the race, and pairs the bookmakers' place markets, such as top_3_finish, with the exchanges' place lays. The raw feed has each bookmaker's own prices, unpaired.

On raw, a winner market sold each-way, outright_winner, carries the bookmaker's terms: places, place_fraction and extra_place, which is true when the bookmaker pays more places than its standard terms. A bookmaker's other term set for the same race is its own market, outright_winner_ew_<places>, and an exchange's own each-way market is outright_each_way. William Hill's winner markets carry no terms.

Pre-match only. There is no form, no results and no starting price, which is set at the off. There is no rating field either: a rating or a qualifying loss is arithmetic on a row, at your own commission.

Example · recorded 17 Sep 2026, 03:27 UK time · one race, one runner

{
  "meta": {
    "feed_type": "each-way",
    "region": "uk",
    "odds_format": "decimal",
    "processed_at": "2026-09-17T02:27:40.167Z"
  },
  "data": [
    {
      "event_id": "or_evt_58ab94d71497",
      "sport_key": "horse_racing",
      "sport_title": "Horse Racing",
      "commence_time": "2026-09-17T12:30:00Z",
      "venue": "Ayr",
      "markets": [
        {
          "key": "each_way",
          "outcomes": [
            {
              "name": "Zarak Crown",
              "back": [
                {
                  "bookmaker": "geoff_banks",
                  "price": 7,
                  "places": 3,
                  "place_fraction": 0.2,
                  "link": "https://www.geoffbanks.bet/sport/Horse%20Racing/race/h9yHGB00/0?ev=0&sportCode=H,h,o"
                },
                {
                  "bookmaker": "fitzdares",
                  "price": 7,
                  "places": 3,
                  "place_fraction": 0.2,
                  "link": "https://www.fitzdares.com/en/racing/horse_racing/ayr/ayr-17-sep/13:30-ayr/6362682"
                }
              ],
              "lay": {
                "win": [
                  {
                    "exchange": "smarkets",
                    "price": 10.5,
                    "available": 61.26,
                    "link": "https://smarkets.com/sport/horse-racing/ayr/2026/09/17/13-30/45322266/"
                  }
                ],
                "place": [
                  {
                    "exchange": "betfair_exchange",
                    "price": 3.55,
                    "available": 17.89,
                    "places": 3,
                    "link": "https://www.betfair.com/exchange/plus/horse-racing/market/1.262474544"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}

Bookmakers pricing racing

Each-way feed

Bookmakers

  • 7bet
  • 888sport
  • Bally Bet
  • Bet600
  • Betano
  • Betfair Sportsbook
  • Betfred
  • BetGoodwin
  • BetTOM
  • BetUK
  • BetVictor
  • Betway
  • BetWright
  • BoyleSports
  • Bwin
  • Casumo
  • CopyBet
  • Coral
  • Dabble
  • DAZN Bet
  • Double Bubble Bingo
  • DragonBet
  • Fitzdares
  • Geoff Banks
  • Grosvenor
  • HighBet
  • Jackpotjoy
  • Ladbrokes
  • LiveScore Bet
  • McBookie
  • Monopoly Casino
  • MrRex
  • NetBet
  • Octobet
  • Paddy Power
  • Parimatch
  • Planet Sport Bet
  • PricedUP
  • Puntit
  • QuinnBet
  • Rainbow Riches Casino
  • Sky Bet
  • Sporting Index
  • Sportingbet
  • Spreadex
  • Star Sports
  • talkSPORT BET
  • Unibet
  • Virgin Bet

Exchanges

  • Betfair Exchange
  • Matchbook
  • Smarkets
Extra place feed

Bookmakers

  • Bally Bet
  • Bet600
  • Betfair Sportsbook
  • Betfred
  • BetTOM
  • BetUK
  • Betway
  • BoyleSports
  • Casumo
  • Coral
  • Double Bubble Bingo
  • Fitzdares
  • Grosvenor
  • Jackpotjoy
  • Ladbrokes
  • LiveScore Bet
  • Monopoly Casino
  • Octobet
  • Paddy Power
  • QuinnBet
  • Rainbow Riches Casino
  • Sky Bet
  • Sporting Index
  • Spreadex
  • Unibet
  • Virgin Bet

Exchanges

  • Betfair Exchange
  • Matchbook
  • Smarkets
Best odds guaranteed feed

Bookmakers

  • Bwin
  • CopyBet
  • Sportingbet

Exchanges

  • Betfair Exchange
  • Matchbook
  • Smarkets

From the live coverage summary. Coverage shows each bookmaker by sport.

From the blog

Racing prices, already paired

Every plan includes all three racing feeds. Sign up free and call them on your own key.