Blogbet365

What bet365 odds data you can get

bet365 odds data is bet365's prices as structured data your software can read, and bet365 odds for matched betting are only useful once each price sits beside an exchange lay with money behind it.

For a football match that means match odds and deeper markets such as totals, each outcome with a decimal price. The feed carries them before kick-off, and bet365 has no in-play prices on it. Whether bet365 offers an API of its own is a separate question, answered in is there a bet365 API.

What good bet365 coverage looks like

Coverage is more than a yes on a bookmaker list. Judge it on four things, because a feed can do well on one and badly on another:

  • Market depth: does it carry the markets your product uses, or only the headline match odds?
  • Freshness you can see: can you tell how old each price was when you read it? A stale price looks usable and isn't, so a feed should give you the time to check.
  • Completeness: is the market whole, or do selections go missing?
  • Consistency over time: does coverage hold week after week as markets change?

You can check depth yourself. GET /v2/sports lists the market keys seen under each competition, and a call naming bookmakers=bet365 shows which of them carry a bet365 price. Consistency is the one a demo cannot show. The coverage page lists each product, venue and sport, and GET /v2/coverage without a key adds the live status, so you can watch bet365 for a few weeks before you commit. Choosing a bet365 odds API turns these questions into checks you can run on any supplier.

A qualifying bet in data terms

A qualifying bet is a back at the bookmaker covered by a lay at an exchange, sized so the two positions almost cancel. You back a selection at bet365, lay the same selection on an exchange, and whatever the result your net position is a small, known loss. That loss is the cost of claiming a free bet or offer.

So an oddsmatcher needs two prices per selection, from two venues, for the same event and market. A raw bet365 price is one of them. Pairing it with the right lay means mapping events and markets across bookmakers and exchanges, which is where most of the engineering sits.

A matched bet365 row pairs back and lay

The feed covers 140+ bookmakers, 60+ of them live in the UK & Ireland, and bet365 is included on every plan, for featured football and UK and Irish racing. The bet365 page profiles the book. On the six matched boards each outcome carries back offers from bookmakers and lay offers from Betfair, Smarkets and Matchbook. Name bookmakers=bet365 and the board keeps only bet365's back offers, dropping any outcome left without one:

GET /v2/odds/standard?region=uk&bookmakers=bet365 (trimmed) · example

{
  "meta": {
    "feed_type": "standard", "region": "uk",
    "odds_format": "decimal",
    "processed_at": "2026-09-17T02:20:57.271Z",
    "last_seen": {
      "bet365": { "soccer": "2026-09-17T02:20:51Z" },
      "smarkets": { "soccer": "2026-09-17T02:20:54Z" }
    },
    "count": 1,
    "version": "v2",
    "next_cursor": null
  },
  "data": [{
    "event_id": "or_evt_917dd44bce05",
    "commence_time": "2026-09-20T14:00:00Z",
    "home_team": "Arsenal",
    "away_team": "Chelsea",
    "markets": [{
      "key": "h2h",
      "outcomes": [{
        "name": "Arsenal",
        "back": [{ "bookmaker": "bet365", "price": 2.9, "link": null }],
        "lay":  [{ "exchange": "smarkets", "price": 3.0, "available": 175, "link": null }]
      }]
    }]
  }]
}

Every offer is a source fact. The bet365 price arrives with the exchange lays for the same selection, and a lay with too little money behind it never makes the row. Rating and qualifying loss are a short sum in your code at your own commission rate, the same sum the oddsmatcher widget runs:

Your code, on the example pair · example

const back = 2.9; // bet365
const lay = 3.0;  // Smarkets lay
const rating = (back / lay) * 100; // 96.7: the closer to 100, the smaller the qualifying loss

The full working, including the lay stake and commission, is in qualifying loss and ratings explained. If you want bet365's own prices without a lay beside them, for comparison tables or content, the raw product carries each bookmaker's markets with a last_update per market. Past prices are a separate product, covered in bet365's price history.

The lay side carries its liquidity

A lay price you cannot get matched is not a real price. Each lay offer carries available, the money on offer at that price. Against a lay with little behind it the user's bet goes unmatched or fills at worse odds, and the small known loss becomes an unknown one.

Read available and treat a thin lay with caution before you rank on the rating alone. A qualifying bet a user cannot place is worse than no row, because it breaks trust the first time it fails. Why lay liquidity matters goes further.

How old each bet365 price is

Every response carries meta.processed_at, the board's time, also sent as the X-Processed-At header. meta.last_seen gives the last read of each venue and sport. Now minus bet365's last_seen is an upper bound on the age of its prices in your hand. Every product on sale meets a maximum update time of 10–20 s for match odds, and for every market within six hours of kick-off. Further from kick-off, prices in the other markets can be older. The freshness guide shows the age check in code.

Reading bet365 from the feed

One authenticated call to a matched board, with the key in Authorization: Bearer <key> or x-api-key, returns the JSON above. Send Accept-Encoding: gzip (curl: --compressed), or the body comes back much larger. exchanges narrows the lay side, and markets and a kick-off window narrow the rest.

You poll. Send the last ETag back as If-None-Match and an unchanged board is a 304 that costs no tokens. A call's price comes from the board and the filters you name, and ?quote=true prices it without spending. The quickstart, matched-board filters and filters and tokens guides have the detail.

Where to spend your build time

Our view: if odds collection is your product, own it. If your product is an oddsmatcher or a comparison site, take bet365 with the rest of the feed and spend the time on what your users see. Buy vs build odds data works through the costs.

Make a first bet365 call

Run the quickstart call with bet365 as its bookmaker. The API reference has every field in the sample above.

Related posts

18+ · OddsRelay supplies odds data only and takes no bets. Please gamble responsibly.