Skip to content
OddsRelay

Using bet365 odds for matched betting: the data you need

Matched betting on bet365 isn't about the back price alone. Here's the data an oddsmatcher actually needs: the bet365 back paired with a live exchange lay, with rating and qualifying loss attached.

James5 min read

Matched betting on bet365 needs two prices, not one: the bet365 back price, and the current exchange lay price for the same selection. Raw bet365 odds on their own cannot show a qualifying bet, because a qualifying bet is the relationship between a back and a lay. If you are building an oddsmatcher that includes bet365, the data you need is that pair, already aligned, with enough information to rank it. This page sets out exactly which fields do that work.

What is a qualifying bet, in data terms?

A qualifying bet is a back at the bookmaker covered by a lay at the exchange, sized so the two positions almost cancel. You back the selection at bet365, then lay the same selection on an exchange so that whatever the result, your net position is a small, known loss. That small loss is the cost of claiming a free bet or a promotion. Show it to a user and they can decide in one glance.

To render that row, an oddsmatcher needs four fields per selection: the back price, the lay price, a rating, and the qualifying_loss. The back and lay are the two odds. The rating scores how close they sit, so the best matches sort to the top. The qualifying_loss is the expected cost of placing the pair. With those four, the matcher is a rendering and sorting job, not a maths project.

More on how those columns are built and consumed is in oddsmatcher data, explained. For the broader picture of bet365 as a dataset, see the bet365 odds data guide.

Why does the lay price have to be live?

A lay price you cannot actually get matched is not a real price. The exchange side of a qualifying bet only works if there is money available to take the other side of the lay at, or near, the quoted odds. A tempting-looking match against a lay with no depth behind it will either go unmatched or fill at worse odds, and the user's small known loss becomes an unknown one.

So the lay block carries liquidity alongside the price. Your matcher should read it and treat a thin lay with caution, because a lay odds figure without depth behind it is half a fact. OddsRelay pairs bet365 against three exchanges (Betfair, Smarkets and Matchbook), and the matching picks the workable lay rather than the prettiest number.

What does a bet365 matched row look like?

Here is a single bet365 selection matched to an exchange lay, with the four fields an oddsmatcher renders. This is illustrative shape, not live data:

bet365 back matched to an exchange lay · illustrative
{
  "event": "Brighton vs Newcastle",
  "market": "match_odds",
  "selection": "Newcastle",
  "back": { "bookmaker": "bet365", "odds": 3.40 },
  "lay":  { "exchange": "matchbook", "odds": 3.45, "liquidity": 1260 },
  "rating": 98.6,
  "qualifying_loss": -0.21
  // ... region, feed_type and freshness fields elided
}

The back is the bet365 price. The lay is the workable exchange price with its liquidity attached. The rating near 100 says the two odds sit close, so the qualifying loss is small; the qualifying_loss quantifies it. A raw bet365 API gives you only the back block. The rest is the product.

Is bet365 included by default?

Yes. bet365 is included as standard in the OddsRelay feed, among 60+ UK books, already paired against the exchanges. You do not treat it as a special case to be wired in later. Because the pairing is done before you receive the data, your oddsmatcher renders bet365 rows on day one, in the same shape as every other book.

That matters for an oddsmatcher specifically, because bet365 is the book your users most expect to see. A matcher that covers the field but quietly drops bet365 looks incomplete. Having it arrive matched, in the same envelope, keeps your render path uniform: one row type, one sort, bet365 sitting beside the rest.

How fresh and reliable is it?

The bet365 feed runs on pre-match polling on roughly a few-second cycle, which suits pre-match matched betting well. For a live, consumer-facing product, freshness and uptime matter: a matched row built on a stale bet365 price looks usable and is not, and a feed that drops out when users are active is worse than a slower one that holds. We do not claim real-time in-play streaming, because that is not what we ship.

Rather than ask you to trust a number, freshness, uptime and latency are published on the coverage dashboard. You can read the current state before you build against it. The same feed powers a leading UK matched-betting platform today, so the reliability bar is the one a real product already runs on.

What to build against

For an oddsmatcher, the unit of work is the matched row: bet365 back, exchange lay with liquidity, rating, qualifying_loss. Sort by rating, respect liquidity, show the qualifying loss, and you have the core view. The rest of your effort goes into the product around it rather than into building and maintaining a matcher.

The quickest way to see whether the data fits is to render against it. A free trial key returns the full UK feed, bet365 included, matched against exchange lay prices, so you can build a real oddsmatcher view before committing. If you want the wider product context first, the matched-betting platforms page sets out how teams put the feed to work, and the coverage dashboard shows what is live right now.

bet365 odds data

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 bet365 odds data cluster

bet365 odds data: what you can get, and how to use it

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