Matches

GET https://hockey.highlightly.net/matches Hockey API
GET https://sports.highlightly.net/hockey/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, period by period

Every match carries a state, and that object holds the state description and the score.

The score is not a single number. current is the running total, firstPeriod, secondPeriod and thirdPeriod carry each period on its own, and overTime and penalties cover a game that went past regulation. Every one of them is a string in the 4 - 4 home and away form rather than a pair of numbers.

Match states

State Meaning
Not started Match has not been started yet.
1st period In the first period of regular play.
2nd period In the second period of regular play.
3rd period In the third period of regular play.
Over time Level after normal time. Extra time decides the winner.
Break time Short pause between periods, or before overtime.
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 over time Match has been concluded in overtime.
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 cannot be resumed or completed, though it may be resumed later 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. DEL
leagueIdoptional number No description in the spec.e.g. 16953
dateoptional string Date that follows the YYYY-MM-DD format.e.g. 2023-10-13
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. 223746
awayTeamIdoptional number No description in the spec.e.g. 214385
homeTeamNameoptional string No description in the spec.e.g. Frankfurt Lowen
awayTeamNameoptional string No description in the spec.e.g. Kolner
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://hockey.highlightly.net/matches?leagueName=DEL&leagueId=16953' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
  leagueName: 'DEL',
  leagueId: '16953'
})
const response = await fetch(`https://hockey.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://hockey.highlightly.net/matches',
    params={
        'leagueName': 'DEL',
        'leagueId': '16953',
    },
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

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

Response

dataHockeyMatchResponse[]required29 fields
idnumberrequired
weekstring
datestringrequired
countryHockeyCountryResponserequired3 fields
codestringrequiredCountry code specified by the ISO 3166 standard.
namestringrequired
logostringrequired
awayTeamHockeyTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
homeTeamHockeyTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
leagueHockeyMatchLeagueResponserequired4 fields
idnumberrequired
seasonnumberrequired
namestringrequired
logostring
stateHockeyMatchStateResponserequired8 fields
descriptionstringrequiredCurrent state of the game.Not started1st period2nd period3rd periodOver timePenaltiesBreak timeAwardedPostponedCancelledInterruptedAbandonedFinishedTo be announcedFinished after penaltiesFinished after over timeUnknown
scoreHockeyMatchScoreResponserequired6 fields
currentstringHome - Away score for the match.
overTimestringHome - Away score in overtime.
penaltiesstringHome - Away score in penalties.
firstPeriodstringHome - Away score in 1st period.
secondPeriodstringHome - Away score in 2nd period.
thirdPeriodstringHome - Away score in 3rd period.
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": 291869956,
      "week": "1",
      "date": "2023-10-13T17:30:00.000Z",
      "country": {
        "code": "DE",
        "name": "Germany",
        "logo": "https://example.com/logos/country/DE.png"
      },
      "awayTeam": {
        "id": 223746,
        "logo": "https://example.com/logos/team/223746.png",
        "name": "Frankfurt Lowen"
      },
      "homeTeam": {
        "id": 223746,
        "logo": "https://example.com/logos/team/223746.png",
        "name": "Frankfurt Lowen"
      },
      "league": {
        "id": 16953,
        "season": 2023,
        "name": "DEL",
        "logo": "https://example.com/logos/league/16953.png"
      },
      "state": {
        "description": "1st period",
        "score": {
          "current": "4 - 4",
          "overTime": "6 - 4",
          "penalties": "17 - 33",
          "firstPeriod": "2 - 0",
          "secondPeriod": "2 - 1",
          "thirdPeriod": "5 - 2"
        }
      }
    }
  ],
  "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.