⚽
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 standings
  • GET All Standings
  • GET Standings by Season ID
  • GET Standings by Round ID
  • GET Standings by Corrections by Season ID
  • GET Live Standings by League ID
  • Adding useful information
  • Selecting and filtering

Was this helpful?

  1. Tutorials and Guides
  2. Tutorials
  3. Standings

Season standings

Standings, also known as rankings, show the positions of the teams competing in a season. Standings show the total number of games played, won, and lost, the number of goals for and against and the number of points they have accumulated.

Keep track of the season performances of your favourite teams. The standings endpoint is used to retrieve full league standing tables.

The response of the standings endpoint can be returned in two formats depending on the league setup. For ‘normal’ leagues, the response format differs from cups.

You can choose a variety of endpoints to retrieve the season standings.

This section will briefly discuss all the options available to request season standings.

An overview of all available options:

  • GET All Standings: returns all the standings available within your subscription.

  • GET Standing by Season ID: returns the full league standing table from your requested season id.

  • GET Standings by Round ID: returns the full league standing table from your requested round id.

  • GET Standing Correction by Season ID: returns the standing corrections from your requested season id.

  • Get Live Standings by League ID: returns the LIVE league standing table from your requested league id.

For all the season standings endpoints the base URL is the same:

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

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

Requesting standings

GET All Standings

https://api.sportmonks.com/v3/football/standings?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 2621,
      "participant_id": 273,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 275092,
      "standing_rule_id": 13219,
      "position": 6,
      "result": "up",
      "points": 35
    },
    {
      "id": 2622,
      "participant_id": 53,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 275092,
      "standing_rule_id": 13224,
      "position": 1,
      "result": "equal",
      "points": 73
    },
    {
      "id": 2623,
      "participant_id": 282,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 275092,
      "standing_rule_id": 13225,
      "position": 12,
      "result": "equal",
      "points": 20
    },
    //and more

In the response, you will see the unique id of the standing, the participant, sport, league and season. And also, if applicable, the stage, group and round id related to the standing. Furthermore, you will see the position, result (indicated if the participant went up or down in the standings table), form and the number of points.

Interested in adding extra information to the response? Check our adding useful information section

GET Standings by Season ID

This section will show you how to request standings for the Danish Superliga season 2022/2023 (season id: 19686). You will need to add the season_id parameters to your request.

https://api.sportmonks.com/v3/football/standings/seasons/{season_id}

This will result in the following request:

https://api.sportmonks.com/v3/football/standings/seasons/19686?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 10218,
      "participant_id": 2394,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274249,
      "standing_rule_id": 12887,
      "position": 1,
      "result": "equal",
      "points": 39
    },
    {
      "id": 10221,
      "participant_id": 2447,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274249,
      "standing_rule_id": 12886,
      "position": 2,
      "result": "equal",
      "points": 35
    },

As you can see, the response is an overview of complete league standings, but what if you’re interested in the standings in a specific round?

GET Standings by Round ID

https://api.sportmonks.com/v3/football/standings/rounds/{round_id}

For example, if you’re interested in the standings from round 11 (round id: 274241) in the Danish Superliga:

https://api.sportmonks.com/v3/football/standings/rounds/274241?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 142108,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274241,
      "participant_id": 2394,
      "standing_rule_id": 12887,
      "position": 1,
      "points": 23,
      "result": "up"
    },
    {
      "id": 142107,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274241,
      "participant_id": 2356,
      "standing_rule_id": 12886,
      "position": 2,
      "points": 22,
      "result": "down"
    },
    {
      "id": 142109,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274241,
      "participant_id": 2447,
      "standing_rule_id": 12885,
      "position": 3,
      "points": 20,
      "result": "equal"
    },
 //And more!   

GET Standings by Corrections by Season ID

https://api.sportmonks.com/v3/football/standings/corrections/seasons/{season_id}

For this example only, we’re going to use a different season id than from the free plan. This is to give you an understanding of the API’s response. We’re using the season id of the French Ligue 1 2021/2022 season.

https://api.sportmonks.com/v3/football/standings/corrections/seasons/18441?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 10218,
      "participant_id": 2394,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274244,
      "standing_rule_id": 12887,
      "position": 1,
      "result": "equal",
      "form": "WLWDWWDWDWWLDW",
      "points": 28
    },
    {
      "id": 10221,
      "participant_id": 2447,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274244,
      "standing_rule_id": 12886,
      "position": 2,
      "result": "up",
      "form": "DDLWLWDWWWDWWL",
      "points": 25
    },
 //And more!   

GET Live Standings by League ID

Next to historical standings per round, you can obtain live standings. The GET Live Standings by League ID returns the LIVE league standing table from your requested league ID. To retrieve this, you will have to add the following info to the base URL of standings:

https://api.sportmonks.com/v3/football/standings/live/league/{league_id}

Please note that in this instance, you need to parse a league id. This is because you can only obtain LIVE standings for active seasons.

For example your request for the Scottish Premiership (league id 501) will be:

https://api.sportmonks.com/v3/football/standings/live/leagues/501?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 6569,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 274730,
      "participant_id": 53,
      "standing_rule_id": 13224,
      "position": 1,
      "points": 73,
      "result": "equal"
    },
    {
      "id": 6579,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 274730,
      "participant_id": 62,
      "standing_rule_id": 13223,
      "position": 2,
      "points": 64,
      "result": "equal"
    },
    {
      "id": 6571,
      "sport_id": 1,
      "league_id": 501,
      "season_id": 19735,
      "stage_id": 77457866,
      "group_id": null,
      "round_id": 274730,
      "participant_id": 314,
      "standing_rule_id": 13222,
      "position": 3,
      "points": 42,
      "result": "equal"
    },
    
    //And more

Adding useful information

Now, you might have noticed that the API returns only the necessary information. But what if you’re interested in league and team names? Or if you’re interested in more details? You can use certain includes for this.

https://api.sportmonks.com/v3/football/standings/seasons/19686?api_token=YOUR_TOKEN

Now, you can add the participant, league and details.type include for more info:

https://api.sportmonks.com/v3/football/standings/seasons/19686?api_token=YOUR_TOKEN&include=participant;league;details.type
Response
{
  "data": [
    {
      "id": 10218,
      "participant_id": 2394,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274249,
      "standing_rule_id": 12887,
      "position": 1,
      "result": "equal",
      "points": 39,
      "participant": {
        "id": 2394,
        "sport_id": 1,
        "country_id": 320,
        "venue_id": 1436,
        "gender": "male",
        "name": "Nordsjælland",
        "short_code": "FCN",
        "image_path": "https://cdn.sportmonks.com/images/soccer/teams/26/2394.png",
        "founded": 2003,
        "type": "domestic",
        "placeholder": false,
        "last_played_at": "2023-02-28 17:30:00"
      },
      "league": {
        "id": 271,
        "sport_id": 1,
        "country_id": 320,
        "name": "Superliga",
        "active": true,
        "short_code": "DNK SL",
        "image_path": "https://cdn.sportmonks.com/images/soccer/leagues/271.png",
        "type": "league",
        "sub_type": "domestic",
        "last_played_at": "2023-02-27 18:00:00",
        "has_jerseys": false
      },
      "details": [
        {
          "id": 15123082,
          "standing_type": "standing",
          "standing_id": 10218,
          "type_id": 129,
          "value": 19,
          "type": {
            "id": 129,
            "name": "Overall Matched Played",
            "code": "overall-matches-played",
            "developer_name": "OVERALL_MATCHES",
            "model_type": "standings",
            "stat_group": null
          }
        },
        //And more

Including .type is not recommended as an include 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 is available or when testing the API.

Selecting and filtering

Let’s continue with the previous example. You now have included team information in the response, but you’re only interested in the team, league and standings type names. You can select those names via the select option:

https://api.sportmonks.com/v3/football/standings/seasons/19686?api_token=YOUR_TOKEN&include=participant:name;league:name;details.type:name
Response
{
  "data": [
    {
      "id": 10218,
      "participant_id": 2394,
      "sport_id": 1,
      "league_id": 271,
      "season_id": 19686,
      "stage_id": 77457696,
      "group_id": null,
      "round_id": 274249,
      "standing_rule_id": 12887,
      "position": 1,
      "result": "equal",
      "points": 39,
      "participant": {
        "id": 2394,
        "sport_id": 1,
        "country_id": 320,
        "venue_id": 1436,
        "name": "Nordsjælland"
      },
      "league": {
        "id": 271,
        "sport_id": 1,
        "country_id": 320,
        "name": "Superliga"
      },
      "details": [
        {
          "id": 15123082,
          "standing_type": "standing",
          "standing_id": 10218,
          "type_id": 129,
          "value": 19,
          "type": {
            "id": 129,
            "name": "Overall Matched Played"
          }
        },
        {
          "id": 15123083,
          "standing_type": "standing",
          "standing_id": 10218,
          "type_id": 130,
          "value": 11,
          "type": {
            "id": 130,
            "name": "Overall Won"
          }
        },
        //And more
PreviousStandingsNextTopscorer standings

Last updated 2 years ago

Was this helpful?

The first option is to request all the standings available in your subscription. The URL to retrieve all your standings is the same as the base URL for standings. All you have to do is authorize the request with your API token. Check our for more info.

The is the most commonly used endpoint to return the full league standing table from your requested season id. So, how do you request all of this data yourself? We’re going to show you how!

The is perfect for displaying the leagues' standings in a particular round. It’s great to show historical data or to make analyses based on historical standings. You will need to add the round_id parameters to your request.

You can request all rounds from a season via the

Sometimes, a team gets a disciplinary sanction that results in a point deduction. The is designed to return the standing corrections from your requested season id. To retrieve this, you will have to add the following info to the base URL of standings:

Check the for a complete overview of the available includes.

Let’s say you want the standings of the Danish Superliga 2022/2023 season, but this time with the team and league information and the standing details. As you’ve learnt in the section, your request is:

Check our for more information.

authentication section
GET Standings by Season ID
GET Standings by Round ID
Rounds by Season ID endpoint
GET Standings Correction by Season ID endpoint
endpoint page
selecting and filtering tutorial
GET Standings by Season ID