Each-way feed
Horse racing back prices with each bookmaker's each-way terms, next to the exchange win lay and place lay for the same runner. It takes two lays because an each-way bet is a win bet and a place bet.
Tokens for one call of the whole UK & Ireland feed. A filtered call costs less: pricing publishes the table it is worked out from.
What's in a reply
The standard feed's fields, plus:
back[].places- How many places the bookmaker pays.
back[].place_fraction - The place terms as a decimal: 0.2 is 1/5, 0.25 is 1/4.
lay.win[],lay.place[]- The exchange win market and a place market, each lowest first with
available. They can come from different exchanges. lay.place[].places- The places that exchange market pays. It usually matches the bookmaker's.
The each-way feed is pre-match only.
The raw odds feed carries each-way terms too, on golf and racing winner markets.
Size both lays with the each-way calculator.
{
"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 on this feed
Bookmakers
- 7bet
- 888sport
- Bally Bet
- bet365
- 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
From the live coverage summary. Coverage shows each bookmaker by sport.
Questions
Does the feed rate the offers?
No. It carries prices, terms and the amount available to lay. A rating or a qualifying loss is arithmetic on a row, at your own commission.
From the blog
- Horse racing and each-way odds dataRunners, courses and each-way place terms: how horse racing looks in an odds feed.
- Tipster proofing: recording the price on offerAn ASA ruling found each-way terms not visible in some proofing screenshots. Each-way board offers carry them.
- Horse racing API in Python: Discord and TelegramPost each race's prices to Discord or Telegram from Python, and never the same table twice in a row.
Get an API key
Every plan includes every feed, Free included. Plans differ only in how many tokens you get.