Croke Public API
Read-only JSON for league analytics, tournament archives, and community websites.
Overview
The Public API exposes the same public data shown on Croke league analytics pages and tournament archive pages. Use it to power club websites, standings widgets, livestream overlays, recap pages, or archival dashboards.
Base URL:
https://croke.app/api/v1
League Endpoints
| Endpoint | Use |
|---|---|
GET /leagues/{leagueCode} | League metadata, roster display data, season index, and season links. |
GET /leagues/{leagueCode}/seasons/{seasonId} | Normalized season snapshot with settings, completed sessions, rounds, matches, standings, and recap. |
GET /leagues/{leagueCode}/seasons/{seasonId}/ | Standings, trends, star shots, partner chemistry, strength metrics, player ratings, and session summaries. |
fetch('https://croke.app/api/v1/leagues/ABCD-2345/seasons/0/analytics')
.then((res) => res.json())
.then((payload) => console.log(payload.data.standings));
Tournament Endpoints
| Endpoint | Use |
|---|---|
GET /tournaments/{tournamentCode} | Tournament metadata, team display data, stage summary, and links. |
GET /tournaments/{tournamentCode}/archive | Full archive payload: header, qualifying, bracket, final results, placements, and display labels. |
GET /tournaments/{tournamentCode}/ | Qualifying rounds, group data, matches, standings, and cutoff data. |
GET /tournaments/{tournamentCode}/bracket | Normalized elimination bracket for single elimination, double elimination, and A/B pool formats. |
GET /tournaments/{tournamentCode}/results | Final placements, podium, qualifying records, elimination records, seeds, and star shots. |
fetch('https://croke.app/api/v1/tournaments/JUDO-VOLT/archive')
.then((res) => res.json())
.then((payload) => console.log(payload.data.results.podium));
Response Format
Successful responses use a stable envelope with an API version, a data object, and useful links.
{
"apiVersion": "1",
"data": {
"code": "JUDO-VOLT",
"header": {
"name": "Summer Open",
"completed": true
}
},
"links": {
"self": "https://croke.app/api/v1/tournaments/JUDO-VOLT/archive"
}
}
Error responses use the same versioned envelope.
{
"apiVersion": "1",
"error": {
"code": "not_found",
"message": "Tournament not found.",
"requestId": "..."
}
}
Privacy And Limits
- The API is public and unauthenticated, matching existing public pages for users who know a league or tournament code.
- Only read methods are allowed:
GET,HEAD, andOPTIONS. - Responses redact auth identifiers, emails, owner IDs, player claims, trusted-player records, and account-link internals.
- CORS is enabled for public read integrations.
- Completed seasons and tournaments use longer cache headers than active data. Clients should respect
Cache-ControlandETag.
Versioning
Version 1 lives at /api/v1. Additive fields may appear over time, but existing v1 field meanings should remain stable. Breaking changes will use a new versioned path.