Fundamentals
Football odds data, explained
Football is where odds data does most of its volume. This explains the main markets, how they're structured as event, market and selections, and how matched back/lay pairs work for football.
· 5 min read
A bet builder combines several selections from one event into one priced bet. The price isn't the product of the legs, because the outcomes are correlated. Here's what that means for the data.
A bet builder, or same-game multi, combines several selections from a single event into one priced bet. Team to win, over 2.5 goals, and a named player to score, all on the same match, sold as one wager at one price. The price is the thing to understand as a builder: it is not the product of the individual legs. Because the outcomes are related, each bookmaker prices its own combinations. For data, that means bet-builder prices are book-specific and do not decompose cleanly into their parts.
Because the legs are not independent. In a standard accumulator across different matches, the outcomes are roughly unrelated, so the bookmaker multiplies the prices and the combined odds fall out. A bet builder lives inside one event, where selections influence each other.
Take two legs on the same match: a team to win, and over 2.5 goals. A team that wins comfortably tends to be involved in higher-scoring games, so those two outcomes lean the same way. They are positively correlated. If a bookmaker simply multiplied the two prices, it would misprice the combination, because the joint probability is not the product of the two separate probabilities. So the book prices the pair directly, using its own model of how the legs move together.
That is the whole reason bet-builder pricing is book-specific. Two bookmakers can show identical prices on each individual leg, then quote different prices for the same three-leg builder, because they model the correlation between those legs differently. There is no shared formula underneath.
You receive the combinations a book chooses to offer and the price attached to each, not a formula you can recombine. A single-market feed gives you a selection and a decimal price. A bet-builder feed gives you a specific bundle of legs and one price for that exact bundle, as the book published it.
This changes the shape of the data. For an ordinary market like match_odds, the unit is one selection: home, draw, away, each with a price, and the same three selections mean the same thing at every book. For a bet builder there is no fixed set of selections. The unit is a combination, and the combinations one book exposes will not line up one-to-one with another book's. Two builders with the same three legs are only comparable if both books actually offer that exact three-leg bundle, priced.
So the useful mental model is: single markets are a shared vocabulary; bet builders are each book's own catalogue. For the general shape of markets and selections, see how odds data is structured, and for the football-specific markets that feed builder legs, football odds data.
| Property | Standard market (e.g. match_odds) | Bet builder / same-game multi |
|---|---|---|
| Unit of data | One selection | One combination of legs |
| Price origin | Direct per selection | Book's own correlation model |
| Decomposes into legs? | N/A (already atomic) | No, price is not the legs multiplied |
| Comparable across books? | Yes, shared selections | Only where the exact bundle exists at both |
| Selection set | Fixed and stable | Book-specific catalogue, varies |
It is genuinely hard, and the difficulty comes straight from the pricing. Matched betting and arbitrage both rely on comparing a bookmaker back price with an opposing price for the same outcome: a back paired with an exchange lay, or one book's price against another's. That comparison needs the same outcome to be priced on both sides.
Bet builders break that requirement in two ways. First, exchanges rarely offer a lay market for an arbitrary same-game combination, so there is usually no lay side to pair against. Second, because each book prices its own bundles, the exact combination you backed at one bookmaker often does not exist, priced, anywhere to oppose it. The clean back/lay pairing that single-market matched betting depends on is missing.
This is the honest boundary. Our matched product covers 60+ UK books with bet365 included, priced against three exchanges (Betfair, Smarkets, Matchbook), on the single markets where a back price and a lay price describe the same outcome. That is where the rating and qualifying_loss fields are meaningful. Extending the same clean matching to correlated same-game bundles is not something we claim, because the opposing prices that would make it real usually are not there.
Treat each combination as its own priced entity, not as a view over other markets. Store the set of legs, the book that offered it, and the single price, and resist the temptation to derive that price from anything else. Any code that tries to reconstruct a builder price by multiplying leg prices will be wrong, and confidently wrong.
In envelope terms, a bet-builder entry carries its legs and one price, and it will not carry the paired lay block that a matched single-market row does. For how a single-market matched row is laid out end to end, see the response envelope.
A bet builder is one priced bet built from correlated legs, so its price is a bookmaker judgement, not the legs multiplied. That makes the price book-specific and non-decomposable, which is why bet-builder data comes to you as combinations-and-prices rather than a formula, and why clean matched betting and arbitrage on them is hard rather than routine.
If your product needs the markets where matched pricing is clean and dependable, that is exactly what our feed delivers: single-market back prices paired against exchange lay prices, bet365 included as standard and reliably maintained. You can see what is live right now on the coverage dashboard, or take a free trial key and read the data yourself before you commit. It powers a leading UK matched-betting platform today.
Written by
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 Fundamentals cluster
What is an odds API? A 2026 guide for builders18+ · Data product for licensed operators. Please gamble responsibly.
Fundamentals
Football is where odds data does most of its volume. This explains the main markets, how they're structured as event, market and selections, and how matched back/lay pairs work for football.
· 5 min read
Fundamentals
Odds data is a four-level hierarchy: event to market to selection to price, plus bookmaker, region and freshness metadata. Once the shape clicks, integrating a feed is straightforward.
· 5 min read
Fundamentals
What every field in a good odds API response is for, walked one at a time: the event/market/selection keys, the back and lay blocks, rating and qualifying_loss, and the envelope around them.
· 6 min read