Skip to content

Blogbet365 odds data

Is there a bet365 API? What developers can use in 2026

OddsRelay · · Updated · 4 min read

bet365 does not publish a public odds API for third parties. There is no key to sign up for, so bet365 prices reach a product in one of two ways: a team collects them itself, or it licenses a feed that already carries them.

Why the missing API shapes your build

Betfair publishes an API for its exchange (getting Betfair lay odds covers it). bet365 offers developers nothing comparable. So every bet365 price in a third-party product arrives through a supplier, not through bet365.

With no official spec, the field names, event ids and market keys are the supplier's own, and so is the job of keeping them working. Check both before you write a line of integration code.

What people mean by a "bet365 API"

The search covers three different needs. Separate them before you pick a route:

  • Raw bet365 prices: the back odds bet365 is showing for each market, as JSON. Enough for odds comparison and content.
  • bet365 prices paired with exchange lay: each bet365 back price beside the lay price for the same selection on an exchange, with the money available at that price. Matched betting and oddsmatchers run on this pair.
  • bet365 as one book among many: the same shape and the same event ids as every other bookmaker, so bet365 is not a special case in your code.

Two routes to bet365 odds

The first route is to build your own collection. The first capture is the small part. The upkeep is the rest: keeping prices complete, matching bet365's events to the exchanges' events, and noticing when a source goes quiet. A stale price is worse than a missing one, because it looks usable and isn't.

The second route is to license a feed that includes bet365. You receive bet365 as one book in a dataset someone else maintains, and you spend the time on your product. Unless odds collection is itself your product, license it. Buy vs build weighs the two routes in full.

This is not a collection guide

We don't publish how prices are collected. Customers license access to the data, never the methods behind it.

What to check before you license a bet365 feed

Four checks separate a feed you can build on from one that turns into a support queue:

  • bet365 on every plan. It should come with the base plan, so the book you most need is not the one priced on top.
  • Pairing against the exchanges you use. Each bet365 back price should arrive beside real lay prices with the stake available, so your matcher has nothing left to join.
  • Freshness you can check yourself. Look for a timestamp per venue in every reply and a public page showing which venues are live, so you can see how old a bet365 price is instead of taking a claim on trust.
  • A published contract. A machine-readable schema and the same response shape on every call, so a deep market or a missing selection does not break your parser.

Comparisons of named providers against checks like these live on the comparison pages, each sourced and dated.

bet365 on the OddsRelay feed

bet365 is included on every plan. The feed covers 140+ bookmakers, 60+ of them live in the UK & Ireland, and the matched boards pair bookmaker back prices against Betfair, Smarkets, Matchbook and BETDAQ. The bet365 page lists what it carries, and the coverage page shows whether it is live right now.

To see only bet365 on the standard board, filter by its venue key. Sending ?quote=true on the same request prices the call without spending tokens.

Example request · bet365 on the standard board

curl --compressed \
  -H "Authorization: Bearer $ODDSRELAY_KEY" \
  "https://api.oddsrelay.io/v2/odds/standard?bookmakers=bet365&sports=soccer_epl"

Example response · trimmed to one outcome

{
  "meta": {
    "feed_type": "standard", "region": "uk", "odds_format": "decimal",
    "processed_at": "2026-09-20T12:18:11.402Z",
    "last_seen": {
      "bet365": { "soccer": "2026-09-20T12:18:07Z" },
      "betfair_exchange": { "soccer": "2026-09-20T12:18:09Z" },
      "smarkets": { "soccer": "2026-09-20T12:18:05Z" }
    },
    "count": 1,
    "version": "v2",
    "next_cursor": null
  },
  "data": [{
    "event_id": "or_evt_917dd44bce05",
    "sport_key": "soccer_epl",
    "sport_title": "Premier League",
    "commence_time": "2026-09-20T14:00:00Z",
    "home_team": "Arsenal",
    "away_team": "Chelsea",
    "markets": [{
      "key": "h2h",
      "outcomes": [{
        "name": "Arsenal",
        "back": [{ "bookmaker": "bet365", "price": 2.1, "link": null }],
        "lay": [
          { "exchange": "betfair_exchange", "price": 2.14, "available": 412, "link": null },
          { "exchange": "smarkets", "price": 2.16, "available": 95, "link": null }
        ]
      }]
    }]
  }]
}

Each bet365 price arrives paired against exchange lay and liquidity-gated. The rating and qualifying loss are simple arithmetic on the pair, at your own commission rate, and the oddsmatcher widget shows them. In your code it is a few lines:

Your arithmetic on the example pair

const back = 2.1, lay = 2.14, commission = 0.02, stake = 10

const rating = (back / lay) * 100                          // 98.1
const layStake = (back * stake) / (lay - commission)       // 9.91
const qualifyingLoss = layStake * (1 - commission) - stake // -0.29

The bookmakers, exchanges, markets and kick-off filters are in the matched board filters guide. If you want bet365's own markets rather than the pairs, the raw board carries them per bookmaker, and walking raw shows how to page through it.

Every reply dates its prices

Every reply carries the time its board was built, in the X-Processed-At header and, on the envelope, meta.processed_at. A matched envelope also carries meta.last_seen, which gives the last read of each venue per sport. Now minus last_seen.bet365.soccer is an upper bound on how old a bet365 football price in that reply can be. Every product on sale must meet a maximum update time of 10–20 s, and the freshness guide explains each timestamp.

Put bet365 prices in your product

Request access to get a key, then make your first call with the quickstart. Before you ask, see live coverage to check bet365 and the exchanges you need.