Reference
FAQ
Answers to the questions we get most about the data.
Why can't I use some prices?
bet365 suspends markets for a few seconds around goals, penalties, cards and other key moments. In Bet365 Inplay Event, a market or selection with SU=1 is suspended: you cannot bet on it at that moment. The last price is still returned, so show it greyed out and leave it out of models and alerts until SU is 0 again. See Suspended markets.
How do I show the soccer clock?
The EV record of Bet365 Inplay Event carries the clock as bet365 last updated it:
TMandTS: minutes and seconds at the moment of the update.TT:1while the clock runs,0when it is stopped, as at half time.TU: when the clock was updated, asYYYYMMDDHHMMSSin UTC.
{ "type": "EV", "FI": "158204771", "TM": "67", "TS": "12", "TT": "1", "TU": "20260912190000" }While TT is 1, add the time elapsed since TU to TM:TS:
// ev is the EV record from /v1/bet365/event
function soccerClock(ev, now = Date.now()) {
const minutes = Number(ev.TM);
const seconds = Number(ev.TS);
if (ev.TT !== "1") return { minutes, seconds }; // clock stopped
// TU is YYYYMMDDHHMMSS in UTC
const tu = ev.TU;
const updatedAt = Date.UTC(
Number(tu.slice(0, 4)), Number(tu.slice(4, 6)) - 1, Number(tu.slice(6, 8)),
Number(tu.slice(8, 10)), Number(tu.slice(10, 12)), Number(tu.slice(12, 14)),
);
const total = minutes * 60 + seconds + Math.max(0, Math.floor((now - updatedAt) / 1000));
return { minutes: Math.floor(total / 60), seconds: total % 60 };
}The Events API returns the same clock in timer, with tm, ts and tt.
Do you have horse racing?
Horse Racing and Greyhounds are only available raw, in the Bet365 API. Pass raw=1 to Bet365 InPlay, Bet365 Inplay Event and Bet365 Result. They are not in the Events API, so there are no parsed races, runners or results.
Why do ids differ between the APIs?
The Bet365 API uses bet365's own league and team ids, so league.id, home.id and away.id can differ from the Events API. Event ids link the two:
- From the Events API, pass
bet365_idasFIto the Bet365 API. - From the Bet365 API,
our_event_idis theevent_idfor the Events API.
Map leagues and teams through events rather than by id.
Why did an event disappear?
Sometimes the same match is listed twice. When we find a duplicate, we merge it into one event and the duplicate gets time_status 99. Both ids return the same data in Event View, so your stored ids keep working. Merge History lists every merge; call it with since_time to update your records.
{
"success": 1,
"pager": { "page": 1, "per_page": 100, "total": 1 },
"results": [{ "event_id": "8204770", "merged_to": "8204771", "created_at": "1789236900" }]
}Which bookmakers do you cover?
Only bet365. Event Odds takes source=bet365, and Event Odds Summary has a single Bet365 key. Odds Data API is not affiliated with bet365. Still stuck? Contact support from the dashboard.
