Matches

GET https://rugby.highlightly.net/matches Rugby API
GET https://sports.highlightly.net/rugby/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.

State and score

Every match carries a state, holding the state description and, when present, the score.

The score is a single string in the 47 - 14 home and away form, rather than a breakdown by half. Split on the separator when you need the two numbers, and read the state to know whether that figure is final.

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 to let players recover, resolve temporary issues or attend to injuries.
Penalties Penalty shootout to decide the winner.
Finished Match has been concluded.
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 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. Six Nations U20
leagueIdoptional number No description in the spec.e.g. 48440
dateoptional string Date that follows the YYYY-MM-DD format.e.g. 2024-03-08
timezoneoptional stringdefault Etc/UTC Valid timezone identifier.e.g. Europe/London
seasonoptional number No description in the spec.e.g. 2024
homeTeamIdoptional number No description in the spec.e.g. 384585
awayTeamIdoptional number No description in the spec.e.g. 385436
homeTeamNameoptional string No description in the spec.e.g. Italy U20
awayTeamNameoptional string No description in the spec.e.g. Scotland U20
countryCodeoptional string No description in the spec.e.g. EU
countryNameoptional string No description in the spec.e.g. Europe
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://rugby.highlightly.net/matches?leagueName=Six%20Nations%20U20&leagueId=48440' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
  leagueName: 'Six Nations U20',
  leagueId: '48440'
})
const response = await fetch(`https://rugby.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://rugby.highlightly.net/matches',
    params={
        'leagueName': 'Six Nations U20',
        'leagueId': '48440',
    },
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

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

Response

dataRugbyMatchResponse[]required23 fields
idnumberrequired
weekstring
datestringrequired
countryRugbyCountryResponserequired3 fields
codestringrequiredCountry code specified by the ISO 3166 standard.
namestringrequired
logostringrequired
awayTeamRugbyTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
homeTeamRugbyTeamResponserequired3 fields
idnumberrequired
logostring
namestringrequired
leagueRugbyMatchLeagueResponserequired4 fields
idnumberrequired
seasonnumberrequired
namestringrequired
logostring
stateRugbyMatchStateResponserequired2 fields
descriptionstringrequiredState of the match.Not startedFirst halfHalf timeSecond halfExtra timeBreak timePenaltiesSuspendedInterruptedFinishedFinished after extra timePostponedCancelledAbandonedAwardedUnknownTo be announced
scorestringHome - Away match score.
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": 36224450,
      "week": "4",
      "date": "2024-03-08T19:15:00.000Z",
      "country": {
        "code": "EU",
        "name": "Europe",
        "logo": "https://example.com/logos/country/EU.png"
      },
      "awayTeam": {
        "id": 384585,
        "logo": "https://example.com/logos/team/90990.png",
        "name": "Italy U20"
      },
      "homeTeam": {
        "id": 384585,
        "logo": "https://example.com/logos/team/90990.png",
        "name": "Italy U20"
      },
      "league": {
        "id": 48440,
        "season": 2024,
        "name": "Six Nations U20",
        "logo": "https://example.com/logos/league/48440.png"
      },
      "state": {
        "description": "Finished",
        "score": "47 - 14"
      }
    }
  ],
  "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.