A rugby data API for club and Test rugby: fixtures, results, both matchday squads, the scoring timeline and league tables, each record under an ID that never changes.
Free key in one click with Google. No card.
{
"id": "mt_3AY3FWE",
"competition": {
"id": "cp_2EW9542",
"name": "United Rugby Championship"
},
"season": "2026-27",
"kickoff_utc": "2026-10-24T14:00:00Z",
"venue": {
"name": "Stadio Comunale di Monigo",
"city": "Treviso"
},
"status": "finished",
"home": {
"id": "tm_1ZVKGRW",
"name": "Benetton",
"score": 20
},
"away": {
"id": "tm_0QPNGJQ",
"name": "Glasgow Warriors",
"score": 24
},
"lineups": {
"home": [
/* more */
],
"away": [
/* more */
]
},
"timeline": [
{
"minute": 29,
"type": "try",
"player": "Federico Zanandrea",
"points": 5
},
{
"minute": 30,
"type": "conversion",
"player": "Jacob Umaga",
"points": 2
},
/* more */
],
"quality": {
"timeline": "complete",
"lineups": "complete"
}
}
Every score and card is stored with its minute, its player and the score after it. Press play and this match rebuilds itself from the timeline alone, exactly as your code would.
Matches, squads, timelines, tables, teams, players and leaderboards, all joined by permanent IDs. Pick any endpoint to see what it takes, what it returns and the code to call it.
?page=2X-RateLimit-Remainingmt_3AY3FWE?tz=Europe/Londonquality.timelineX-RugbyAPI-SignatureEvery tile below is a few lines of code on one endpoint. League tables for a club site, form guides for a preview, player cards for a fantasy game, a match centre for an app.
| Team | P | W | L | PD | BP | Pts | |
|---|---|---|---|---|---|---|---|
| 1 | Edinburgh | 4 | 4 | 0 | +47 | 3 | 19 |
| 2 | Glasgow Warriors | 4 | 3 | 0 | +27 | 4 | 18 |
| 3 | Bulls | 4 | 3 | 1 | +70 | 4 | 16 |
| 4 | Stormers | 4 | 3 | 1 | +39 | 4 | 16 |
| 5 | Sharks | 4 | 3 | 1 | +21 | 3 | 15 |
| 6 | Leinster | 4 | 2 | 2 | +23 | 5 | 13 |
| 7 | Ospreys | 4 | 2 | 2 | -9 | 3 | 11 |
| 8 | Connacht | 4 | 2 | 2 | -7 | 2 | 10 |
| 9 | Munster | 4 | 1 | 2 | -8 | 4 | 10 |
| 10 | Cardiff Rugby | 4 | 2 | 2 | -20 | 1 | 9 |
| 11 | Lions | 4 | 2 | 2 | -46 | 1 | 9 |
| 12 | Ulster | 4 | 0 | 2 | -13 | 5 | 9 |
| 13 | Dragons | 4 | 1 | 2 | -12 | 3 | 9 |
| 14 | Scarlets | 4 | 1 | 3 | -29 | 4 | 8 |
| 15 | Benetton | 4 | 0 | 3 | -8 | 4 | 6 |
| 16 | Zebre | 4 | 0 | 4 | -85 | 2 | 2 |
/seasons/{id}/standings/teams/{id}/form/players/{id}/fixtures/matches/{id}?include=timeline/stats/top-scorersRaw rugby data is messy: doubled scores, placeholder results, the same match held twice, squads mixed together. We clean what can be cleaned, flag what cannot, and put every flag in the API so your code knows exactly what it is holding.
quality.timelinequality.lineupsThe free key reads yesterday, today and the fixtures ahead, so you can build and test on real matches. Archive opens every season we hold. Live adds results the moment they land and webhooks to push them to you.
To build and test on real, current matches.
For models, research and anything that needs history.
For apps, media and anything that runs on match day.
Charged by DeveloperData.net. Questions about a charge: developerdata.net/support.
31,237 matches across 41 competitions, back to 1871. Each shows how many of its matches carry a full timeline and full lineups, so you know what you are building on before you pay.
Sign in with Google, copy your key, and pull this weekend's results before your coffee cools. No card, no sales call.
curl https://api.rugbyapi.com/v1/results -H "Authorization: Bearer YOUR_KEY"