⚽
API 3.0
OddsCoreFootball APIAPI 2 (Deprecated)WidgetsContact
Football API 3.0
Football API 3.0
  • Welcome
    • 🛬Welcome
    • 🙋‍♂️Getting Started
    • 🤓What can you do with Sportmonks' data?
    • 🆕Differences between API 2 and API 3
      • API Changes
      • Syntax and filters
      • New endpoints and data features
    • 🔐Authentication
    • 👶Making your first request
    • 🔧Best Practices
  • API coach (BETA)
  • Changelog
    • 📄Changelog
    • 📁Changelog (BETA)
  • API
    • 💡Request options
      • Includes
        • Nested includes
      • Selecting fields
      • Filtering
      • Selecting and filtering
      • Ordering and sorting
    • 🔤Syntax
    • ♾️Rate limit
    • 👀Meta description
    • 📔Error codes
      • Include Exceptions
      • Filtering and Complexity Exceptions
      • Other Exceptions
    • 📚Code libraries
    • Translations (beta)
    • Demo response files
    • Data corrections
    • API 2.0 (Deprecated)
  • Endpoints and Entities
    • Endpoints
      • 📡Livescores
        • GET Inplay Livescores
        • GET All Livescores
        • GET Latest Updated Livescores
      • 🥅Fixtures
        • GET All Fixtures
        • GET Fixture by ID
        • GET Fixtures by Multiple IDs
        • GET Fixtures by Date
        • GET Fixtures by Date Range
        • GET Fixtures by Date Range for Team
        • GET Fixtures by Head To Head
        • GET Fixtures by Search by Name
        • GET Upcoming Fixtures by Market ID
        • GET Upcoming Fixtures by TV Station ID
        • GET Past Fixtures by TV Station ID
        • GET Latest Updated Fixtures
      • 🛰️States
        • GET All States
        • GET State by ID
      • ⌨️Types
        • GET All Types
        • GET Type by ID
        • GET Type by Entity
      • 🏆Leagues
        • GET All Leagues
        • GET League by ID
        • GET Leagues by Live
        • GET Leagues by Fixture Date
        • GET Leagues by Country ID
        • GET Leagues Search by Name
        • GET All Leagues by Team ID
        • GET Current Leagues by Team ID
      • 🗓️Seasons
        • GET All Seasons
        • GET Seasons by ID
        • GET Seasons by Team ID
        • GET Seasons by Search by Name
      • 📊Statistics
        • GET Season Statistics by Participant
        • GET Stage Statistics by ID
        • GET Round Statistics by ID
      • 📅Schedules
        • GET Schedules by Season ID
        • GET Schedules by Team ID
        • GET Schedules by Season ID and Team ID
      • 🪜Stages
        • GET All Stages
        • GET Stage by ID
        • GET Stages by Season ID
        • GET Stages by Search by Name
      • 🔂Rounds
        • GET All Rounds
        • GET Round by ID
        • GET Rounds by Season ID
        • GET Rounds by Search by Name
      • 🔢Standings
        • GET All Standings
        • GET Standings by Season ID
        • GET Standings by Round ID
        • GET Standing Correction by Season ID
        • Get Live Standings by League ID
      • 🥇Topscorers
        • GET Topscorers by Season ID
        • GET Topscorers by Stage ID
      • 🏃Teams
        • GET All Teams
        • GET Team by ID
        • GET Teams by Country ID
        • GET Teams by Season ID
        • GET Teams by Search by Name
      • 🧑Players
        • GET All Players
        • GET Player by ID
        • GET Players by Country ID
        • GET Players by Search by Name
        • GET Last Updated Players
      • 🧑‍🦱Team Squads
        • GET Team Squad by Team ID
        • GET Extended Team Squad by Team ID
        • GET Team Squad by Team and Season ID
      • 👨‍🏫Coaches
        • GET All Coaches
        • GET Coach by ID
        • GET Coaches by Country ID
        • GET Coaches Search by Name
        • GET Last Updated Coaches
      • 🕴️Referees
        • GET All Referees
        • GET Referee by ID
        • GET Referees by Country ID
        • GET Referees by Season ID
        • GET Referees Search by Name
      • ↔️Transfers
        • GET All Transfers
        • GET Transfer by ID
        • GET Latest Transfers
        • GET Transfers Between Date Range
        • GET Transfers by Team ID
        • GET Transfers by Player ID
      • 🏟️Venues
        • GET All Venues
        • GET Venue by ID
        • GET Venues by Season ID
        • GET Venues by Search by Name
      • 📺TV Stations
        • GET All TV Stations
        • GET TV Station by ID
        • GET TV Stations by Fixture ID
      • 🔮Expected (xG)
        • GET Expected by Team
        • GET Expected by Player
      • 🔭Predictions
        • GET Probabilities
        • GET Predictability by League ID
        • GET Probabilities by Fixture ID
        • GET Value Bets
        • GET Value Bets by Fixture ID
      • 🧙Standard Odds Feed
        • 👓Pre-match Odds
          • GET All Odds
          • Get Odds by Fixture ID
          • GET Odds by Fixture ID and Bookmaker ID
          • GET Odds by Fixture ID and Market ID
          • GET Last Updated Odds
        • 🧠Inplay Odds
          • GET All Inplay Odds
          • GET Inplay Odds by Fixture ID
          • GET Inplay Odds by Fixture ID and Bookmaker ID
          • GET Inplay Odds by Fixture ID and Market ID
          • GET Last Updated Inplay Odds
      • 🧙‍♂️Premium Odds Feed
        • 🕶️Premium Pre-match Odds
          • GET All Premium Odds
          • Get Premium Odds by Fixture ID
          • GET Premium Odds by Fixture ID and Bookmaker ID
          • GET Premium Odds by Fixture ID and Market ID
          • GET Updated Premium Odds Between Time Range
          • GET Updated Historical Odds Between Time Range
          • GET All Historical Odds
      • 🛒Markets
        • GET All Markets
        • GET All Premium Markets
        • GET Market by ID
        • GET Market by Search
      • 📑Bookmakers
        • GET All Bookmakers
        • GET All Premium Bookmakers
        • GET Bookmaker by ID
        • GET Bookmaker by Search
        • GET Bookmaker by Fixture ID
      • 📰News
        • GET Pre-Match News
        • GET Pre-Match News by Season ID
        • GET Pre-Match News for Upcoming Fixtures
        • GET Post-Match News
        • GET Post-Match News by Season ID
      • ⚔️Rivals
        • GET All Rivals
        • GET Rivals by Team ID
      • 🎙️Commentaries
        • GET All Commentaries
        • GET Commentaries by Fixture ID
    • Entities
      • 🥅Fixture
      • 🏆League, Season, Schedule, Stage and Round
      • 🧑‍🤝‍🧑Team, Player, Squad, Coach and Referee
      • 🔢Statistic
      • 🔮Expected
      • 🥇Standing and Topscorer
      • 🔭Odd and Prediction
      • Other
  • Tutorials and Guides
    • Tutorials
      • Introduction
        • Make your first request
        • Set your time zone
        • Pagination
      • Enrich your response
        • Nested includes
          • Syntax and relations
      • Includes
        • Events
        • States
        • Periods
        • Scores
        • Participants
        • Lineups
        • ballCoordinates
        • Pressure Index
        • Tips and tricks
      • Filter and select fields
        • Selecting fields
        • Filtering
        • Selecting and filtering
      • Leagues and seasons
        • Leagues
        • Seasons
      • Season schedule
        • Schedules
        • Stages
        • Rounds
      • Livescores and fixtures
        • Livescores
        • Fixtures
      • Lineups and formations
      • Statistics
        • Statistics types
        • Season statistics
        • Fixture statistics
        • Team statistics
        • Players statistics
      • Teams, players, coaches and referees
        • Teams
        • Players
        • Coaches
        • Referees
      • Standings
        • Season standings
        • Topscorer standings
      • Odds and predictions
        • Bookmakers
        • Markets
        • Pre-match odds
        • Live(Inplay) odds
        • hasOdds
        • Predictions
          • Probabilities
          • Value Bet
      • Expected
        • Endpoints
        • Includes
        • Coverage
      • News
        • Pre-match News
        • Post-match News
      • Placeholders
      • Timezone parameters on different endpoints
    • Guides
      • How-to use components
      • How-to use the Football API with Postman
      • How-to use the Football API tester
      • How-to use the Football API ID finder
      • How-to build a livescore website
      • How-to use the Predictions API
      • How-to build a match page
      • How-to build a custom plan
      • How-to build a match page with odds
      • How-to use xG data
      • How-to build a news website
      • How-to build a fantasy game guide
      • How-to use the new Champions League data
      • How-to build your World Cup application
      • How-to build a team page
      • How-to keep your database in SYNC
      • How-to use team mode in MySportmonks
    • Programming languages
      • A developers guide: Unleashing the power of the football API with JSON
      • A developers guide: Unleashing the power of the football API with PHP
      • A developers guide: Unleashing the power of the football API with Python
  • Definitions
    • 📔Response Codes
    • 🛰️States
    • ⌨️Types
      • Lineups, positions and formations
      • Events
      • Statistics
        • Coach statistics
        • Referee statistics
        • Stage statistics
        • Season statistics
        • Fixture statistics
        • Team statistics
        • Player statistics
      • Expected
      • Leagues and stages
      • Standings
      • Transfers
      • Highlights
      • Weather and pitch
  • FAQ
    • API 3.0
    • Odds
    • Integration
    • Sportmonks
  • Quicklinks
    • Postman
    • ID Finder
    • Sportmonks
    • MySportmonks
    • Football widgets
    • Plans and Pricing
    • Data features
    • FAQ
Powered by GitBook
On this page
  • Requesting probabilities
  • GET Probabilities as include
  • GET All Probabilities
  • GET Probabilities by Fixture ID
  • GET Performance by League ID
  • Adding useful information
  • Selecting and filtering

Was this helpful?

  1. Tutorials and Guides
  2. Tutorials
  3. Odds and predictions
  4. Predictions

Probabilities

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) are all available here, produced with our machine learning techniques and models.

Not all fixtures contain sufficient data for reliable predictions. To determine if a fixture is suitable for prediction, use the metadata include to check its "predictable" status.

An overview of all the options to request predictions:

  • 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.

For all the predictions endpoints the base URL is the same:

https://api.sportmonks.com/v3/football/predictions

Per endpoint the rest of the URL requires additional information. We will explain this per endpoint.

Please note that you need to have the Predictions add-on in your subscription. The below examples are made with an Enterprise Plan with Predictions.

Requesting probabilities

GET Probabilities as include

One of the most important endpoints you can receive predictions from is the fixtures and livescores endpoints. The predictions are available as an include. The other possibilities listed in this tutorial are only available via the predictions endpoint. While this might be interesting, we understand that using predictions as an add-on is even more flexible. For example, you can use the predictions include on the fixture by date endpoint:

https://api.sportmonks.com/v3/football/fixtures/between/2022-12-09/2022-12-10?api_token=YOUR_TOKEN&filters=fixtureLeagues:732&include=predictions;participants
Response
{
  "data": [
    {
      "id": 18452329,
      "sport_id": 1,
      "league_id": 732,
      "season_id": 18017,
      "stage_id": 77452384,
      "group_id": null,
      "aggregate_id": null,
      "round_id": null,
      "state_id": 8,
      "venue_id": 338812,
      "name": "Croatia vs Brazil",
      "starting_at": "2022-12-09 15:00:00",
      "result_info": "Croatia won after penalties.",
      "leg": "1/1",
      "details": null,
      "length": 90,
      "placeholder": false,
      "has_odds": true,
      "starting_at_timestamp": 1670598000,
      "participants": [
        {
          "id": 18704,
          "sport_id": 1,
          "country_id": 5,
          "venue_id": 392,
          "gender": "male",
          "name": "Brazil",
          "short_code": "BRA",
          "image_path": "https://cdn.sportmonks.com/images/soccer/teams/16/18704.png",
          "founded": 1914,
          "type": "national",
          "placeholder": false,
          "last_played_at": "2023-06-20 19:00:00",
          "meta": {
            "location": "away",
            "winner": false,
            "position": 1
          }
        },
        {
          "id": 18588,
          "sport_id": 1,
          "country_id": 266,
          "venue_id": 176,
          "gender": "male",
          "name": "Croatia",
          "short_code": "CRO",
          "image_path": "https://cdn.sportmonks.com/images/soccer/teams/28/18588.png",
          "founded": 1912,
          "type": "national",
          "placeholder": false,
          "last_played_at": "2023-06-18 18:45:00",
          "meta": {
            "location": "home",
            "winner": true,
            "position": 2
          }
        }
      ],
      "predictions": [
        {
          "id": 3297856,
          "fixture_id": 18452329,
          "predictions": {
            "yes": 52.75,
            "no": 47.25
          },
          "type_id": 235
        },
        {
          "id": 3297853,
          "fixture_id": 18452329,
          "predictions": {
            "home": 25.2,
            "away": 50.5,
            "draw": 24.3
          },
          "type_id": 237
        },
        {
          "id": 3297857,
          "fixture_id": 18452329,
          "predictions": {
            "yes": 31,
            "no": 69
          },
          "type_id": 236
        },
        {
          "id": 3297860,
          "fixture_id": 18452329,
          "predictions": {
            "yes": 78.96,
            "no": 21.04
          },
          "type_id": 333
        },
        {
          "id": 3297859,
          "fixture_id": 18452329,
          "predictions": {
            "yes": 60.74,
            "no": 39.26
          },
          "type_id": 334
        },
        {
          "id": 3297862,
          "fixture_id": 18452329,
          "predictions": {
            "yes": 48.7,
            "no": 51.3
          },
          "type_id": 332
        },
        {
          "id": 3297858,
          "fixture_id": 18452329,
          "predictions": {
            "scores": {
              "0-0": 6.44,
              "0-1": 10.44,
              "0-2": 8.56,
              "0-3": 4.74,
              "1-0": 6.83,
              "1-1": 11.25,
              "1-2": 9.39,
              "1-3": 5.28,
              "2-0": 3.71,
              "2-1": 6.22,
              "2-2": 5.28,
              "2-3": 3.02,
              "3-0": 1.38,
              "3-1": 2.35,
              "3-2": 2.02,
              "3-3": 1.18,
              "Other_1": 2.67,
              "Other_2": 9.06,
              "Other_X": 0.17
            }
          },
          "type_id": 240
        },
        
// And more

GET All Probabilities

https://api.sportmonks.com/v3/football/predictions/probabilities?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 2931809,
      "fixture_id": 18117749,
      "predictions": {
        "yes": 55.602,
        "no": 44.399
      },
      "type_id": 235
    },
    {
      "id": 2931810,
      "fixture_id": 18117749,
      "predictions": {
        "yes": 33.23,
        "no": 66.771
      },
      "type_id": 236
    },
    {
      "id": 2931811,
      "fixture_id": 18117749,
      "predictions": {
        "yes": 75.773,
        "no": 24.228
      },
      "type_id": 334
    },
    // and more

Let’s evaluate the response:

  • id: refers to the id of the probability

  • fixture_id: refers to the fixture related to the prediction

  • predictions: the data object with prediction values

  • type_id: refers to the type of the prediction

GET Probabilities by Fixture ID

Not interested in all the probabilities? Just looking for the probabilities of a single fixture? Fear not. You can use the probabilities by fixture id endpoint. Add the fixture id you’re interested in:

https://api.sportmonks.com/v3/football/predictions/probabilities/fixtures/{fixture_id}

For example, if you’re interested in the probabilities for Dundee vs Celtic (fixture id: 18136955).

https://api.sportmonks.com/v3/football/predictions/probabilities/fixtures/18136955?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 130437,
      "fixture_id": 18136955,
      "predictions": {
        "home": 17.122,
        "away": 59.864,
        "draw": 23.014
      },
      "type_id": 237
    },
    {
      "id": 130438,
      "fixture_id": 18136955,
      "predictions": {
        "yes": 57.887,
        "no": 42.113
      },
      "type_id": 231
    },
    {
      "id": 130439,
      "fixture_id": 18136955,
      "predictions": {
        "home_home": 7.466,
        "home_away": 2.83,
        "home_draw": 4.265,
        "away_home": 1.54,
        "away_away": 42.96,
        "away_draw": 5.093,
        "draw_draw": 11.702,
        "draw_home": 7.561,
        "draw_away": 16.581
      },
      "type_id": 232
    },

GET Performance by League ID

The Leagues & performances endpoint will give you information about the performance of our prediction per league. Every league has a performance rating.

You can request the performance of the leagues by using the following URL:

https://api.sportmonks.com/v3/football/predictions/predictability/leagues/{league_id}

For example the performance of the Scottish Premiership (league id 501):

https://api.sportmonks.com/v3/football/predictions/predictability/leagues/501?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 134,
      "league_id": 501,
      "type_id": 244,
      "data": {
        "fulltime_result": "unchanged",
        "away_over_under_0_5": null,
        "away_over_under_1_5": null,
        "both_teams_to_score": "unchanged",
        "team_to_score_first": "unchanged",
        "home_over_under_0_5": null,
        "home_over_under_1_5": null,
        "over_under_1_5": "unchanged",
        "over_under_2_5": "unchanged",
        "over_under_3_5": "up",
        "correct_score": "unchanged",
        "ht_ft": "up",
        "fulltime_result_1st_half": "up"
      }
    },
    {
      "id": 133,
      "league_id": 501,
      "type_id": 243,
      "data": {
        "fulltime_result": "high",
        "away_over_under_0_5": null,
        "away_over_under_1_5": null,
        "both_teams_to_score": "poor",
        "team_to_score_first": "high",
        "home_over_under_0_5": null,
        "home_over_under_1_5": null,
        "over_under_1_5": "medium",
        "over_under_2_5": "poor",
        "over_under_3_5": "poor",
        "correct_score": "high",
        "ht_ft": "high",
        "fulltime_result_1st_half": "high"
      }
    },
    //And more

The league predictability consists of four elements.

  1. Hit Ratio Let's take a look at one example. We can see here that for the Scottish Premiership (league id: 501), the ‘hit ratio’ is 0.54 for the 3-way result (1, X, 2) market. The hit ratio is the number of times the model predicted the particular market correctly the last 100 matches of the league. The closer to 1,00, the better it is. You can track and see the real-time predictability performance for all prediction markets per league.

  2. Log Loss This is the average log loss over the last 100 matches of the league. It measures the quality of the probabilities. The closer the number is to 0, the better it is. The quality is considered poor, medium, good or high based on the log loss. Poor is < -1.07 Medium is > -1.07 Good is > -1.02 High is > -.98

  3. Predictability Not everybody is comfortable with numbers. This will tell you straight away in words, whether the predictability of the league is good or bad.

  4. Predictive power This tells you whether the log loss has been increasing or not in the last 50 matches. Possible outcomes are up, down, or unchanged. If the predictive power is up, then the league becomes more predictable.

Adding useful information

  • type: includes the prediction’s type.

  • fixture: includes the fixture information.

  • league: includes the league information.

For example, if you’re interested in the probabilities for Dundee vs Celtic (fixture id: 18136955) with the type and fixture info.

https://api.sportmonks.com/v3/football/predictions/probabilities/fixtures/18136955?api_token={your_token}&include=type;fixture
Response

  "data": [
    {
      "id": 130437,
      "fixture_id": 18136955,
      "predictions": {
        "home": 17.122,
        "away": 59.864,
        "draw": 23.014
      },
      "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
      },
      "fixture": {
        "id": 18136955,
        "sport_id": 1,
        "league_id": 501,
        "season_id": 18369,
        "stage_id": 77453684,
        "group_id": null,
        "aggregate_id": null,
        "round_id": 247443,
        "state_id": 5,
        "venue_id": 284597,
        "name": "Dundee vs Celtic",
        "starting_at": "2021-11-07 12:00:00",
        "result_info": "Celtic won after full-time.",
        "leg": "1/1",
        "details": null,
        "length": 90,
        "placeholder": false,
        "last_processed_at": "2023-03-02 17:54:33",
        "has_odds": true,
        "starting_at_timestamp": 1636286400
      }
    },
    //And more

Selecting and filtering

You’re interested in the probabilities for Dundee vs Celtic (fixture id: 18136955) with the type and fixture info. This results in the below request and response:

https://api.sportmonks.com/v3/football/predictions/probabilities/fixtures/18136955?api_token=YOUR_TOKEN&include=type:name;fixture:name
Response
{
  "data": [
    {
      "id": 130437,
      "fixture_id": 18136955,
      "predictions": {
        "home": 17.122,
        "away": 59.864,
        "draw": 23.014
      },
      "type_id": 237,
      "type": {
        "id": 237,
        "name": "Fulltime Result Probability"
      },
      "fixture": {
        "id": 18136955,
        "sport_id": 1,
        "round_id": 247443,
        "stage_id": 77453684,
        "group_id": null,
        "aggregate_id": null,
        "league_id": 501,
        "season_id": 18369,
        "venue_id": 284597,
        "state_id": 5,
        "name": "Dundee vs Celtic",
        "starting_at_timestamp": null
      }
    },
    {
      "id": 130438,
      "fixture_id": 18136955,
      "predictions": {
        "yes": 57.887,
        "no": 42.113
      },
      "type_id": 231,
      "type": {
        "id": 231,
        "name": "Both Teams To Score Probability"
      },
      "fixture": {
        "id": 18136955,
        "sport_id": 1,
        "round_id": 247443,
        "stage_id": 77453684,
        "group_id": null,
        "aggregate_id": null,
        "league_id": 501,
        "season_id": 18369,
        "venue_id": 284597,
        "state_id": 5,
        "name": "Dundee vs Celtic",
        "starting_at_timestamp": null
      }
    },
    //And more
PreviousPredictionsNextValue Bet

Last updated 6 months ago

Was this helpful?

A good starting point is retrieving all the available probabilities within your subscription. To do this, you need to add /probabilities to the base URL of predictions. All you have to do is authorize the request with your API token. Check our for more info.

Our prediction API continuously updates this rating. League predictability is a set of metrics that measures the quality and predictive power of the model. For more information about our model, please refer to our

As you’ve learnt in the you can enrich your request with includes. This section will discuss some of the most common requests used on the prediction endpoints.

First of all, you can find a list of all available includes on the . For the predictions, there are only 3 includes available:

In our you’ve learnt how to select specific fields or filter only on the data you’re interested in. Our API returns a set of data related to the predictions by default. We can imagine you’re not interested in all the data the API returns.

Check our for more tips and tricks.

authentication section
prediction blog.
includes tutorial,
endpoint pages
filtering tutorial
filtering tutorial