Authentication

Every request carries your API key in a header.

Request headers

Header Value
x-rapidapi-key Your Highlightly or RapidAPI key. Always required.
x-rapidapi-host

sport-highlights-api.p.rapidapi.com. Required only when calling through RapidAPI.

Calling directly against sports.highlightly.net needs the key alone.

These headers apply to API data only. They are not needed when fetching other resources such as team logos or highlight preview images, which are plain public URLs.

Moving from a single sport product

The base URL and the path change on both platforms, and on RapidAPI the host header and the key change too.

Football API All Sports API
Base URL soccer.highlightly.net sports.highlightly.net
Path /matches /football/matches
x-rapidapi-host football-highlights-api.p.rapidapi.com sport-highlights-api.p.rapidapi.com
Key on Highlightly Your Highlightly API key Your Highlightly API key
Key on RapidAPI Your Football API key Your All Sports API key

Every sport product has its own pair of hosts in the same way. The prefix table in sports and path prefixes names which product each prefix corresponds to.

Request

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

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

Keep the key private

Keys are managed from your account on Highlightly or on RapidAPI, depending on which one issued it. Accounts are not synced between the two.

Response headers

Every response carries rate limit information alongside the data.

Header Meaning
x-ratelimit-requests-limit How many requests your current plan allows. A static value.
x-ratelimit-requests-remaining

Requests left before you hit that limit. At zero, further requests fail until your daily quota resets.

content-type Always application/json. XML is not supported.

One quota covers every sport prefix, so a request to /cricket/matches and one to /nba/matches draw on the same allowance. See Pagination and limits for how your subscription affects the data retrieved.