Leagues

GET https://basketball.highlightly.net/leagues Basketball API
GET https://sports.highlightly.net/basketball/leagues All Sports API

Retrieve a list of leagues.

Refresh interval
Multiple times a day
Pagination
limit and offset, 100 per page

Use the leagueName query parameter to check whether a specific league is covered, or to fetch just its record. Narrow further with countryCode or countryName, both of which come from countries.

limit sets how many leagues come back. When the number of matching leagues exceeds it, request the next page by increasing offset. See Pagination and limits.

Seasons

Each league carries a seasons list. The league information and its seasons can be used to request data from other endpoints such as standings, which requires a leagueId and a season together.

Each entry in seasons holds a numeric season, such as 2023. The same value filters matches and highlights.

Parameters

Parameter Type Description
limitoptional numberdefault 100 No description in the spec.e.g. 100
offsetoptional numberdefault 0 No description in the spec.e.g. 0
seasonoptional number No description in the spec.e.g. 2023
leagueNameoptional string No description in the spec.e.g. NBL
countryCodeoptional string Country code specified by the ISO 3166 standard.e.g. AU
countryNameoptional string No description in the spec.e.g. Australia

Request

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

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

Response

dataBasketballLeagueResponse[]required9 fields
idnumberrequired
logostring
namestringrequired
countryBasketballCountryResponserequired3 fields
codestringrequiredCountry code specified by the ISO 3166 standard.
namestringrequired
logostringrequired
seasonsBasketballSeasonResponse[]required1 field
seasonnumberrequired
paginationPaginationResponserequired3 fields
totalCountnumberrequiredAvailable number of items, relevant to the provided query.
offsetnumberrequired
limitnumberrequired
planPlanResponserequired2 fields
tierstringrequiredYour current API subscription tier.
messagestringrequiredExplanation message regarding your current tier.

Example response

200 application/json
{
  "data": [
    {
      "id": 1635,
      "logo": "https://example.com/logos/league/1635.png",
      "name": "NBL",
      "country": {
        "code": "AU",
        "name": "Australia",
        "logo": "https://example.com/logos/country/AU.png"
      },
      "seasons": [
        {
          "season": 2023
        }
      ]
    }
  ],
  "pagination": {
    "totalCount": 490,
    "offset": 20,
    "limit": 100
  },
  "plan": {
    "tier": "BASIC",
    "message": "Some results might be hidden with FREE tier. Check your API coverage for more information: https://rapidapi.com/highlightly-api-highlightly-api-default/api/sport-highlights-api/details"
  }
}

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.