List matches
FreeEvery match in a date range, filtered by competition, team or status. Paged, newest first.
Parameters
| Name | What it does | Example |
|---|---|---|
date_fromdate, optional | First match date to include. Defaults to yesterday. | 2026-10-29 |
date_todate, optional | Last match date to include. Defaults to seven days after date_from. The range is limited to 366 days. | 2026-10-31 |
competitionid, optional | Only this competition. IDs come from Competitions. | cp_2EW9542 |
teamid, optional | Only matches this team played in. | tm_2QWN0R8 |
statusenum, optional | One of scheduled, finished, postponed, cancelled. | finished |
pageint, optional | Page 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
| Field | Meaning |
|---|---|
count, page, pages, total | Matches on this page, the page number, how many pages and how many matches in all |
data[].id | Permanent match ID |
data[].date | Match date, always set |
data[].kickoff_utc | Kickoff in UTC, or null when not yet set |
data[].status | scheduled, finished, postponed or cancelled |
data[].competition, season | ID and name of each |
data[].home, away | Team ID, name and score (null until finished) |
Errors you can get
| Status | Code | When |
|---|---|---|
400 | key_in_address | The key was put in the address. Send it in a header (see Authentication). |
401 | missing_key | No Authorization: Bearer header, or the key was rotated (invalid_key, revoked_key). |
403 | plan_required | date_from is before yesterday, on a free key. |
422 | bad_parameter | A parameter is malformed, or unknown (unknown_parameter names the ones this endpoint takes). |
429 | daily_limit | Today'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.
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
}
}
]
}