Getting started

Before your first request, you will need an API key. Send it in the x-rapidapi-key header with every request.

Your first request

Football data comes with two subscriptions. A Football API subscription covers football alone. An All Sports API subscription covers football and all other sports. Both are available on Highlightly and on RapidAPI, as the Football API and the All Sports API.

Once you have a key, look up a league. The request below uses the Football API base URL on Highlightly.

curl --request GET \
  --url 'https://soccer.highlightly.net/leagues?season=2023&leagueName=Superettan' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const params = new URLSearchParams({
  season: '2023',
  leagueName: 'Superettan'
})
const response = await fetch(`https://soccer.highlightly.net/leagues?${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://soccer.highlightly.net/leagues',
    params={
        'season': '2023',
        'leagueName': 'Superettan',
    },
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

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

With an All Sports API subscription, send the same request to https://sports.highlightly.net/football/leagues. On Highlightly your API key stays the same and only the base URL changes. Through RapidAPI, use the key, base URL and x-rapidapi-host value for your All Sports API subscription, listed in Authentication.

If the request returns data, you are set up correctly. A 403 means the x-rapidapi-key header is missing. A 401 means the key was not accepted, so check it against the key in your account. On RapidAPI, use the API key issued for the Football API.

Finding your way around

Page Covers
Base URLs The four base URLs, and what changes with an All Sports API subscription.
Authentication Which headers to send, direct versus RapidAPI, keeping your key private.
Pagination and limits Paging with limit and offset, rate limit headers, and how your plan affects results.
Errors Error bodies and status codes, what a missing filter returns, and running out of quota.

Under Endpoints each resource lists its own operations. Every endpoint page carries its parameters, a request in three languages, and the full response shape with nested objects expanded in place.

A note on ids

Most endpoints are reached by id rather than by name. Fetch leagues or teams once, store the ids you care about, and use those. Some endpoints also filter by name.

OpenAPI specification

Import the OpenAPI 3.0 document into Postman or Insomnia, or generate a client from it.

Download docs.json