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 by half
Every match carries a state, holding the state description and
the score.
current is the running total, and firstHalf and
secondHalf carry each half on its own. All three are strings in the
26 - 26 home and away form rather than pairs of numbers.
Match states
| State | Meaning |
|---|---|
Not started |
Match has not been started yet. |
First half |
In play, in the first half. |
Half time |
Half time pause between the first and second half. |
Second half |
In play, in the second half. |
Extra time |
Level after normal time. Extra time decides the winner. |
Break time |
Short pause between periods of play, or before extra time. |
Penalties |
Penalty shootout to decide the winner. |
Finished |
Match has been concluded. |
Finished after penalties |
Match has been concluded with the penalty shootout. |
Finished after extra time |
Match has been concluded in extra time. |
Postponed |
Prevented from being played. The start time moves to a future moment. |
Suspended |
Was in play and was halted. Will resume from the exact point it stopped. |
Cancelled |
Game will not be played. |
Awarded |
Given to one team when the other forfeits, or after circumstances such as insufficient players, late arrival or a withdrawal. |
Interrupted |
Something arose that stops the game continuing. It will either resume normal play or be abandoned. |
Abandoned |
Ended prematurely by the officials and not completed as scheduled. It might later be resumed from the 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. Handball Bundesliga Frauen
|
leagueIdoptional |
number |
No description in the spec.e.g. 36526
|
dateoptional |
string |
Date that follows the YYYY-MM-DD format.e.g. 2023-12-27
|
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. 302038
|
awayTeamIdoptional
|
number |
No description in the spec.e.g. 332674
|
homeTeamNameoptional
|
string |
No description in the spec.e.g. Bensheim-Auerbach Women
|
awayTeamNameoptional
|
string |
No description in the spec.e.g. Solingen Women
|
countryCodeoptional
|
string |
No description in the spec.e.g. DE
|
countryNameoptional
|
string |
No description in the spec.e.g. Germany
|
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://handball.highlightly.net/matches?leagueName=Handball%20Bundesliga%20Frauen&leagueId=36526' \
--header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
leagueName: 'Handball Bundesliga Frauen',
leagueId: '36526'
})
const response = await fetch(`https://handball.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://handball.highlightly.net/matches',
params={
'leagueName': 'Handball Bundesliga Frauen',
'leagueId': '36526',
},
headers={
'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
},
timeout=10,
)
response.raise_for_status()
data = response.json()
Response
dataHandballMatchResponse[]required26 fields
idnumberrequired
weekobject
datestringrequired
countryHandballCountryResponserequired3 fields
codestringrequiredCountry code specified by the ISO 3166 standard.
namestringrequired
logostringrequired
awayTeamHandballTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
homeTeamHandballTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
leagueHandballMatchLeagueResponserequired4 fields
idnumberrequired
seasonnumberrequired
namestringrequired
logostring
stateHandballMatchStateResponserequired5 fields
descriptionstringrequiredState of the match.Not startedFirst halfHalf timeSecond halfExtra timeBreak timePenaltiesSuspendedInterruptedFinishedPostponedCancelledAbandonedAwardedUnknownTo be announcedFinished after penaltiesFinished after extra time
scoreHandballMatchScoreResponserequired3 fields
currentstringHome - Away match score.
firstHalfstringHome - Away match score in the first half.
secondHalfstringHome - Away match score in the second half.
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": 126347903,
"week": "9",
"date": "2023-12-27T18:30:00.000Z",
"country": {
"code": "DE",
"name": "Germany",
"logo": "https://example.com/logos/country/DE.png"
},
"awayTeam": {
"id": 332674,
"logo": "https://example.com/logos/team/332674.png",
"name": "Solingen W"
},
"homeTeam": {
"id": 332674,
"logo": "https://example.com/logos/team/332674.png",
"name": "Solingen W"
},
"league": {
"id": 36526,
"season": 2023,
"name": "1. Bundesliga Women",
"logo": "https://example.com/logos/league/36526.png"
},
"state": {
"description": "Finished",
"score": {
"current": "26 - 26",
"firstHalf": "13 - 15",
"secondHalf": "13 - 11"
}
}
}
],
"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. |