LeagueRepublic

LeagueRepublic JSON API

Interface Specification

VersionStatusDateOwnerReplaces
1.4Approved6 October 2026LeagueRepublic (LR)LeagueRepublic API Reference v1.3 (PDF, 8 November 2023)

This document is the source of truth for the LeagueRepublic JSON API: every service, field, format, limit and error message. It is maintained by LeagueRepublic. Help Centre articles explain what you can build and link here for the detail. Version 1.4 adds two services (Get Match Hub and Get Fixtures For Team), adds new fields to fixtures, standings and games, and replaces the v1.3 PDF.

Plain-text version for AI tools: leaguerepublic-read-api.md

1Introduction

The LeagueRepublic JSON API lets a website, app or program read a league's seasons, fixture groups, fixtures, results, standings, teams and statistics. It is read-only: nothing can be changed through it. Data is returned as JSON.

Each service in section 4 documents its URL, request parameters, response fields, an example and any errors specific to it.

Audience: LR developers maintaining the interface, and league or third-party developers integrating with these services, including people using an AI assistant to build with them.

1.1Identifiers

All IDs are LeagueRepublic integer IDs. They never change and are never reused.

IdentifierWhat it is and where it comes from
leagueIDA league. Shown on Admin Home > API > API Settings.
seasonIDA season within a league. From Get Seasons For League.
fixtureTypeIDThe kind of fixture group: 1 = division, 2 = competition (cup), 4 = other. See 6.1.
fixtureGroupIdentifierA division, competition or other fixture group within a season. Always used together with fixtureTypeID. From Get Fixture Groups For Season.
teamIDA team. From Get Teams For Fixture Group, or homeTeam / roadTeam on any fixture.
fixtureIDA fixture (match). From any fixture list.
personIDA player or official.
leagueStatTypeIDA statistic type defined by the league, for example 180s or goals.

2Access and environments

EnvironmentRead services — base URLWrite services — base URL
Livehttps://api.leaguerepublic.com/json/n/a
Test (LR only)http://leaguesites.test.leaguerepublic.com/json/n/a

2.1Rate limit

Up to 60 requests a minute per league, counted across every caller using that league's data: its website, apps and any other integration share the same allowance. A few leagues have a lower limit; the limit that applies is returned in max_calls_per_minute. Over the limit, the API returns HTTP 429 with the body below; wait the number of seconds in retry_after_seconds before trying again. Cache responses and avoid polling more than once a minute.

{
  "status": "error",
  "code": 429,
  "message": "Rate limit exceeded",
  "details": {
    "max_calls_per_minute": 60,
    "retry_after_seconds": 60,
    "error_code": "RATE_LIMIT_EXCEEDED"
  }
}

3Conventions

3.1URL and request patterns

3.2Data types and formats

TypeMeaning
intWhole number, e.g. 236635540.
bigintLarge whole number, used for milliseconds since 1 January 1970 UTC, e.g. 1790965800000.
decimalNumber that may have a fraction, e.g. 66.7. Standings figures are decimals.
varcharText.
booleantrue or false.
<List>An array. May be empty ([]).
objectA nested set of fields.

Road means away. road… fields are the away team; home… fields are the home team.

Scores are text. homeScore and roadScore are varchar so they can hold letters such as "P" (postponed). Convert to a number before doing arithmetic.

Dates come twice. fixtureDate is the league's local date and time as yyyyMMdd HH:mm, e.g. "20261002 19:30". fixtureDateInMilliseconds is the same moment as milliseconds since 1 January 1970 UTC. Use the milliseconds for sorting and time zones.

Date parameters. Dates passed in a URL are yyyyMMdd, e.g. 20261003.

Empty values. A field that does not apply, or was not entered, is null. Most fields are always present even when null.

Approved results only. Every service except Get Match Hub returns a result only once the league has approved it. Get Match Hub also returns unapproved and live results, marked by approved.

Hidden data. Anything the league hides on its own website (hidden divisions, scores or standings) is not returned.

3.3Parameter tables

Each service documents its request and response as a table with these columns: Level (nesting depth, 1 = top level), Field (JSON attribute name; <List> marks an array), Type, Required (request: Y = must be supplied; response: Y = always present), Nullable (Y = value may be null) and Notes.

3.4Return codes and errors

Errors other than the rate limit are returned with HTTP status 200 and a JSON object holding a single error field. Check for the error field rather than the HTTP status or the exact wording.

{"error" : "Season does not exist for supplied season ID"}
MessageMeaning
League is not authorised to access webservicesThe league is not on the Gold plan.
JSON api is disabled for leagueEnable JSON API is not ticked in API Settings.
Season does not exist for supplied season IDNo season has that ID.
Team does not exist for supplied team IDNo team has that ID.
Rate limit exceeded (HTTP 429)More than 60 requests a minute. See 2.1.

The wording of messages from the v1.3 services varies slightly between services. Only the presence of error is guaranteed.

4Service reference

Service summary

§ServicePath(s)Type
4.1Get Seasons For League/getSeasonsForLeague/[leagueID].jsonRead
4.2Get Fixture Groups For Season/getFixtureGroupsForSeason/[seasonID].jsonRead
4.3Get Standings For Fixture Group/getStandingsForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].jsonRead
4.4Get Fixtures For Season/getFixturesForSeason/[seasonID].jsonRead
4.5Get Fixtures For Fixture Group/getFixturesForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].jsonRead
4.6Get Fixtures For Fixture Group Including Official Assignments/getFixturesForFixtureGroupIncludingOfficialAssignments/[fixtureTypeID]/[fixtureGroupIdentifier].jsonRead
4.7Get Fixtures For Team New in 1.4/getFixturesForTeam/[seasonID]/[teamID].jsonRead
4.8Get Match Hub New in 1.4/getMatchHub/[seasonID].json
/getMatchHub/[seasonID]/[date].json
Read
4.9Get Full Fixture Details/getFullFixtureDetails/[fixtureID].jsonRead
4.10Get Teams For Fixture Group/getTeamsForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].jsonRead
4.11Get Statistic Summary For Team/getStatisticSummaryForTeam/[seasonID]/[teamID].jsonRead

4.1Get Seasons For League

Returns the league's seasons.

Service type: Read — base URLs in §2.

/getSeasonsForLeague/[leagueID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1leagueIDintYThe league.

Response fields

A <List> of seasons.

LevelFieldTypeRequiredNullableNotes
1seasonIDintY
1seasonNamevarcharYe.g. "2026-2027".
1currentSeasonbooleanYTrue for the season the league has marked as current.
1seasonStartDatevarcharYyyyyMMdd HH:mm.
1seasonStartDateInMillisecondsbigintY
1seasonEndDatevarcharYyyyyMMdd HH:mm.
1seasonEndDateInMillisecondsbigintY

Request / response example

GET https://api.leaguerepublic.com/json/getSeasonsForLeague/770829510.json
[
  {
    "currentSeason": true,
    "seasonEndDate": "20230617 23:59",
    "seasonEndDateInMilliseconds": 1687046340000,
    "seasonID": 153020000,
    "seasonName": "2022 / 2023",
    "seasonStartDate": "20220617 00:00",
    "seasonStartDateInMilliseconds": 1655424000000
  }
]

Errors

Standard shapes in §3.4.

4.2Get Fixture Groups For Season

Returns the season's divisions, competitions and other fixture groups.

Service type: Read — base URLs in §2.

/getFixtureGroupsForSeason/[seasonID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season.

Response fields

A <List> of fixture groups.

LevelFieldTypeRequiredNullableNotes
1fixtureGroupDescvarcharYName, e.g. "Premier Division".
1fixtureGroupIdentifierintY
1fixtureTypeIDintYSee 6.1.
1fixtureTypeDescvarcharY"Division", "Competition" or "Other Fixture Group".

Request / response example

GET https://api.leaguerepublic.com/json/getFixtureGroupsForSeason/236635540.json
[
  {
    "fixtureGroupDesc": "Premier Division",
    "fixtureGroupIdentifier": 389974692,
    "fixtureTypeDesc": "Division",
    "fixtureTypeID": 1
  }
]

Errors

Standard shapes in §3.4.

4.3Get Standings For Fixture Group

Returns the league table for a division, or one table per group for a group-stage competition.

Service type: Read — base URLs in §2.

/getStandingsForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1fixtureTypeIDintY1 = division, 2 = competition.
1fixtureGroupIdentifierintYThe division or competition.

Response fields

A <List> of tables. A division returns one; a group-stage competition returns one per group.

LevelFieldTypeRequiredNullableNotes
1standingsDescvarcharYTable name, e.g. "Premier Division" or "Group A".
1standingsLines <List><List>YOne line per team, in position order.
2positionvarcharYLeague position as text, e.g. "1".
2teamIDintY
2teamNamevarcharY
2pointsdecimalY
2bonusPointsdecimalY
2adjustmentMadevarcharYYPoints adjustment, if any.
2scoreDifferencedecimalYScore for minus score against.
2recentFormvarcharYMost recent results as letters, e.g. "WLWWW". See 6.6.
2overallPlayedintYAll fixtures played.
2overallWonintY
2overallTiedintYDrawn.
2overallLossintY
2overallScoreFordecimalY
2overallScoreAgainstdecimalY
2overallScoreForLevel2decimalYSecond scoring level, for sports that have one (e.g. legs). 0 otherwise.
2overallScoreAgainstLevel2decimalY
2overallScoreForLevel3decimalYThird scoring level. 0 if not used.
2overallScoreAgainstLevel3decimalY
2overallWinPercentagedecimalYPercentage, e.g. 66.7.
2homePlayedintYHome fixtures played.
2homeWonintY
2homeTiedintYDrawn.
2homeLossintY
2homeScoreFordecimalY
2homeScoreAgainstdecimalY
2homeScoreForLevel2decimalYSecond scoring level, for sports that have one (e.g. legs). 0 otherwise.
2homeScoreAgainstLevel2decimalY
2homeScoreForLevel3decimalYThird scoring level. 0 if not used.
2homeScoreAgainstLevel3decimalY
2homeRecentFormvarcharYHome form letters.
2roadPlayedintYAway fixtures played.
2roadWonintY
2roadTiedintYDrawn.
2roadLossintY
2roadScoreFordecimalY
2roadScoreAgainstdecimalY
2roadScoreForLevel2decimalYSecond scoring level, for sports that have one (e.g. legs). 0 otherwise.
2roadScoreAgainstLevel2decimalY
2roadScoreForLevel3decimalYThird scoring level. 0 if not used.
2roadScoreAgainstLevel3decimalY
2roadRecentFormvarcharYAway form letters.

Request / response example

GET https://api.leaguerepublic.com/json/getStandingsForFixtureGroup/1/389974692.json
[
  {
    "standingsDesc": "Premier Division",
    "standingsLines": [
      {
        "position": "1",
        "teamID": 191899149,
        "teamName": "Arthurlie",
        "overallPlayed": 6,
        "overallWon": 5,
        "overallTied": 0,
        "overallLoss": 1,
        "overallScoreFor": 15,
        "overallScoreAgainst": 8,
        "scoreDifference": 7,
        "points": 15,
        "recentForm": "WLWWWW"
      }
    ]
  }
]

Trimmed to the main fields of one line. Every field in the table above is returned.

Errors

Standard shapes in §3.4.

4.4Get Fixtures For Season

Returns every fixture in the season, played and unplayed, across all fixture groups.

Service type: Read — base URLs in §2.

/getFixturesForSeason/[seasonID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season.

Response fields

A <List> of fixtures.

LevelFieldTypeRequiredNullableNotes
1fixtureIDintYThe fixture's ID.
1fixtureDatevarcharYLocal date and time, yyyyMMdd HH:mm.
1fixtureDateInMillisecondsbigintYSame moment, milliseconds since 1 Jan 1970 UTC.
1fixtureDateStatusIDintYWhether the date is fixed. See 6.3.
1fixtureDateStatusDescvarcharYDescription of fixtureDateStatusID.
1fixtureStatusintYWhether the fixture is going ahead. See 6.2.
1fixtureStatusDescvarcharYDescription of fixtureStatus.
1fixtureGroupDescvarcharYName of the division or competition.
1fixtureGroupIdentifierintYIts ID. Use with fixtureTypeID.
1fixtureTypeIDintYSee 6.1.
1homeTeamintYHome team's ID.
1homeTeamNamevarcharYHome team's name.
1roadTeamintYAway team's ID.
1roadTeamNamevarcharYAway team's name.
1homeScorevarcharYYHome score as text. Null if not played.
1roadScorevarcharYYAway score as text. Null if not played.
1homeScoreNotevarcharYYNote shown next to the home score.
1roadScoreNotevarcharYYNote shown next to the away score.
1additionalScorevarcharYYExtra detail such as "(HT 2-0)" or "(Pens 4-5)".
1resultbooleanYTrue if the fixture has a result.
1noResultOutcomebooleanYTrue if recorded as having no result.
1fixtureNotevarcharYYMatch note, only when the league chooses to show it.
1roundDescvarcharYYCup round, e.g. "Final". Null for divisions.
1shortCodevarcharYOne-letter type code. See 6.4.
1venueAndSubVenueDescvarcharYYVenue, plus pitch or court if set.
1officialAssignments<List>YYAlways null here. Use Get Fixtures For Fixture Group Including Official Assignments.

Request / response example

GET https://api.leaguerepublic.com/json/getFixturesForSeason/922046009.json
[
  {
    "fixtureID": 41048450,
    "fixtureDate": "20250719 14:00",
    "fixtureDateInMilliseconds": 1752930000000,
    "fixtureDateStatusID": 1,
    "fixtureDateStatusDesc": "Normal / Scheduled",
    "fixtureGroupDesc": "West Of Scotland Charity Cup",
    "fixtureGroupIdentifier": 638722492,
    "fixtureTypeID": 2,
    "fixtureStatus": 0,
    "fixtureStatusDesc": "Normal",
    "homeTeam": 504402802,
    "homeTeamName": "Clydebank",
    "roadTeam": 363729896,
    "roadTeamName": "Auchinleck Talbot",
    "homeScore": "4",
    "roadScore": "1",
    "homeScoreNote": null,
    "roadScoreNote": null,
    "additionalScore": "(HT 2-0)",
    "result": true,
    "noResultOutcome": false,
    "fixtureNote": null,
    "roundDesc": "Final",
    "shortCode": "C",
    "venueAndSubVenueDesc": "Holm Park"
  }
]

Trimmed to one fixture.

Errors

Standard shapes in §3.4. Known issue: additionalScore is currently always null on this service and on Get Fixtures For Fixture Group. Get Fixtures For Team and Get Match Hub return it.

4.5Get Fixtures For Fixture Group

Returns every fixture in one division, competition or other fixture group.

Service type: Read — base URLs in §2.

/getFixturesForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1fixtureTypeIDintYSee 6.1.
1fixtureGroupIdentifierintYThe fixture group.

Response fields

A <List> of fixtures. The fixture group fields are not repeated on each fixture.

LevelFieldTypeRequiredNullableNotes
1fixtureIDintYThe fixture's ID.
1fixtureDatevarcharYLocal date and time, yyyyMMdd HH:mm.
1fixtureDateInMillisecondsbigintYSame moment, milliseconds since 1 Jan 1970 UTC.
1fixtureDateStatusIDintYWhether the date is fixed. See 6.3.
1fixtureDateStatusDescvarcharYDescription of fixtureDateStatusID.
1fixtureStatusintYWhether the fixture is going ahead. See 6.2.
1fixtureStatusDescvarcharYDescription of fixtureStatus.
1homeTeamintYHome team's ID.
1homeTeamNamevarcharYHome team's name.
1roadTeamintYAway team's ID.
1roadTeamNamevarcharYAway team's name.
1homeScorevarcharYYHome score as text. Null if not played.
1roadScorevarcharYYAway score as text. Null if not played.
1homeScoreNotevarcharYYNote shown next to the home score.
1roadScoreNotevarcharYYNote shown next to the away score.
1additionalScorevarcharYYExtra detail such as "(HT 2-0)" or "(Pens 4-5)".
1resultbooleanYTrue if the fixture has a result.
1noResultOutcomebooleanYTrue if recorded as having no result.
1fixtureNotevarcharYYMatch note, only when the league chooses to show it.
1roundDescvarcharYYCup round, e.g. "Final". Null for divisions.
1shortCodevarcharYOne-letter type code. See 6.4.
1venueAndSubVenueDescvarcharYYVenue, plus pitch or court if set.

Request / response example

GET https://api.leaguerepublic.com/json/getFixturesForFixtureGroup/1/389974692.json

Same shape as Get Fixtures For Season, without the fixture group fields.

Errors

Standard shapes in §3.4. Known issue: additionalScore is currently always null on this service.

4.6Get Fixtures For Fixture Group Including Official Assignments

As Get Fixtures For Fixture Group, plus the fixture group fields and the officials (referees, umpires) assigned to each fixture.

Service type: Read — base URLs in §2.

/getFixturesForFixtureGroupIncludingOfficialAssignments/[fixtureTypeID]/[fixtureGroupIdentifier].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1fixtureTypeIDintYSee 6.1.
1fixtureGroupIdentifierintYThe fixture group.

Response fields

A <List> of fixtures.

LevelFieldTypeRequiredNullableNotes
1fixtureIDintYThe fixture's ID.
1fixtureDatevarcharYLocal date and time, yyyyMMdd HH:mm.
1fixtureDateInMillisecondsbigintYSame moment, milliseconds since 1 Jan 1970 UTC.
1fixtureDateStatusIDintYWhether the date is fixed. See 6.3.
1fixtureDateStatusDescvarcharYDescription of fixtureDateStatusID.
1fixtureStatusintYWhether the fixture is going ahead. See 6.2.
1fixtureStatusDescvarcharYDescription of fixtureStatus.
1fixtureGroupDescvarcharYName of the division or competition.
1fixtureGroupIdentifierintYIts ID. Use with fixtureTypeID.
1fixtureTypeIDintYSee 6.1.
1homeTeamintYHome team's ID.
1homeTeamNamevarcharYHome team's name.
1roadTeamintYAway team's ID.
1roadTeamNamevarcharYAway team's name.
1homeScorevarcharYYHome score as text. Null if not played.
1roadScorevarcharYYAway score as text. Null if not played.
1homeScoreNotevarcharYYNote shown next to the home score.
1roadScoreNotevarcharYYNote shown next to the away score.
1additionalScorevarcharYYExtra detail such as "(HT 2-0)" or "(Pens 4-5)".
1resultbooleanYTrue if the fixture has a result.
1noResultOutcomebooleanYTrue if recorded as having no result.
1fixtureNotevarcharYYMatch note, only when the league chooses to show it.
1roundDescvarcharYYCup round, e.g. "Final". Null for divisions.
1shortCodevarcharYOne-letter type code. See 6.4.
1venueAndSubVenueDescvarcharYYVenue, plus pitch or court if set.
1officialAssignments <List><List>YYOfficials assigned. Null if none.
2firstNamevarcharY
2lastNamevarcharY
2officialPositionIDintYSee 6.5.

Request / response example

GET https://api.leaguerepublic.com/json/getFixturesForFixtureGroupIncludingOfficialAssignments/1/389974692.json
"officialAssignments": [
  {
    "firstName": "Paulo",
    "lastName": "Silva",
    "officialPositionID": 1
  }
]

Only the officials field is shown. Every other field is as in Get Fixtures For Season.

Errors

Standard shapes in §3.4.

4.7Get Fixtures For Team

New in 1.4

Returns every fixture one team has in a season, across all fixture groups, earliest first.

Service type: Read — base URLs in §2.

/getFixturesForTeam/[seasonID]/[teamID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season.
1teamIDintYThe team.

Response fields

A <List> of fixtures, sorted by date ascending. Same fields as Get Fixtures For Season, without officialAssignments. An empty list means the team has no fixtures in that season.

LevelFieldTypeRequiredNullableNotes
1fixtureIDintYThe fixture's ID.
1fixtureDatevarcharYLocal date and time, yyyyMMdd HH:mm.
1fixtureDateInMillisecondsbigintYSame moment, milliseconds since 1 Jan 1970 UTC.
1fixtureDateStatusIDintYWhether the date is fixed. See 6.3.
1fixtureDateStatusDescvarcharYDescription of fixtureDateStatusID.
1fixtureStatusintYWhether the fixture is going ahead. See 6.2.
1fixtureStatusDescvarcharYDescription of fixtureStatus.
1fixtureGroupDescvarcharYName of the division or competition.
1fixtureGroupIdentifierintYIts ID. Use with fixtureTypeID.
1fixtureTypeIDintYSee 6.1.
1homeTeamintYHome team's ID.
1homeTeamNamevarcharYHome team's name.
1roadTeamintYAway team's ID.
1roadTeamNamevarcharYAway team's name.
1homeScorevarcharYYHome score as text. Null if not played.
1roadScorevarcharYYAway score as text. Null if not played.
1homeScoreNotevarcharYYNote shown next to the home score.
1roadScoreNotevarcharYYNote shown next to the away score.
1additionalScorevarcharYYExtra detail such as "(HT 2-0)" or "(Pens 4-5)".
1resultbooleanYTrue if the fixture has a result.
1noResultOutcomebooleanYTrue if recorded as having no result.
1fixtureNotevarcharYYMatch note, only when the league chooses to show it.
1roundDescvarcharYYCup round, e.g. "Final". Null for divisions.
1shortCodevarcharYOne-letter type code. See 6.4.
1venueAndSubVenueDescvarcharYYVenue, plus pitch or court if set.

To tell whether the team was home or away, compare its ID with homeTeam and roadTeam.

Request / response example

GET https://api.leaguerepublic.com/json/getFixturesForTeam/922046009/504402802.json
[
  {
    "fixtureID": 41048450,
    "fixtureDate": "20250719 14:00",
    "fixtureDateInMilliseconds": 1752930000000,
    "fixtureDateStatusID": 1,
    "fixtureDateStatusDesc": "Normal / Scheduled",
    "fixtureGroupDesc": "West Of Scotland Charity Cup",
    "fixtureGroupIdentifier": 638722492,
    "fixtureTypeID": 2,
    "fixtureStatus": 0,
    "fixtureStatusDesc": "Normal",
    "homeTeam": 504402802,
    "homeTeamName": "Clydebank",
    "roadTeam": 363729896,
    "roadTeamName": "Auchinleck Talbot",
    "homeScore": "4",
    "roadScore": "1",
    "homeScoreNote": null,
    "roadScoreNote": null,
    "additionalScore": "(HT 2-0)",
    "result": true,
    "noResultOutcome": false,
    "fixtureNote": null,
    "roundDesc": "Final",
    "shortCode": "C",
    "venueAndSubVenueDesc": "Holm Park"
  }
]

Trimmed to one fixture.

Errors

Standard shapes in §3.4.

MessageMeaning
Supplied seasonID or teamID is not numericAn ID contains letters or symbols.

4.8Get Match Hub

New in 1.4

Returns everything on the league's Match Hub page for one day: seasons, match days, the day's fixtures grouped by fixture group, and the table for each division playing.

Service type: Read — base URLs in §2.

/getMatchHub/[seasonID].json
/getMatchHub/[seasonID]/[date].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season.
1datevarcharNOptional. yyyyMMdd, or tbc for fixtures with no date yet. Omitted: the day the Match Hub page opens on.

Response fields

An object. If the requested date has no fixtures, the default day is returned; matchHubDate shows which day was returned.

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season requested.
1seasonList <List><List>YAll the league's seasons.
2seasonIDintY
2seasonNamevarcharY
1matchHubDatevarcharYThe day returned, yyyyMMdd, or "tbc".
1matchHubRecapContentTextvarcharYYWritten round-up of the day, if the league uses recaps.
1matchHubRecapLoadDateTimebigintYYWhen the round-up was written, as milliseconds since 1 Jan 1970 UTC.
1dateList <List><List>YEvery match day in the season, in date order. A final "tbc" entry holds undated fixtures.
2matchHubDatevarcharYyyyyMMdd or "tbc".
2matchCountintYUnplayed fixtures that day.
2resultCountintYYFixtures with a result. Null on the tbc entry.
2liveResultCountintYYFixtures with a live score. Null unless live results are used.
1fixtureGroupList <List><List>YThe day's fixtures, grouped by division, cup round or other group.
2fixtureGroupDescvarcharYe.g. "Premier Division", "Scottish Cup - Round 1".
2fixtureGroupIdentifierintYFor a division, the division's ID. Known issue: for a cup round it is the round's ID, not the competition ID used by other services. Use fixtureGroupDesc to label it.
2fixtureTypeIDintYSee 6.1.
2fixtures <List><List>YFixture fields below. Same names as Get Fixtures For Season.
3fixtureIDintYThe fixture's ID.
3fixtureDatevarcharYLocal date and time, yyyyMMdd HH:mm.
3fixtureDateInMillisecondsbigintYSame moment, milliseconds since 1 Jan 1970 UTC.
3fixtureDateStatusIDintYWhether the date is fixed. See 6.3.
3fixtureDateStatusDescvarcharYDescription of fixtureDateStatusID.
3fixtureStatusintYWhether the fixture is going ahead. See 6.2.
3fixtureStatusDescvarcharYDescription of fixtureStatus.
3homeTeamintYHome team's ID.
3homeTeamNamevarcharYHome team's name.
3roadTeamintYAway team's ID.
3roadTeamNamevarcharYAway team's name.
3homeScorevarcharYYHome score as text. Null if not played.
3roadScorevarcharYYAway score as text. Null if not played.
3homeScoreNotevarcharYYNote shown next to the home score.
3roadScoreNotevarcharYYNote shown next to the away score.
3additionalScorevarcharYYExtra detail such as "(HT 2-0)" or "(Pens 4-5)".
3resultbooleanYTrue if the fixture has a result.
3noResultOutcomebooleanYTrue if recorded as having no result.
3fixtureNotevarcharYYMatch note, only when the league chooses to show it.
3roundDescvarcharYYCup round, e.g. "Final". Null for divisions.
3shortCodevarcharYOne-letter type code. See 6.4.
3venueAndSubVenueDescvarcharYYVenue, plus pitch or court if set.
3approvedbooleanYTrue once the league has approved the result. Unapproved and live results are included.
3matchInsightsExistbooleanYTrue if a match preview exists on the league's website.
3liveLastUpdatedvarcharYYDisplay text such as "Updated 12 minutes ago". Not a timestamp: show it as it is rather than parsing it. Null unless live results are used.
3liveSourceDescvarcharYYWhere the live score came from. Null unless live results are used.
3homeScoreHitsintYYSoftball and baseball only.
3homeScoreErrorsintYYSoftball and baseball only.
3roadScoreHitsintYYSoftball and baseball only.
3roadScoreErrorsintYYSoftball and baseball only.
3gameGroups <List><List>YYGames within the match (darts, pool, snooker). Null for other sports and unplayed fixtures.
4gameGroupDescvarcharYGame type, e.g. "Pairs".
4gameGroupDescShortvarcharYShort name, e.g. "PRS".
4homeWinCountintYGames of this type won by the home side.
4roadWinCountintYGames of this type won by the away side.
4games <List><List>YEach game, in order. No player names: use Get Full Fixture Details.
5sequenceintYOrder of the game: 1 = first.
5homeScoreLevel1varcharYHome score for the game, e.g. legs or frames.
5roadScoreLevel1varcharYAway score for the game.
3innings <List><List>YYScore by innings, quarter or period. Null for sports that do not use them.
4inningsNumberintYOrder: 1 = first.
4homeScorevarcharYHome score in that period.
4roadScorevarcharYAway score in that period.
4overtimebooleanYTrue for an overtime period. Number them by counting overtime entries in order.
2standingsobjectYYThe division's table. For a group-stage cup round, one group's table (known issue: only one group is returned). Null for knockout cup rounds and other groups.
3standingsDescvarcharY
3standingsLines <List><List>YSame fields as Get Standings For Fixture Group.

Innings scores and the final score are entered separately by the league and may not add up, for example on awarded results.

Request / response example

GET https://api.leaguerepublic.com/json/getMatchHub/236635540/20261002.json
{
  "seasonID": 236635540,
  "seasonList": [
    { "seasonID": 922046009, "seasonName": "2025-2026" },
    { "seasonID": 236635540, "seasonName": "2026-2027" }
  ],
  "matchHubDate": "20261002",
  "matchHubRecapContentText": null,
  "matchHubRecapLoadDateTime": null,
  "dateList": [
    { "matchHubDate": "20261002", "matchCount": 1, "resultCount": 0, "liveResultCount": 0 },
    { "matchHubDate": "tbc", "matchCount": 5, "resultCount": null, "liveResultCount": null }
  ],
  "fixtureGroupList": [
    {
      "fixtureGroupDesc": "Scottish Gas Scottish Cup - Round 1",
      "fixtureGroupIdentifier": 406990226,
      "fixtureTypeID": 2,
      "fixtures": [
        {
          "fixtureID": 45132961,
          "fixtureDate": "20261002 19:30",
          "fixtureDateInMilliseconds": 1790965800000,
          "homeTeam": 551804519,
          "homeTeamName": "Cumnock Juniors",
          "roadTeam": 363729896,
          "roadTeamName": "Auchinleck Talbot",
          "homeScore": null,
          "roadScore": null,
          "result": false,
          "approved": false,
          "roundDesc": "Round 1",
          "venueAndSubVenueDesc": "Townhead Park",
          "gameGroups": null,
          "innings": null
        }
      ],
      "standings": null
    }
  ]
}

Trimmed to one fixture and the main fields. Every field in the table above is returned.

gameGroups (darts)

"gameGroups": [
  {
    "gameGroupDesc": "Pairs",
    "gameGroupDescShort": "PRS",
    "homeWinCount": 2,
    "roadWinCount": 1,
    "games": [
      { "sequence": 1, "homeScoreLevel1": "2", "roadScoreLevel1": "0" },
      { "sequence": 2, "homeScoreLevel1": "2", "roadScoreLevel1": "0" },
      { "sequence": 3, "homeScoreLevel1": "0", "roadScoreLevel1": "2" }
    ]
  }
]

innings (basketball, with overtime)

"innings": [
  { "inningsNumber": 1, "homeScore": "13", "roadScore": "19", "overtime": false },
  { "inningsNumber": 2, "homeScore": "26", "roadScore": "18", "overtime": false },
  { "inningsNumber": 3, "homeScore": "9", "roadScore": "16", "overtime": false },
  { "inningsNumber": 4, "homeScore": "22", "roadScore": "17", "overtime": false },
  { "inningsNumber": 5, "homeScore": "6", "roadScore": "8", "overtime": true }
]

Errors

Standard shapes in §3.4.

MessageMeaning
Supplied seasonID is not numericThe season ID contains letters or symbols.
Supplied date is not valid, expected format yyyyMMdd or tbcThe date is not yyyyMMdd or tbc, or is not a real date.

4.9Get Full Fixture Details

Returns everything about one fixture: the fixture, venue, players in each game, and statistics.

Service type: Read — base URLs in §2.

/getFullFixtureDetails/[fixtureID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1fixtureIDintYThe fixture.

Response fields

An object.

LevelFieldTypeRequiredNullableNotes
1fixtureobjectYThe fixture. Same fields as Get Fixtures For Season, with officialAssignments.
1venueobjectYY
2venueNamevarcharY
2venueAddr1varcharYY
2venueAddr2varcharYY
2venueAddr3varcharYY
2venueCityvarcharYY
2venueCountyvarcharYY
2venueStatevarcharYY
2venueZipOrPostCodevarcharYY
2venueDirvarcharYYDirections.
2contactPhoneNumbervarcharYY
1availableHomePlayers <List><List>YYPlayers available to the home team.
2personIDintY
2firstNamevarcharY
2lastNamevarcharY
2handicapValuevarcharYYPlayer handicap, if the league uses handicaps.
1availableRoadPlayers <List><List>YYAs availableHomePlayers.
1gameFormatobjectYYLeagues with several games per match (darts, pool). Null otherwise.
2gameGroups <List><List>Y
3gameGroupDescvarcharY
3games <List><List>Y
4sequenceintYOrder of the game: 1 = first.
4homeScoreLevel1varcharY
4roadScoreLevel1varcharY
4homePlayers <List><List>YPlayers in the game.
5firstNamevarcharY
5lastNamevarcharY
5personIDintY
5playerNumberintYYPlayer's number in the game, e.g. 1 or 2 in pairs.
5squadNumberintYYShirt or squad number, if set.
4roadPlayers <List><List>NAs homePlayers. Omitted when empty.
1homeLeagueStatTypes <List><List>YYHome team statistics, by statistic type.
2leagueStatTypeNamevarcharYe.g. "180s".
2statistics <List><List>Y
3firstNamevarcharY
3lastNamevarcharY
3personIDintY
3statisticValuevarcharYe.g. "2.00".
1roadLeagueStatTypes <List><List>YYAs homeLeagueStatTypes.

Request / response example

GET https://api.leaguerepublic.com/json/getFullFixtureDetails/32609322.json
{
  "fixture": { "fixtureID": 32609322, "homeTeamName": "Kings Arms", "roadTeamName": "Moreton Arms", "homeScore": "3", "roadScore": "0", "result": true },
  "venue": { "venueName": "Kings Arms", "venueCity": null },
  "gameFormat": {
    "gameGroups": [
      {
        "gameGroupDesc": "sng",
        "games": [
          {
            "sequence": 1,
            "homeScoreLevel1": "1",
            "roadScoreLevel1": "0",
            "homePlayers": [
              { "firstName": "Cecil", "lastName": "O'Brian", "personID": 519405149, "playerNumber": 1, "squadNumber": null }
            ]
          }
        ]
      }
    ]
  },
  "homeLeagueStatTypes": [
    {
      "leagueStatTypeName": "180s",
      "statistics": [
        { "firstName": "Cecil", "lastName": "O'Brian", "personID": 519405149, "statisticValue": "2.00" }
      ]
    }
  ],
  "roadLeagueStatTypes": null
}

Trimmed. Example data is from the LeagueRepublic demo league.

Errors

Standard shapes in §3.4.

4.10Get Teams For Fixture Group

Returns the teams in a fixture group.

Service type: Read — base URLs in §2.

/getTeamsForFixtureGroup/[fixtureTypeID]/[fixtureGroupIdentifier].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1fixtureTypeIDintYSee 6.1.
1fixtureGroupIdentifierintYThe fixture group.

Response fields

A <List> of teams.

LevelFieldTypeRequiredNullableNotes
1teamIDintY
1teamNamevarcharY

Request / response example

GET https://api.leaguerepublic.com/json/getTeamsForFixtureGroup/1/389974692.json
[
  { "teamID": 191899149, "teamName": "Arthurlie" }
]

Errors

Standard shapes in §3.4.

4.11Get Statistic Summary For Team

Returns player statistics and ratings for a team in a season. Game-format statistics are not included.

Service type: Read — base URLs in §2.

/getStatisticSummaryForTeam/[seasonID]/[teamID].json

Request parameters

LevelFieldTypeRequiredNullableNotes
1seasonIDintYThe season.
1teamIDintYThe team.

Response fields

An object.

LevelFieldTypeRequiredNullableNotes
1listCumulativePersonStatSummary <List><List>YOne entry per player per statistic type. Players with no statistics yet appear once, with the statistic fields null.
2personIDintY
2firstNamevarcharY
2lastNamevarcharY
2leagueStatTypeIDintYYNull for a player with no statistics yet.
2leagueStatTypeNamevarcharYYe.g. "180s".
2statTypeValuevarcharYYTotal, e.g. "1.00".
2numberEnteredintYHow many times it was recorded. 0 if none.
2handicapValuevarcharYY
2eloRatingintYYThe player's rating across all seasons, if the league uses ratings.
2eloSeasonRatingintYYThe player's rating for this season.
1listNonCumulativePersonStatSummary <List><List>YStatistics that are not added up, such as a best or lowest value. One entry per player per statistic type.
2personIDintY
2firstNamevarcharY
2lastNamevarcharY
2leagueStatTypeIDintY
2leagueStatTypeNamevarcharYe.g. "Least Darts Thrown".
2statTypeValuevarcharYThe value, e.g. "6.00".
2handicapValuevarcharYY
2eloRatingintYY
2eloSeasonRatingintYY

Request / response example

GET https://api.leaguerepublic.com/json/getStatisticSummaryForTeam/153020000/154033156.json
{
  "listCumulativePersonStatSummary": [
    {
      "firstName": "Michael",
      "handicapValue": null,
      "lastName": "Ferdinand",
      "leagueStatTypeID": 466651520,
      "leagueStatTypeName": "180s",
      "numberEntered": 1,
      "personID": 275084260,
      "statTypeValue": "1.00",
      "eloRating": null,
      "eloSeasonRating": null
    }
  ],
  "listNonCumulativePersonStatSummary": [
    {
      "firstName": "Michael",
      "handicapValue": null,
      "lastName": "Ferdinand",
      "leagueStatTypeID": 888557501,
      "leagueStatTypeName": "Least Darts Thrown",
      "personID": 275084260,
      "statTypeValue": "6.00",
      "eloRating": null,
      "eloSeasonRating": null
    }
  ]
}

Example data is from the LeagueRepublic demo league.

Errors

Standard shapes in §3.4.

5Obsolete and proposed services

None in this version. No services are obsolete or proposed.

6Reference data

6.1Appendix 1 — Fixture types (fixtureTypeID)

ValueDescription
1Division
2Competition (cup)
4Other fixture group

6.2Appendix 2 — Fixture status (fixtureStatus)

ValueDescription
0Normal
2Postponed
3Home Walkover
OtherFurther values may appear. Show fixtureStatusDesc rather than mapping the number yourself.

6.3Appendix 3 — Fixture date status (fixtureDateStatusID)

ValueDescription
1Normal / Scheduled
2To Be Confirmed. These fixtures appear in Get Match Hub only when tbc is requested.

6.4Appendix 4 — Short codes (shortCode)

ValueDescription
LLeague (division)
CCup (competition)
OOther

6.5Appendix 5 — Official positions (officialPositionID)

ValueDescription
1Referee (the main official)
2–8Additional officials, such as assistant referees. Up to 8 per fixture.

6.6Appendix 6 — Form letters (recentForm)

ValueDescription
WWon
DDrawn
LLost

7Change log

VersionChanged byDateChange
1.3LR8 Nov 2023PDF reference covering nine services.
1.4Angelo Kyeremateng6 Oct 2026Replaces the PDF with this specification. Adds Get Match Hub and Get Fixtures For Team. Adds homeTeam / roadTeam to fixtures; homeScoreForLevel2/3 and roadScoreFor, roadScoreForLevel2/3 to standings; sequence to games; personID, playerNumber, squadNumber to game players. Documents fields the v1.3 PDF left out (eloRating, eloSeasonRating, listNonCumulativePersonStatSummary, handicapValue on available players, fixture group fields on the officials list, fixture status 3), the rate limit and the error shapes.