
Contents
What is a prediction API?
But first thing first, what’s a Prediction API anyway? We’ve all been there, wishing you could peek into the future of your favourite team’s football matches. Unfortunately, we can’t do that. But a Prediction API can! A Prediction API looks at team stats, player performances, and past games to make its predictions. And the best part? It’s always learning, getting better with each match it analyses.
But it’s not just for fans—it’s a total game-changer for businesses too! Betting sites and sports blogs use it to make wise choices and keep fans on the edge of their seats.
Whether you’re a die-hard football fan, betting expert or a business owner, it’s your secret weapon for staying ahead of the game!
Why choose our advanced prediction service?
In the competitive realm of football predictions, precision and reliability are paramount. Our Prediction Service stands out as a pinnacle of excellence, offering:
Advanced predictions
Our cutting-edge algorithms leverage accurate, data-driven match probabilities, considering team dynamics, previous match analytics, player contributions, and more for precise predictions.
Live data
Stay ahead of the curve with predictions available 21 days before kick-off and daily updates, ensuring access to the latest data and forecasts.
Diverse market coverage
Whether it’s match-winners, double chances, total goals, or other markets, our service offers extensive coverage, allowing users to explore various betting options and tailor strategies accordingly.
Detailed documentation
Dive into our comprehensive Football API documentation, providing clear instructions on accessing daily predictions, probabilities, and average bookie odds for seamless integration into your projects.
Easy integration
Our Prediction API is designed for easy integration, allowing you to incorporate accurate predictions and probabilities effortlessly into applications, websites, or betting platforms.
Enough information? Ready to elevate your football experience?
Unlocking the power of our prediction API:
To harness the potential of our Football Prediction API, you will need to have some tools at hand:
A MySportmonks account and subscription
First, register on MySportmonks with your preferred option. After that, choose the plan that best suits your needs and select the Prediction API in the add-on section. Having trouble finding the best plan for your application? Contact our sales team for more guidance.
Your personalised Sportmonks API token
Unlocking the full potential of your football application begins with your personalised API token after creating your My.Sportmonks account, navigate to the API Token page to generate your unique token. For security reasons, the API token will only be shown to you once upon creation. Please make sure to write down your API token somewhere safe.
Choose your preferred endpoint
Enrich your applications with detailed predictions. Our Predictions API offers predictions on various markets like the winner, correct scores, over/under, and both teams to score (BTTS), which are all available here, produced with our machine learning techniques and models.
Use one of our three probability endpoints. Per endpoint, you can find the details, including base URL, parameters, includes and more.
- GET probabilities: Retrieve all probabilities available within your subscription, exploring match outcomes or assessing potential betting options.
- GET performance by league ID: Investigate the performance of our Predictions Model for specific leagues, obtaining detailed performance metrics tailored to your requested league ID.
- GET probabilities by fixture ID: Access predictions for particular fixtures, ideal for daily football predictions or analysing upcoming matchups.
Practical example
For this how-to guide, we will use the ‘Probabilities by Fixture ID‘ endpoint. We’re going to look at the Manchester Derby: Manchester United vs Manchester City, played in the 2023/2024 season of the English Premier League.
Step 1: Make our request
First, some general information about the English Premier League
- League ID: 8
- 2023/2024 season id: 21646
- Manchester United team ID: 14
- Manchester City Team ID: 9
- Fixture ID: 18842136
Based on the information, your request will be: https://api.sportmonks.com/v3/football/predictions/probabilities/fixtures/18842136?api_token=YOUR_TOKEN
As mentioned before, you have multiple options for retrieving predictions, including the option to use the fixtures between dates or fixture by ID endpoint with predictions as include.
For example: https://api.sportmonks.com/v3/football/fixtures/18842136?api_token=YOUR_TOKEN&include=predictions
Now you’ve learnt how to request predictions, lets discuss the response in the next chapter.
{ "data": { "id": 18842136, "sport_id": 1, "league_id": 8, "season_id": 21646, "stage_id": 77464011, "group_id": null, "aggregate_id": null, "round_id": 307127, "state_id": 5, "venue_id": 206, "name": "Manchester United vs Manchester City", "starting_at": "2023-10-29 15:30:00", "result_info": "Manchester City won after full-time.", "leg": "1/1", "details": null, "length": 90, "placeholder": false, "has_odds": true, "starting_at_timestamp": 1698593400, "predictions": [ { "id": 8870093, "fixture_id": 18842136, "predictions": { "yes": 72.1, "no": 27.9 }, "type_id": 334, "type": { "id": 334, "name": "Home Over/Under 0.5 Probability", "code": "home-over-under-0_5_probability", "developer_name": "HOME_OVER_UNDER_0_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870091, "fixture_id": 18842136, "predictions": { "yes": 46.83, "no": 53.17 }, "type_id": 236, "type": { "id": 236, "name": "Over/Under 3.5 Probability", "code": "over-under-3_5_probability", "developer_name": "OVER_UNDER_3_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870097, "fixture_id": 18842136, "predictions": { "yes": 67.08, "no": 32.92 }, "type_id": 235, "type": { "id": 235, "name": "Over/Under 2.5 Probability", "code": "over-under-2_5-probability", "developer_name": "OVER_UNDER_2_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870085, "fixture_id": 18842136, "predictions": { "yes": 25.44, "no": 74.56 }, "type_id": 328, "type": { "id": 328, "name": "Away Over/Under 2.5 Probability", "code": "away-over-under-2_5_probability", "developer_name": "AWAY_OVER_UNDER_2_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870105, "fixture_id": 18842136, "predictions": { "home": 35.05, "away": 42.48, "draw": 22.48 }, "type_id": 237, "type": { "id": 237, "name": "Fulltime Result Probability", "code": "fulltime-result-probability", "developer_name": "FULLTIME_RESULT_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870094, "fixture_id": 18842136, "predictions": { "yes": 44.52, "no": 55.48 }, "type_id": 331, "type": { "id": 331, "name": "Home Over/Under 1.5 Probability", "code": "home-over-under-1_5_probability", "developer_name": "HOME_OVER_UNDER_1_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870099, "fixture_id": 18842136, "predictions": { "yes": 84.83, "no": 15.17 }, "type_id": 234, "type": { "id": 234, "name": "Over/Under 1.5 Probability", "code": "over-under-1_5-probability", "developer_name": "OVER_UNDER_1_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870095, "fixture_id": 18842136, "predictions": { "yes": 75.53, "no": 24.47 }, "type_id": 333, "type": { "id": 333, "name": "Away Over/Under 0.5 Probability", "code": "away-over-under-0_5_probability", "developer_name": "AWAY_OVER_UNDER_0_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870096, "fixture_id": 18842136, "predictions": { "scores": { "0-0": 3.83, "0-1": 5.8, "0-2": 4.81, "0-3": 2.85, "1-0": 5.58, "1-1": 9.11, "1-2": 8.06, "1-3": 4.83, "2-0": 4.11, "2-1": 7.35, "2-2": 7.03, "2-3": 4.14, "3-0": 2.3, "3-1": 4.31, "3-2": 3.63, "3-3": 2.32, "Other_1": 8.69, "Other_2": 10.66, "Other_X": 0.64 } }, "type_id": 240, "type": { "id": 240, "name": "Correct Score Probability", "code": "correct-score-probability", "developer_name": "CORRECT_SCORE_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870104, "fixture_id": 18842136, "predictions": { "yes": 65.71, "no": 34.29 }, "type_id": 231, "type": { "id": 231, "name": "Both Teams To Score Probability", "code": "both-teams-to-score-probability", "developer_name": "BTTS_PROBABILITY", "model_type": "prediction", "stat_group": null } } ] },
Step 2: Analyse the response
By default, you will receive some static information. It can be tricky if you have limited experience with our Football API and its structure. As you can see, there are a lot of values, but what do they mean exactly?
For your convenience, you can include the type variable. This will return the definition of the values as well.
It is important to note that if you use the probabilities by fixture ID endpoint, you must repeat this step for all the other matches you’re interested in. But you won’t have to if you use the predictions included on one of our fixtures or livescores endpoints.
Predictions are updated multiple times a day. Take this into account when you start implementing.
Please note that including .type is not recommended as an inclusion on any endpoint. Types are used throughout the entire API. We recommend retrieving all types from the types endpoint and storing them in your database or other data structure. Only include the type if no other option exists or when testing the API.
{ "data": [ { "id": 8870073, "fixture_id": 18842136, "predictions": { "yes": 30.08, "no": 69.92 }, "type_id": 1679, "type": { "id": 1679, "name": "Over/Under 4.5 Probability", "code": "over-under-4_5-probability", "developer_name": "OVER_UNDER_4_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870076, "fixture_id": 18842136, "predictions": { "yes": 90.42, "no": 4.49, "equal": 5.09 }, "type_id": 1690, "type": { "id": 1690, "name": "Corners Over/Under 4 Probability", "code": "corners-over-under-4-probability", "developer_name": "CORNERS_OVER_UNDER_4_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870079, "fixture_id": 18842136, "predictions": { "yes": 82.71, "no": 9.58, "equal": 7.72 }, "type_id": 1683, "type": { "id": 1683, "name": "Corners Over/Under 5 Probability", "code": "corners-over-under-5-probability", "developer_name": "CORNERS_OVER_UNDER_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870080, "fixture_id": 18842136, "predictions": { "yes": 72.57, "no": 17.29, "equal": 10.13 }, "type_id": 1685, "type": { "id": 1685, "name": "Corners Over/Under 6 Probability", "code": "corners-over-under-6-probability", "developer_name": "CORNERS_OVER_UNDER_6_PROBABILITY", "model_type": "prediction", "stat_group": null } },
Explanation of the data
Both Teams To Score probability (type id: 231) = 65,71% probability that both teams will score.
Over/Under 1.5 probability (type id: 234) = 84,83% probability that there will be more than 1.5 goals.
Over/Under 2.5 probability (type id: 235) = 67,08% probability that there will be more than 2.5 goals.
Over/Under 3.5 probability (type id: 236) = 46,83 % probability of more than 3.5 goals, 53,17% probability of less than 3.5 goals.
Fulltime result probability (type id: 237) = probability of 35,05% that the home team (Manchester United) will win. 42,78% probability that the away team (Manchester City) will win and 22,48% probability that the match will end in a draw.
Correct Score Probability (type id: 240) = 9,11% probability of a final score of 1-1.
Away Over/Under 2.5 Probability (type id: 328) = 25,44% probability that the away team will score more than 2.5 goals, 74,56% probability that the away team will score less than 2.5 goals.
Home Over/Under 1.5 Probability (type id: 331) =44,52% probability that the home team will score more than 1.5 goals, 55,48% probability that the home team will score less than 1,5 goals.
Away Over/Under 0.5 Probability (type id: 333) = 75,53% probability that the away team will score more than 0.5 goals (Manchester City), 24,47% probability that the away team will score less than 0.5 goals.
Home Over/Under 0.5 Probability (type id: 334) = 72,10% probability that the away Home will score more than 0.5 goals (Manchester United), 27,90% probability that the home team will score less than 0.5 goals.
{ "data": { "id": 18842136, "sport_id": 1, "league_id": 8, "season_id": 21646, "stage_id": 77464011, "group_id": null, "aggregate_id": null, "round_id": 307127, "state_id": 5, "venue_id": 206, "name": "Manchester United vs Manchester City", "starting_at": "2023-10-29 15:30:00", "result_info": "Manchester City won after full-time.", "leg": "1/1", "details": null, "length": 90, "placeholder": false, "has_odds": true, "starting_at_timestamp": 1698593400, "predictions": [ { "id": 8870093, "fixture_id": 18842136, "predictions": { "yes": 72.1, "no": 27.9 }, "type_id": 334, "type": { "id": 334, "name": "Home Over/Under 0.5 Probability", "code": "home-over-under-0_5_probability", "developer_name": "HOME_OVER_UNDER_0_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870091, "fixture_id": 18842136, "predictions": { "yes": 46.83, "no": 53.17 }, "type_id": 236, "type": { "id": 236, "name": "Over/Under 3.5 Probability", "code": "over-under-3_5_probability", "developer_name": "OVER_UNDER_3_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870097, "fixture_id": 18842136, "predictions": { "yes": 67.08, "no": 32.92 }, "type_id": 235, "type": { "id": 235, "name": "Over/Under 2.5 Probability", "code": "over-under-2_5-probability", "developer_name": "OVER_UNDER_2_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870085, "fixture_id": 18842136, "predictions": { "yes": 25.44, "no": 74.56 }, "type_id": 328, "type": { "id": 328, "name": "Away Over/Under 2.5 Probability", "code": "away-over-under-2_5_probability", "developer_name": "AWAY_OVER_UNDER_2_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870105, "fixture_id": 18842136, "predictions": { "home": 35.05, "away": 42.48, "draw": 22.48 }, "type_id": 237, "type": { "id": 237, "name": "Fulltime Result Probability", "code": "fulltime-result-probability", "developer_name": "FULLTIME_RESULT_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870094, "fixture_id": 18842136, "predictions": { "yes": 44.52, "no": 55.48 }, "type_id": 331, "type": { "id": 331, "name": "Home Over/Under 1.5 Probability", "code": "home-over-under-1_5_probability", "developer_name": "HOME_OVER_UNDER_1_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870099, "fixture_id": 18842136, "predictions": { "yes": 84.83, "no": 15.17 }, "type_id": 234, "type": { "id": 234, "name": "Over/Under 1.5 Probability", "code": "over-under-1_5-probability", "developer_name": "OVER_UNDER_1_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870095, "fixture_id": 18842136, "predictions": { "yes": 75.53, "no": 24.47 }, "type_id": 333, "type": { "id": 333, "name": "Away Over/Under 0.5 Probability", "code": "away-over-under-0_5_probability", "developer_name": "AWAY_OVER_UNDER_0_5_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870096, "fixture_id": 18842136, "predictions": { "scores": { "0-0": 3.83, "0-1": 5.8, "0-2": 4.81, "0-3": 2.85, "1-0": 5.58, "1-1": 9.11, "1-2": 8.06, "1-3": 4.83, "2-0": 4.11, "2-1": 7.35, "2-2": 7.03, "2-3": 4.14, "3-0": 2.3, "3-1": 4.31, "3-2": 3.63, "3-3": 2.32, "Other_1": 8.69, "Other_2": 10.66, "Other_X": 0.64 } }, "type_id": 240, "type": { "id": 240, "name": "Correct Score Probability", "code": "correct-score-probability", "developer_name": "CORRECT_SCORE_PROBABILITY", "model_type": "prediction", "stat_group": null } }, { "id": 8870104, "fixture_id": 18842136, "predictions": { "yes": 65.71, "no": 34.29 }, "type_id": 231, "type": { "id": 231, "name": "Both Teams To Score Probability", "code": "both-teams-to-score-probability", "developer_name": "BTTS_PROBABILITY", "model_type": "prediction", "stat_group": null } } ] },
Value bets
Besides the Prediction API, we also have the Value Bet API. While the Prediction API evaluates the probabilities of game events, the Value Bet API processes thousands of historical odds data and market trends to find Value opportunities compared to bookmakers’ odds.
Once the opening odds are available, the value detection algorithm runs every 10 minutes up to the beginning of the match. Each value detected by the model comes with a set of features described below.
If you want to combine your Value Bets requests with your requests on the Fixture endpoint or Livescore endpoint, you can add the relationship include &include=valuebet.
{ "data": [ { "id": 3507922, "fixture_id": 18535517, "predictions": { "bet": "1", "bookmaker": "interwetten", "odd": 1.9, "is_value": false, "stake": 0.95, "fair_odd": 1.84 }, "type_id": 33, "type": { "id": 33, "name": "Valuebet", "code": "valuebet", "developer_name": "VALUEBET", "model_type": "prediction", "stat_group": null } }
Create stunning applications
Congratulations! You’ve embarked on a journey to master football predictions with our advanced Prediction API. Whether you’re a bettor seeking value opportunities or a fan seeking deeper insights, our Prediction Service is your gateway to unparalleled football experiences. Start your journey today and unlock the full potential of football predictions with our API.
FAQ
1. Prediction model:
Using advanced machine learning techniques and historical data, our model accurately predicts the outcomes of future football matches, considering various factors such as team form, player injuries, head-to-head records, and more. In addition to that, we also incorporate the player contribution model, which further enhances the accuracy of the predictions. By analysing the performance of individual players and their impact on the team, we can better understand how they'll contribute to the match's final outcome. This model takes into account various metrics such as the player's recent form, their position, and their contribution to the team's overall performance
2. Value bet model:
The Value Bet model processes thousands of historical odds data and market trends to find the best value opportunities. In other words: it compares bookmakers' odds with each other and then gives you the best value bookmaker. Using our value bet model, you can access valuable insights into the best bets, which can help you make better decisions.
The models and algorithms are based on five key principles:
1. Timely and substantive:
The prediction API is updated daily with the latest data from the Sportmonks Football Database.
2. Data controlled:
No human intervention is needed. The prediction API runs on statistical analysis results based on the entire historical Sportmonks Football Database.
3. Precise probabilities:
The prediction API offers the most precise probabilities possible, thanks to our mathematical probability distribution models.
4. Predictability performance:
We monitor our prediction API's success rate and quality, but you can also track our predictions’ performance.
5. Machine Learning:
We use cross-validation machine learning models.
- GET Probabilities: Returns all probabilities available within your subscription.
- GET Performance by League ID: Returns the performances of our Predictions Model for your requested league ID.
- GET Probabilities by Fixture ID: Returns all the predictions available for your requested fixture ID.