rugbyAPI
Teams / Form

Form

Archive

A team's last results, newest first, with W, D or L for each and the run as one string.

GEThttps://api.rugbyapi.com/v1/teams/{id}/form

Parameters

NameWhat it doesExample
idpath, requiredThe ID in the path.tm_1KTEF3F
lastint, optionalHow many recent matches, 1 to 20. Defaults to 5.5

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

Included.

Live

Included.

Response fields

FieldMeaning
formThe run as a string, newest first, for example WWL
data[].resultW, D or L for this team
data[]Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.

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 Archive.
404not_foundNo team with that ID (bad_id if it is not in our format).
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/teams/tm_1KTEF3F/form?last=5 \
  -H "Authorization: Bearer YOUR_KEY"
$ch = curl_init('https://api.rugbyapi.com/v1/teams/tm_1KTEF3F/form?last=5');
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/teams/tm_1KTEF3F/form",
    params={"last": "5"},
    headers={"Authorization": "Bearer YOUR_KEY"},
)
data = r.json()
const r = await fetch('https://api.rugbyapi.com/v1/teams/tm_1KTEF3F/form?last=5', {
  headers: { Authorization: 'Bearer YOUR_KEY' }
});
const data = await r.json();
200ResponseExample from the live archive, lists cut to 3
{
  "team": {
    "id": "tm_1KTEF3F",
    "name": "Ospreys"
  },
  "form": "LWWWL",
  "count": 5,
  "data": [
    {
      "result": "L",
      "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
      }
    },
    {
      "result": "W",
      "id": "mt_2RHAZSX",
      "date": "2026-10-24",
      "kickoff_utc": "2026-10-24T18: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": 31
      },
      "away": {
        "id": "tm_1QM2PPX",
        "name": "Dragons",
        "score": 14
      }
    },
    {
      "result": "W",
      "id": "mt_31KWXPZ",
      "date": "2026-10-17",
      "kickoff_utc": "2026-10-17T12:00:00Z",
      "status": "finished",
      "competition": {
        "id": "cp_383QJ5X",
        "name": "Challenge Cup"
      },
      "season": {
        "id": "ss_149W8A4",
        "name": "2026-27"
      },
      "home": {
        "id": "tm_0Q95ZA8",
        "name": "Black Lion",
        "score": 14
      },
      "away": {
        "id": "tm_1KTEF3F",
        "name": "Ospreys",
        "score": 39
      }
    }
  ]
}