rugbyAPI
Matches / List matches
Documentation/Matches/List matches

List matches

Free

Every match in a date range, filtered by competition, team or status. Paged, newest first.

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

Parameters

NameWhat it doesExample
date_fromdate, optionalFirst match date to include. Defaults to yesterday.2026-10-29
date_todate, optionalLast match date to include. Defaults to seven days after date_from. The range is limited to 366 days.2026-10-31
competitionid, optionalOnly this competition. IDs come from Competitions.cp_2EW9542
teamid, optionalOnly matches this team played in.tm_2QWN0R8
statusenum, optionalOne of scheduled, finished, postponed, cancelled.finished
pageint, optionalPage number, 50 matches a page. The response says how many pages there are.1

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

From yesterday onwards. An earlier date_from returns 403 with the upgrade link.

Archive

Any dates, back to our first season.

Live

Any dates, back to our first season.

Response fields

FieldMeaning
count, page, pages, totalMatches on this page, the page number, how many pages and how many matches in all
data[].idPermanent match ID
data[].dateMatch date, always set
data[].kickoff_utcKickoff in UTC, or null when not yet set
data[].statusscheduled, finished, postponed or cancelled
data[].competition, seasonID and name of each
data[].home, awayTeam ID, name and score (null until finished)

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_requireddate_from is before yesterday, on a free key.
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?date_from=2026-10-29&date_to=2026-10-31&competition=cp_2EW9542 \
  -H "Authorization: Bearer YOUR_KEY"
$ch = curl_init('https://api.rugbyapi.com/v1/matches?date_from=2026-10-29&date_to=2026-10-31&competition=cp_2EW9542');
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",
    params={"date_from": "2026-10-29", "date_to": "2026-10-31", "competition": "cp_2EW9542"},
    headers={"Authorization": "Bearer YOUR_KEY"},
)
data = r.json()
const r = await fetch('https://api.rugbyapi.com/v1/matches?date_from=2026-10-29&date_to=2026-10-31&competition=cp_2EW9542', {
  headers: { Authorization: 'Bearer YOUR_KEY' }
});
const data = await r.json();
200ResponseExample from the live archive, lists cut to 3
{
  "count": 8,
  "page": 1,
  "pages": 1,
  "total": 8,
  "data": [
    {
      "id": "mt_064VTQ5",
      "date": "2026-10-31",
      "kickoff_utc": "2026-10-31T19:45:00Z",
      "status": "finished",
      "competition": {
        "id": "cp_2EW9542",
        "name": "United Rugby Championship"
      },
      "season": {
        "id": "ss_1VSX6S8",
        "name": "2026-27"
      },
      "home": {
        "id": "tm_1KTEF3F",
        "name": "Ospreys",
        "score": 0
      },
      "away": {
        "id": "tm_179VXFK",
        "name": "Cardiff Rugby",
        "score": 26
      }
    },
    {
      "id": "mt_0XFYB89",
      "date": "2026-10-31",
      "kickoff_utc": "2026-10-31T17:30:00Z",
      "status": "finished",
      "competition": {
        "id": "cp_2EW9542",
        "name": "United Rugby Championship"
      },
      "season": {
        "id": "ss_1VSX6S8",
        "name": "2026-27"
      },
      "home": {
        "id": "tm_1QM2PPX",
        "name": "Dragons",
        "score": 35
      },
      "away": {
        "id": "tm_1MZ3SAG",
        "name": "Zebre",
        "score": 14
      }
    },
    {
      "id": "mt_1427JBH",
      "date": "2026-10-31",
      "kickoff_utc": "2026-10-31T17:30:00Z",
      "status": "finished",
      "competition": {
        "id": "cp_2EW9542",
        "name": "United Rugby Championship"
      },
      "season": {
        "id": "ss_1VSX6S8",
        "name": "2026-27"
      },
      "home": {
        "id": "tm_344015A",
        "name": "Munster",
        "score": 3
      },
      "away": {
        "id": "tm_24KCBBM",
        "name": "Sharks",
        "score": 15
      }
    }
  ]
}