Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Seasonal and Outright Probabilities

This integration scenario works at season scope: probabilities for every event in a season, and outright probabilities for how the season ends (division winners, playoff qualification), using the Competition Seasons, Seasonal Probabilities, and Seasonal Outright Probabilities feeds.

This scenario is commonly used to:

  • Publish playoff-odds and division-race tables that update daily
  • Show title likelihood next to standings
  • Batch-load probabilities for a season's remaining schedule
  • Preview an upcoming season as soon as it appears


Relevant Feeds

FeedPurpose
Sport CompetitionsCompetition IDs and current_season_id
Competition SeasonsThe seasons available for a competition
Seasonal ProbabilitiesEvent probabilities across the season (paginated)
Seasonal Outright ProbabilitiesDivision, playoff, and title probabilities per competitor


Integration Steps


1. Resolve the Season

Sport Competitions already carries each competition's current_season_id (see Probabilities API Basics); Competition Seasons lists the seasons explicitly:

GET https://api.sportradar.com/probabilities/trial/v1/en/competitions/sr:competition:109/seasons.json
x-api-key: YOUR_API_KEY
{
  "generated_at": "2026-07-20T16:33:48+00:00",
  "seasons": [
    {
      "id": "sr:season:134469",
      "name": "MLB 2026",
      "start_date": "2026-03-25",
      "end_date": "2026-11-01",
      "year": "2026",
      "competition_id": "sr:competition:109"
    }
  ]
}
{
  "generated_at": "2026-07-20T16:33:59+00:00",
  "seasons": [
    {
      "id": "sr:season:140756",
      "name": "Premier League 26/27",
      "start_date": "2026-08-21",
      "end_date": "2027-05-30",
      "year": "26/27",
      "competition_id": "sr:competition:17"
    }
  ]
}

Both responses are complete. In July 2026 the Premier League response already lists the 26/27 season a month before its start date: upcoming seasons appear here ahead of play.


2. Pull Season-Wide Event Probabilities

Seasonal Probabilities returns sport_event_probabilities entries in the same shape as the daily schedule feed, for the whole season, paginated at up to 200 entries (start, limit; read X-Max-Results). Trimmed to one entry:

GET https://api.sportradar.com/probabilities/trial/v1/en/seasons/sr:season:134469/probabilities.json
x-api-key: YOUR_API_KEY
{
  "generated_at": "2026-07-20T16:33:55+00:00",
  "sport_event_probabilities": [
    {
      "sport_event": {
        "id": "sr:sport_event:63290531",
        "start_time": "2026-03-26T00:05:00+00:00",
        "start_time_confirmed": true,
        "sport_event_context": {
          "sport": {
            "id": "sr:sport:3",
            "name": "Baseball"
          },
          "category": {
            "id": "sr:category:16",
            "name": "USA",
            "country_code": "USA"
          },
          "competition": {
            "id": "sr:competition:109",
            "name": "MLB",
            "gender": "men"
          },
          "season": {
            "id": "sr:season:134469",
            "name": "MLB 2026",
            "start_date": "2026-03-25",
            "end_date": "2026-11-01",
            "year": "2026",
            "competition_id": "sr:competition:109"
          },
          "stage": {
            "order": 1,
            "type": "league",
            "phase": "regular season",
            "start_date": "2026-03-25",
            "end_date": "2026-09-28",
            "year": "2026"
          },
          "round": {
            "number": 1
          },
          "groups": [
            {
              "id": "sr:league:99737",
              "name": "MLB 2026"
            },
            {
              "id": "sr:league:99739",
              "name": "MLB 2026, American League",
              "group_name": "American League"
            },
            {
              "id": "sr:league:99743",
              "name": "MLB 2026, American League East",
              "group_name": "American League East"
            },
            {
              "id": "sr:league:99747",
              "name": "MLB 2026, National League",
              "group_name": "National League"
            },
            {
              "id": "sr:league:99753",
              "name": "MLB 2026, National League West",
              "group_name": "National League West"
            }
          ]
        },
        "competitors": [
          {
            "id": "sr:competitor:3634",
            "name": "San Francisco Giants",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "SF",
            "qualifier": "home"
          },
          {
            "id": "sr:competitor:3654",
            "name": "New York Yankees",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "NYY",
            "qualifier": "away"
          }
        ],
        "venue": {
          "id": "sr:venue:8077",
          "name": "Oracle Park",
          "capacity": 41915,
          "city_name": "San Francisco, CA",
          "city_id": "sr:city:5081",
          "country_name": "USA",
          "map_coordinates": "37.7784199, -122.3906212",
          "country_code": "USA",
          "timezone": "America/Los_Angeles"
        }
      },
      "sport_event_status": {
        "status": "ended",
        "match_status": "ended",
        "away_score": 7,
        "balls": 0,
        "bases": "0,0,1",
        "home_score": 0,
        "live": true,
        "outs": 3,
        "strikes": 0
      },
      "markets": [
        {
          "name": "2way",
          "outcomes": [
            {
              "name": "home_team_winner",
              "probability": 0
            },
            {
              "name": "away_team_winner",
              "probability": 100
            }
          ],
          "last_updated": "2026-03-26T00:04:47+00:00"
        },
        {
          "name": "2way",
          "outcomes": [
            {
              "name": "home_team_winner",
              "probability": 0
            },
            {
              "name": "away_team_winner",
              "probability": 100
            }
          ],
          "live": true,
          "last_updated": "2026-07-20T16:33:54+00:00"
        }
      ]
    }
  ]
}

Each event lists its market twice: the first entry is the pre-match probability and the second is the live probability, which carries live: true once play begins. Before the start the live entry reads 0 and 0, and once the game is decided both entries show the result (100 against 0). The same feed's entry for a game a few hours before first pitch, trimmed to the event, its status, and its markets:

{
  "sport_event": {
    "id": "sr:sport_event:63299579",
    "start_time": "2026-04-29T22:10:00+00:00"
  },
  "sport_event_status": {
    "status": "not_started",
    "match_status": "not_started",
    "live": true
  },
  "markets": [
    {
      "name": "2way",
      "outcomes": [
        {
          "name": "home_team_winner",
          "probability": 58.2
        },
        {
          "name": "away_team_winner",
          "probability": 41.8
        }
      ],
      "last_updated": "2026-04-29T21:40:02+00:00"
    },
    {
      "name": "2way",
      "outcomes": [
        {
          "name": "home_team_winner",
          "probability": 0
        },
        {
          "name": "away_team_winner",
          "probability": 0
        }
      ],
      "last_updated": "2026-04-29T21:46:49+00:00"
    }
  ]
}

3. Pull the Season Outlook

Seasonal Outright Probabilities returns one market per outright question. The MLB 2026 response carries 85 markets: each division's winner market plus a per-team "To Reach the Playoffs" market. Trimmed to the National League West winner market's first three outcomes:

GET https://api.sportradar.com/probabilities/trial/v1/en/seasons/sr:season:134469/outright_probabilities.json
x-api-key: YOUR_API_KEY
{
  "generated_at": "2026-07-20T16:33:51+00:00",
  "markets": [
    {
      "name": "MLB 2026 - National League West - Winner",
      "outcomes": [
        {
          "name": "LOS ANGELES DODGERS",
          "probability": 99.3,
          "competitor": {
            "id": "sr:competitor:3638",
            "name": "Los Angeles Dodgers",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "LAD",
            "gender": "male"
          },
          "active": true
        },
        {
          "name": "SAN DIEGO PADRES",
          "probability": 0.3,
          "competitor": {
            "id": "sr:competitor:3636",
            "name": "San Diego Padres",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "SD",
            "gender": "male"
          },
          "active": true
        },
        {
          "name": "ARIZONA DIAMONDBACKS",
          "probability": 0.3,
          "competitor": {
            "id": "sr:competitor:3640",
            "name": "Arizona Diamondbacks",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "AZ",
            "gender": "male"
          },
          "active": true
        }
      ],
      "last_updated": "2026-07-20T04:57:42+00:00"
    }
  ]
}

Reading it:

  • Each outcome carries a full competitor object and a probability; within a market the probabilities sum to 100
  • active: true marks outcomes still alive in the race
  • Each market carries its own last_updated timestamp
  • Per-team markets (such as "To Reach the Playoffs") are two-outcome markets for that team

Rendered, the same three values make the state of the race obvious:

MLB 2026: National League West WinnerProbabilities from the outright feed
Los Angeles Dodgers
99.3%
San Diego Padres
0.3%
Arizona Diamondbacks
0.3%
The three outcomes from the trimmed snippet above, as of 2026-07-20; bars below 1.5 percent are drawn at minimum width so they stay visible.

4. Refresh Strategy

Outright and seasonal probabilities move with results, not by the second. A daily pull (or a pull after each completed game day) keeps season tables current; the cache TTL on the outright feed is 60 seconds, and the full chart is on Update Frequencies. While games are in play, the outright markets tied to those games are removed from Seasonal Outright Probabilities and return once they end, so the list shrinks during a busy slate (from 44 markets to 7 across one MLB postseason evening) and can be empty when enough games overlap; schedule pulls outside game windows and treat a short or empty list during play as temporary rather than as removed markets. For in-play movement, work at event scope with Tracking Win Probabilities.



Common Use Cases

  • Playoff odds table: step 3 daily, rendering the per-team playoff markets
  • Division race tracker: the division winner markets against live standings
  • Season preview: step 1 to catch a new season the moment it lists, then step 3 for the opening outlook

Did this page help you?