League Service
League Service
Section titled “League Service”The League service provides comprehensive access to league management, rosters, seasons, standings, and sessions.
const leagueService = iracing.league;Methods
Section titled “Methods”get(params)
Section titled “get(params)”Get detailed information about a league.
Returns: Promise<LeagueGetResponse>
Parameters:
leagueId: number(required) - The league IDincludeLicenses?: boolean- Include license information for members
Description: Returns detailed information about a specific league.
const league = await iracing.league.get({ leagueId: 1234, includeLicenses: true});
console.log(`${league.leagueName}`);console.log(`Owner: ${league.ownerDisplayName}`);directory(params?)
Section titled “directory(params?)”Search the league directory.
Returns: Promise<LeagueDirectoryResponse>
Parameters:
search?: string- Search term for league nametag?: string- Filter by tagrestrictToMember?: boolean- Only leagues you belong torestrictToRecruiting?: boolean- Only leagues currently recruitingrestrictToFriends?: boolean- Only leagues with friendsrestrictToWatched?: boolean- Only watched leaguesminimumRosterCount?: number- Minimum number of membersmaximumRosterCount?: number- Maximum number of memberslowerbound?: number- Lower bound for paginationupperbound?: number- Upper bound for paginationsort?: string- Sort fieldorder?: string- Sort order
Description: Searches the league directory with various filtering and sorting options.
// Search for leagues by nameconst leagues = await iracing.league.directory({ search: 'Endurance', restrictToRecruiting: true});
// Get your leaguesconst myLeagues = await iracing.league.directory({ restrictToMember: true});membership(params?)
Section titled “membership(params?)”Get league membership information.
Returns: Promise<LeagueMembershipResponse>
Parameters:
custId?: number- Customer ID (defaults to authenticated user)includeLeague?: boolean- Include full league details
Description: Returns the leagues that a member belongs to.
// Get your own membershipsconst memberships = await iracing.league.membership({ includeLeague: true});
// Get another member's membershipsconst otherMemberships = await iracing.league.membership({ custId: 123456});roster(params)
Section titled “roster(params)”Get a league’s roster.
Returns: Promise<LeagueRosterResponse>
Parameters:
leagueId: number(required) - The league IDincludeLicenses?: boolean- Include license information
Description: Returns the full member roster for a league.
const roster = await iracing.league.roster({ leagueId: 1234, includeLicenses: true});
roster.members.forEach(member => { console.log(`${member.displayName} (ID: ${member.custId})`);});seasons(params)
Section titled “seasons(params)”Get a league’s seasons.
Returns: Promise<LeagueSeasonsResponse>
Parameters:
leagueId: number(required) - The league IDretired?: boolean- Include retired seasons
Description: Returns all seasons for a league, optionally including retired ones.
const seasons = await iracing.league.seasons({ leagueId: 1234, retired: false});
seasons.forEach(season => { console.log(`${season.seasonName} (ID: ${season.seasonId})`);});seasonStandings(params)
Section titled “seasonStandings(params)”Get standings for a league season.
Returns: Promise<LeagueSeasonStandingsResponse>
Parameters:
leagueId: number(required) - The league IDseasonId: number(required) - The season IDcarClassId?: number- Filter by car classcarId?: number- Filter by car
Description: Returns the points standings for a specific league season.
const standings = await iracing.league.seasonStandings({ leagueId: 1234, seasonId: 5678});
standings.forEach(entry => { console.log(`${entry.position}. ${entry.displayName}: ${entry.points} pts`);});seasonSessions(params)
Section titled “seasonSessions(params)”Get sessions for a league season.
Returns: Promise<LeagueSeasonSessionsResponse>
Parameters:
leagueId: number(required) - The league IDseasonId: number(required) - The season IDresultsOnly?: boolean- Only return sessions with results
Description: Returns all scheduled and completed sessions for a league season.
const sessions = await iracing.league.seasonSessions({ leagueId: 1234, seasonId: 5678, resultsOnly: true});
sessions.forEach(session => { console.log(`${session.sessionName} - ${session.launchAt}`);});getPointsSystems(params)
Section titled “getPointsSystems(params)”Get points systems for a league.
Returns: Promise<LeagueGetPointsSystemsResponse>
Parameters:
leagueId: number(required) - The league IDseasonId?: number- Filter to a specific season
Description: Returns the custom points systems configured for a league.
const pointsSystems = await iracing.league.getPointsSystems({ leagueId: 1234});
pointsSystems.forEach(system => { console.log(`${system.name}: ${system.description}`);});custLeagueSessions(params?)
Section titled “custLeagueSessions(params?)”Get the customer’s league sessions.
Returns: Promise<LeagueCustLeagueSessionsResponse>
Parameters:
mine?: boolean- Only show your sessionspackageId?: number- Filter by content package
Description: Returns league sessions relevant to the authenticated member.
const sessions = await iracing.league.custLeagueSessions({ mine: true});
sessions.forEach(session => { console.log(`${session.leagueName} - ${session.sessionName}`);});Common Use Cases
Section titled “Common Use Cases”Get Complete League Info
Section titled “Get Complete League Info”async function getLeagueOverview(leagueId: number) { const [league, roster, seasons] = await Promise.all([ iracing.league.get({ leagueId }), iracing.league.roster({ leagueId }), iracing.league.seasons({ leagueId }), ]);
return { name: league.leagueName, memberCount: roster.members.length, activeSeasons: seasons.filter(s => !s.retired), };}See Also
Section titled “See Also”- Results Service - Race results for league sessions
- Member Service - Member profile data
- Services Overview - All available services