Skip to content
OddsRelay

The data behind each-way and extra-place matched betting

Each-way and extra-place offers can't be expressed as a single back/lay pair. Here is the extra data they need, and how an each-way feed carries the place terms and the two-part matched calculation.

James6 min read

Each-way and extra-place matched betting can't be expressed as a single matched row. A standard qualifying bet is one back price paired with one exchange lay price. An each-way bet is two bets at once: a win part and a place part. To rate it, your tool needs the place terms (how many places pay, and at what fraction of the odds) and a matched calculation run across both parts. Get the terms wrong and the rating is wrong. That is why each-way data is more involved to carry, and why it is its own feed type rather than a flag on the standard one.

What makes each-way harder than a standard match?

An each-way bet is staked as two equal halves. The win part settles only if your selection wins. The place part settles if it finishes in one of the paying places, at a fraction of the win odds. So a single each-way bet has two outcomes to cover and two prices in play, and the matched position depends on both.

The piece a standard feed never carries is the place terms: the number of places that pay and the fraction applied to the odds. A market might pay three places at a fifth of the odds, or four places at a quarter. Those two values change the maths entirely. Without them, you cannot work out the place-part lay, and you cannot rate the bet. An each-way feed has to deliver the terms alongside the prices, or the rest of the calculation has nothing to stand on.

  • The win part: settles on a win, like a standard back bet, and lays at the exchange win-market price.
  • The place part: settles on a place finish, at a fraction of the odds, and lays at the exchange place market.
  • The place terms: places paid and the odds fraction, which decide how the place part is priced and laid.

What is an extra-place offer, and why is it more demanding?

An extra-place offer is a bookmaker paying out on more places than the market standard for an event: where the going terms pay three places, the book pays four or five. The extra place is the edge. If the bookmaker pays a place the exchange place market does not, the place part of the bet can settle as a winner with no offsetting liability, and the each-way bet can carry genuine value rather than a small qualifying loss.

That makes the data more demanding in two ways. First, the feed has to know both the standard terms and the enhanced terms for the same event, so the offer can be detected as extra-place at all. Second, extra-place offers are short-lived: they attach to specific races and meetings and change through the day. The data is only useful while the offer is live, which raises the bar on freshness more than any other matched-betting case.

What does an each-way row look like?

An each-way row carries the same back/lay shape as a standard match, plus the place terms and a second lay for the place part. The win part pairs the back price with the exchange win-market lay. The place part pairs the place fraction with the exchange place-market lay. The rating and qualifying_loss are then computed across both parts together, so the number you render already accounts for the win and the place sides. Here is the shape of a single each-way row (illustrative, not live data):

An each-way row · illustrative shape
{
  "event": "14:30 Ascot",
  "market": "each_way",
  "selection": "Some Horse",
  "place_terms": { "places": 4, "fraction": "1/5", "standard_places": 3 },
  "win": {
    "back": { "bookmaker": "bet365", "odds": 11.0 },
    "lay":  { "exchange": "betfair", "odds": 11.5, "liquidity": 640 }
  },
  "place": {
    "back": { "bookmaker": "bet365", "odds": 3.0 },
    "lay":  { "exchange": "betfair", "odds": 3.1, "liquidity": 410 }
  },
  "rating": 96.8,
  "qualifying_loss": -0.21
  // ... region, feed_type and freshness fields elided
}

The fields a standard feed can't give you are place_terms, with standard_places to mark the extra-place gap, and the second place lay block. With four places paid where the standard is three, the place part carries the edge, and the combined rating reflects it. The same field names you already know from oddsmatcher data, explained carry through: the each-way row is an extension of the matched shape, not a different format. The full envelope is in the feed types in the docs.

Which feed types cover this?

Three feed types map to the three cases, so you request the one that matches what your tool renders rather than filtering a single firehose:

Feed typeWhat it carriesWhat it's for
standardOne back price paired with one exchange layQualifying bets and free bets on win markets
each_wayWin part, place part, and the place termsEach-way qualifiers across both parts
extra_placeEach-way data plus the standard-vs-enhanced termsTime-sensitive extra-place offers

All three run on the same matched base: bet365 included as standard among 60+ UK books, priced against three exchanges (Betfair, Smarkets, Matchbook). The each-way and extra-place types add the place dimension on top, rather than replacing anything. For the wider picture of how these fit a tool, the matched-betting data guide walks the full feed, and oddsmatcher-ready data covers what "ready to render" means in practice.

Why does freshness matter most here?

Extra-place offers are the most time-sensitive data in matched betting, so freshness matters more here than anywhere else in the feed. The offers attach to specific races, run for a limited window, and the enhanced terms can shift through the day. A stale extra-place row is worse than a missing one: it points a user at an offer that no longer pays the extra place, and the value they were promised is gone.

Our honest posture is pre-match polling on roughly a few-second cycle, which suits pre-match each-way and extra-place work well. The other half is reliability: an each-way tool is only as good as the feed behind it at peak times, when races cluster and users scan hardest. We publish freshness, uptime and latency on the coverage dashboard so the claim is checkable rather than asserted.

The short answer

Each-way and extra-place matched betting need the place terms and a matched calculation across both the win and the place parts, not a single back/lay pair. The feed carries that as three types: standard, each_way, and extra_place, all built on the same matched base of 60+ UK books with bet365 included, priced against Betfair, Smarkets and Matchbook. It powers a leading UK matched-betting platform today. To see the each-way and extra-place rows for yourself, start a free trial or check what is live now on the coverage dashboard.

Matched betting & oddsmatcher

Written by

James

Founder, OddsRelay

James is the founder of OddsRelay — the odds-data feed behind matched betting, arbitrage and odds-comparison products: 60+ UK bookmakers with bet365 included, matched against exchange lay prices and delivered as one clean, documented API. He writes here about how that data layer actually behaves — coverage, matching, freshness and the trade-offs — from the side that builds and runs it. The same feed powers a leading UK matched-betting platform today.

Part of the Matched betting & oddsmatcher cluster

Oddsmatcher data, explained

18+ · Data product for licensed operators. Please gamble responsibly.