BeatTheBookie data service endpoints

This site provides you a list all available BeatTheBookie data service endpoints, what data is provided and which parameters have to be provided.

Update 2020/09/07

The data service provides now 3 additional Poisson models based on xG data.

Endpoints

/zip-poisson-model

The endpoint provides data of my good old ZIP Poisson model.

ParameterDefaultValues
modepred“pred” – provides predictions for next matches
“hist” – provides historic matches including predictions
divisionno default (mandatory)“2. Bundesliga”, “Serie A”, “La Liga”, “Bundesliga”, “Ligue 1”, “Premier League”

It returns the match facts as well as the predictive features (e.g. attack / defence strength) for the teams as well as differt market predictions.

[
  {
    "division_id": "a355facc87c038e88972f99b7c6d388b",
    "division": "2. Bundesliga",
    "season_id": "a290f895d08db6bb30a573aedf784bad",
    "season": "2021_2022",
    "match_date": "2021-08-01",
    "match_teams": "Erzgebirge Aue - St Pauli",
    "home_team_id": "85a7e0e269f59e495ff35ebae520a3fd",
    "home_team": "Erzgebirge Aue",
    "away_team_id": "a34346a46ada46edcae15a6944c3920e",
    "away_team": "St Pauli",
    "home_attacking_strength": 1.09,
    "home_defence_strength": 1.11,
    "away_attacking_strength": 0.88,
    "away_defence_strength": 1.23,
    "home_expected_goals": 2.2,
    "away_expected_goals": 1.3,
    "home_win_prob": 0.5793,
    "draw_prob": 0.2032,
    "away_win_prob": 0.2176,
    "under_15_prob": 0.1508,
    "over_15_prob": 0.8492,
    "under_25_prob": 0.3425,
    "over_25_prob": 0.6575
  },
...

Following divisions and seasons are provided via the endpoint:

DivisionPredictive scopeHistoric scope
2. BundesligaUpcoming 1-2 matchdaysSince 2008/09
BundesligaUpcoming 1-2 matchdays Since 2008/09
Premier League Upcoming 1-2 matchdays Since 2008/09
Serie AUpcoming 1-2 matchdays Since 2008/09
La LigaUpcoming 1-2 matchdays Since 2008/09
Ligue 1Upcoming 1-2 matchdays Since 2008/09

/vanilla-poisson-xg-model

This endpoint provides the predictions of 3 different xG Poisson models compared in this blog post. I decided to provide following models:

  • Short-term: xG EMA10
  • Mid-term: xG EMA20
  • Long-term: xG EMA30

So it’s possible to differ between e.g. the short-term and long-term performance of a team, when analysing a match.

ParameterDefaultValues
modepred“pred” – provides predictions for next matches
“hist” – provides historic matches including predictions
divisionno default (mandatory)“Serie A”, “La Liga”, “Bundesliga”, “Ligue 1”, “Premier League”

For the upcoming fixtures the endpoint provides the model features and prediction results for all 3 models. The historic fixtures also contain the match statistics for goals and xG.

[
  {
    "division_id": "dff80cb4edd4a90c83a23346b5b9bef0",
    "division": "Bundesliga",
    "season_id": "06b84148ed1c6a06340478bef065f5bc",
    "season": "2021_2022",
    "match_date": "2021-09-11",
    "match_teams": "Leverkusen - Dortmund",
    "home_team_id": "31f296e354f2693c68d01f1570ca3df1",
    "home_team": "Leverkusen",
    "away_team_id": "2728451089b9149bad7b106a792e51f9",
    "away_team": "Dortmund",
    "home_xg_attack_strength_ema10": 1.19,
    "home_xg_attack_strength_ema20": 1.18,
    "home_xg_attack_strength_ema30": 1.2,
    "home_xg_defence_strength_ema10": 1.07,
    "home_xg_defence_strength_ema20": 1.01,
    "home_xg_defence_strength_ema30": 0.97,
    "away_xg_attack_strength_ema10": 1.13,
    "away_xg_attack_strength_ema20": 1.2,
    "away_xg_attack_strength_ema30": 1.23,
    "away_xg_defence_strength_ema10": 0.95,
    "away_xg_defence_strength_ema20": 0.89,
    "away_xg_defence_strength_ema30": 0.86,
    "home_expected_goals_ema10": 1.7,
    "home_expected_goals_ema20": 1.6,
    "home_expected_goals_ema30": 1.5,
    "away_expected_goals_ema10": 1.7,
    "away_expected_goals_ema20": 1.7,
    "away_expected_goals_ema30": 1.7,
    "home_win_prob_ema10": 0.3871,
    "home_win_prob_ema20": 0.3589,
    "home_win_prob_ema30": 0.3574,
    "draw_prob_ema10": 0.2269,
    "draw_prob_ema20": 0.2309,
    "draw_prob_ema30": 0.2331,
    "away_win_prob_ema10": 0.386,
    "away_win_prob_ema20": 0.4102,
    "away_win_prob_ema30": 0.4095,
    "under_15_prob_ema10": 0.1482,
    "under_15_prob_ema20": 0.162,
    "under_15_prob_ema30": 0.1688,
    "over_15_prob_ema10": 0.8518,
    "over_15_prob_ema20": 0.838,
    "over_15_prob_ema30": 0.8312,
    "under_25_prob_ema10": 0.342,
    "under_25_prob_ema20": 0.3651,
    "under_25_prob_ema30": 0.3761,
    "over_25_prob_ema10": 0.658,
    "over_25_prob_ema20": 0.6349,
    "over_25_prob_ema30": 0.6239
  },
...

Following divisions and seasons are provided via the endpoint:

DivisionPredictive scopeHistoric scope
BundesligaUpcoming 1-2 matchdaysSince 2014/15
Premier League Upcoming 1-2 matchdays Since 2014/15
Serie AUpcoming 1-2 matchdays Since 2014/15
La LigaUpcoming 1-2 matchdays Since 2014/15
Ligue 1Upcoming 1-2 matchdays Since 2014/15