Matches

GET https://handball.highlightly.net/matches Handball API
GET https://sports.highlightly.net/handball/matches All Sports API

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.

Matches rendered in a client application

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

200 application/json
{
  "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.