Standings

GET https://rugby.highlightly.net/standings Rugby API
GET https://sports.highlightly.net/rugby/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 settle up to an hour after the last relevant match finishes, so a table read immediately 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 Group A and its own ordered table.

groups is a list, and each group carries its own standings list. Render each group as its own table rather than concatenating them.

Alongside groups, the response carries the league the table belongs to, including its season, so a rendered table needs nothing read back from leagues.

What each row carries

A row leads with position, points and the team, then the record behind them in gamesPlayed, wins, draws and loses.

Each row also carries scoredPoints and receivedPoints, separate from the points value.

League standings rendered in a client application

Parameters

Parameter Type Description
leagueIdrequired number No description in the spec.e.g. 69715
seasonrequired number No description in the spec.e.g. 2022

Request

curl --request GET \
  --url 'https://rugby.highlightly.net/standings?leagueId=69715&season=2022' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
  leagueId: '69715',
  season: '2022'
})
const response = await fetch(`https://rugby.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://rugby.highlightly.net/standings',
    params={
        'leagueId': '69715',
        'season': '2022',
    },
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

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

Response

groupsRugbyStandingsGroupsResponse[]required14 fields
namestringrequired
standingsRugbyStandings[]required12 fields
teamRugbyStandingsTeamrequired3 fields
idnumberrequired
logostring
namestringrequired
winsnumberrequired
losesnumberrequired
drawsnumberrequired
positionnumberrequired
pointsnumberrequired
gamesPlayednumberrequired
scoredPointsnumberrequired
receivedPointsnumberrequired
leagueRugbyStandingsLeagueResponserequired4 fields
idnumberrequired
logostring
namestringrequired
seasonnumberrequired

Example response

200 application/json
{
  "groups": [
    {
      "name": "Group A",
      "standings": [
        {
          "team": {
            "id": 361608,
            "logo": "https://example.com/logos/team/361608.png",
            "name": "Germany 7s"
          },
          "wins": 3,
          "loses": 0,
          "draws": 0,
          "position": 1,
          "points": 9,
          "gamesPlayed": 18,
          "scoredPoints": 53,
          "receivedPoints": 10
        }
      ]
    }
  ],
  "league": {
    "id": 69715,
    "logo": "https://example.com/logos/league/69715.png",
    "name": "Sevens Europe Series - Portugal",
    "season": 2022
  }
}

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.