Matches
Retrieve a list of matches.
- Refresh interval
- Once a minute
- Pagination
- limit and offset
- Detail
- General information only
Querying
At least one primary query parameter must be specified before you can retrieve data.
timezone, limit and offset are secondary and do
not count on their own.
Combine timezone with date to get matches relevant to your own
location rather than UTC.
Teams can be filtered by id through homeTeamId and awayTeamId,
or by name through homeTeamName and awayTeamName. Country and
league filters narrow the same list further.
limit sets how many matches come back. When the number of matching games
exceeds it, request the next page by increasing offset. See
Pagination and limits.
The score, quarter by quarter
Every match carries a state, and that object is where the live detail sits.
It holds the state description, the clock within the current
period, and the score.
The score is not a single number. current is the running total including
overtime, and q1 through q4 carry each quarter on its own,
with overTime
when the game went past regulation. Every one of them is a string in the
105 - 104 home and away form rather than a pair of numbers.
That means one call to this endpoint gives you a full scoreboard with the quarter breakdown, without touching the detail route.
Match states
| State | Meaning |
|---|---|
Not started |
Match has not been started yet. |
First quarter |
In play, in the first period. |
Second quarter |
In play, in the second period. |
Third quarter |
In play, in the third period. |
Fourth quarter |
In play, in the fourth period. |
Over time |
Level after normal time. Extra time decides the winner. |
Break time |
Regulation period between quarters or over time. |
Half time |
Half time pause between the second and third quarter. |
Finished |
Match has been concluded. |
Finished after over time |
Match has been concluded in overtime. |
Postponed |
Prevented from being played. The start time moves to a future moment. |
Cancelled |
Game will not be played. |
Suspended |
Was in play and was halted. Will resume from the exact point it stopped. |
Awarded |
Given to one team when the other forfeits, or after circumstances such as insufficient players, late arrival or a withdrawal. |
Abandoned |
Ended prematurely by the officials. It might be resumed later from the exact point it stopped. |
Unknown |
Unknown coverage or state. |
To be announced |
Start time is still to be set, or the competing teams are not yet known. |
Parameters
| Parameter | Type | Description |
|---|---|---|
leagueNameoptional
|
string |
No description in the spec.e.g. NBL
|
leagueIdoptional |
number |
No description in the spec.e.g. 1635
|
dateoptional |
string |
Date that follows the YYYY-MM-DD format.e.g. 2023-10-01
|
timezoneoptional |
stringdefault Etc/UTC
|
Valid timezone identifier.e.g. Europe/London
|
seasonoptional |
number |
No description in the spec.e.g. 2023
|
homeTeamIdoptional
|
number |
No description in the spec.e.g. 7592
|
awayTeamIdoptional
|
number |
No description in the spec.e.g. 1635
|
homeTeamNameoptional
|
string |
No description in the spec.e.g. Adelaide
|
awayTeamNameoptional
|
string |
No description in the spec.e.g. Melbourne United
|
countryCodeoptional
|
string |
No description in the spec.e.g. AU
|
countryNameoptional
|
string |
No description in the spec.e.g. Australia
|
limitoptional |
numberdefault 100
|
No description in the spec.e.g. 100
|
offsetoptional |
numberdefault 0
|
No description in the spec.e.g. 0
|
Request
curl --request GET \
--url 'https://basketball.highlightly.net/matches?leagueName=NBL&leagueId=1635' \
--header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
leagueName: 'NBL',
leagueId: '1635'
})
const response = await fetch(`https://basketball.highlightly.net/matches?${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/matches',
params={
'leagueName': 'NBL',
'leagueId': '1635',
},
headers={
'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
},
timeout=10,
)
response.raise_for_status()
data = response.json()
Response
dataBasketballMatchResponse[]required31 fields
idnumberrequired
weekstring
stagestringrequired
datestringrequired
countryBasketballCountryResponserequired3 fields
codestringrequiredCountry code specified by the ISO 3166 standard.
namestringrequired
logostringrequired
awayTeamBasketballTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
homeTeamBasketballTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
leagueBasketballMatchLeagueResponserequired4 fields
idnumberrequired
seasonnumberrequired
namestringrequired
logostring
stateBasketballMatchStateResponserequired9 fields
descriptionstringrequiredState of the match.Not startedFirst quarterSecond quarterThird quarterFourth quarterOver timeBreak timeHalf timeFinishedFinished after over timePostponedCancelledSuspendedAwardedAbandonedUnknownTo be announced
clocknumberCurrent minute of the current period.
scoreBasketballMatchScoreResponserequired6 fields
currentstringHome - Away score for the match. Includes overtime as well.
q1stringHome - Away score in 1st quarter.
q2stringHome - Away score in 2nd quarter.
q3stringHome - Away score in 3rd quarter.
q4stringHome - Away score in 4th quarter.
overTimestringHome - Away score in overtime.
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
{
"data": [
{
"id": 489389,
"week": "1",
"stage": "Final",
"date": "2023-10-01T03:00:00.000Z",
"country": {
"code": "AU",
"name": "Australia",
"logo": "https://example.com/logos/country/AU.png"
},
"awayTeam": {
"id": 7592,
"logo": "https://example.com/logos/team/7592.png",
"name": "Adelaide"
},
"homeTeam": {
"id": 7592,
"logo": "https://example.com/logos/team/7592.png",
"name": "Adelaide"
},
"league": {
"id": 1635,
"season": 2023,
"name": "NBL",
"logo": "https://example.com/logos/league/1635.png"
},
"state": {
"description": "Finished",
"clock": 9,
"score": {
"current": "105 - 104",
"q1": "22 - 15",
"q2": "17 - 33",
"q3": "11 - 27",
"q4": "33 - 14",
"overTime": "22 - 15"
}
}
}
],
"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. |