Get match by ID

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

Retrieve detailed information for one match. The response is an array holding the match, so read the first element.

Detail
Everything on the list route, plus three blocks

The match id comes from matches.

This route returns everything the list route does, and adds venue, forecast and predictions.

Venue and forecast

venue names the city, the arena name, the country and its capacity. forecast carries a status such as cloudy and a temperature already formatted with its unit, as in 11.97°C.

Predictions

predictions splits into prematch and live, and each is a list of predictions rather than a single entry.

Every prediction carries its type, a modelType, a generatedAt timestamp, a readable description and the probabilities behind it as percentage strings. home and away are always present, and draw may be absent.

generatedAt records when each prediction was produced, so show it next to the numbers.

Parameters

Parameter Type Description
idrequired numberpath Requested match id.

Request

curl --request GET \
  --url 'https://handball.highlightly.net/matches/{id}' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const response = await fetch('https://handball.highlightly.net/matches/{id}', {
  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/{id}',
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

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

Response

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.
venueDetailedMatchVenueResponse4 fields
citystring
namestring
countrystring
capacitystring
forecastDetailedMatchForecastResponse2 fields
statusstring
temperaturestring
predictionsPredictionResponse18 fields
prematchPrediction[]required8 fields
typestringrequired
modelTypestringrequired
generatedAtstringrequired
descriptionstringrequired
probabilitiesPredictionProbabilitiesrequired3 fields
homestringrequired
drawstring
awaystringrequired
livePrediction[]required8 fields
typestringrequired
modelTypestringrequired
generatedAtstringrequired
descriptionstringrequired
probabilitiesPredictionProbabilitiesrequired3 fields
homestringrequired
drawstring
awaystringrequired

Example response

200 application/json
[
  {
    "id": 127484839,
    "week": "21",
    "date": "2024-04-06T16:00: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"
      }
    },
    "venue": {
      "city": "Swansea",
      "name": "Liberty Stadium",
      "country": "Wales",
      "capacity": "20827"
    },
    "forecast": {
      "status": "cloudy",
      "temperature": "11.97°C"
    },
    "predictions": {
      "prematch": [
        {
          "type": "prematch",
          "modelType": "three-way",
          "generatedAt": "2025-03-12T19:00:20.000Z",
          "description": "Team A is most likely to win the game against Team B.`",
          "probabilities": {
            "home": "30.22%",
            "draw": "0.00%",
            "away": "69.78%"
          }
        }
      ],
      "live": [
        {
          "type": "prematch",
          "modelType": "three-way",
          "generatedAt": "2025-03-12T19:00:20.000Z",
          "description": "Team A is most likely to win the game against Team B.`",
          "probabilities": {
            "home": "30.22%",
            "draw": "0.00%",
            "away": "69.78%"
          }
        }
      ]
    }
  }
]

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.