Standings

GET https://soccer.highlightly.net/standings Football API
GET https://sports.highlightly.net/football/standings All Sports API

Retrieve standings for a specific league, conference or division.

Refresh interval
Up to an hour after a match for the associated league and season is finished
Pagination
Not paginated

Standings refresh up to an hour after a match for the associated league and season is finished, so a table read at full time may not yet reflect that result. Pair this with matches if you need the score before the table catches up.

Groups

Standings come back as groups, each with a name such as Premier League - Regular Season and its own standings array. Render each group as its own table.

Home, away and total

Each row always carries position, points, the team and a total record, and may also carry home and away records with the same statistics. Each record holds games, wins, draws, loses, scoredGoals and receivedGoals.

The usual league table is the total record, and home and away give the breakdown behind it where present.

League standings rendered in a client application

Parameters

Parameter Type Description
leagueIdrequired number No description in the spec.e.g. 33973
seasonrequired number No description in the spec.e.g. 2023

Request

curl --request GET \
  --url 'https://soccer.highlightly.net/standings?leagueId=33973&season=2023' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
  leagueId: '33973',
  season: '2023'
})
const response = await fetch(`https://soccer.highlightly.net/standings?${params}`, {
  headers: {
    'x-rapidapi-key': process.env.HIGHLIGHTLY_API_KEY
  }
})

if (!response.ok) {
  throw new Error(`Highlightly responded ${response.status}`)
}

const data = await response.json()
import os
import requests

response = requests.get(
    'https://soccer.highlightly.net/standings',
    params={
        'leagueId': '33973',
        'season': '2023',
    },
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

response.raise_for_status()
data = response.json()

Response

groupsStandingsGroupsResponse[]required29 fields
namestringrequired
standingsStandings[]required27 fields
awayStandingsStats6 fields
winsnumberrequired
drawsnumberrequired
gamesnumberrequired
losesnumberrequired
scoredGoalsnumberrequired
receivedGoalsnumberrequired
homeStandingsStats6 fields
winsnumberrequired
drawsnumberrequired
gamesnumberrequired
losesnumberrequired
scoredGoalsnumberrequired
receivedGoalsnumberrequired
teamStandingsTeamrequired3 fields
idnumberrequired
logostring
namestringrequired
totalStandingsStatsrequired6 fields
winsnumberrequired
drawsnumberrequired
gamesnumberrequired
losesnumberrequired
scoredGoalsnumberrequired
receivedGoalsnumberrequired
pointsnumberrequired
positionnumberrequired
leagueStandingsLeagueResponserequired4 fields
idnumberrequired
logostring
namestringrequired
seasonnumberrequired

Example response

200 application/json
{
  "groups": [
    {
      "name": "Premier League - Regular Season",
      "standings": [
        {
          "away": {
            "wins": 11,
            "draws": 4,
            "games": 17,
            "loses": 5,
            "scoredGoals": 28,
            "receivedGoals": 27
          },
          "home": {
            "wins": 11,
            "draws": 4,
            "games": 17,
            "loses": 5,
            "scoredGoals": 28,
            "receivedGoals": 27
          },
          "team": {
            "id": 56950,
            "logo": "https://example.com/logos/team/56950.png",
            "name": "Aston Villa"
          },
          "total": {
            "wins": 11,
            "draws": 4,
            "games": 17,
            "loses": 5,
            "scoredGoals": 28,
            "receivedGoals": 27
          },
          "points": 63,
          "position": 4
        }
      ]
    }
  ],
  "league": {
    "id": 33973,
    "logo": "https://example.com/logos/league/33973.png",
    "name": "Premier League",
    "season": 2023
  }
}

Values are the examples declared in the OpenAPI spec, not a captured live response.

Errors

Status Description
400 Bad request descriptive error.
500 Internal server error.