rugbyAPI
Matches / Today

Today

Live

Every match today in the time zone you choose, with the local kickoff time.

GEThttps://api.rugbyapi.com/v1/matches/today

Parameters

NameWhat it doesExample
tzstring, optionalA time zone name such as Europe/London. "Today" and kickoff_local follow it. Defaults to UTC.Europe/London

Any other parameter is refused with a 422 naming the ones this endpoint takes, so a typo never silently returns everything.

What each plan returns

Free key

Not included. Returns 403 with the upgrade link.

Archive

Not included. Returns 403 with the upgrade link.

Live

Included.

Response fields

FieldMeaning
dateToday's date in that time zone
tzThe time zone used
countMatches today
data[]Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.
data[].kickoff_localKickoff as HH:MM in that time zone

Errors you can get

StatusCodeWhen
400key_in_addressThe key was put in the address. Send it in a header (see Authentication).
401missing_keyNo Authorization: Bearer header, or the key was rotated (invalid_key, revoked_key).
403plan_requiredYour plan is below Live.
422bad_parameterA parameter is malformed, or unknown (unknown_parameter names the ones this endpoint takes).
429daily_limitToday's lookups are used. Resets at 00:00 UTC.

Every error has the same shape. All error codes

Try it live

Runs this call from your browser with your own key and shows what comes back.

Your key Get a free key
curl https://api.rugbyapi.com/v1/matches/today?tz=Europe%2FLondon \
  -H "Authorization: Bearer YOUR_KEY"
$ch = curl_init('https://api.rugbyapi.com/v1/matches/today?tz=Europe%2FLondon');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer YOUR_KEY'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
import requests

r = requests.get(
    "https://api.rugbyapi.com/v1/matches/today",
    params={"tz": "Europe/London"},
    headers={"Authorization": "Bearer YOUR_KEY"},
)
data = r.json()
const r = await fetch('https://api.rugbyapi.com/v1/matches/today?tz=Europe%2FLondon', {
  headers: { Authorization: 'Bearer YOUR_KEY' }
});
const data = await r.json();
200ResponseExample from the live archive, lists cut to 3
{
  "date": "2026-11-10",
  "tz": "Europe/London",
  "count": 0,
  "data": []
}