Car Service
iracing.car
Vehicle information and assets
assets()- Car images and paint schemesget()- Complete car database
The iRacing Data Client SDK organizes its functionality into 15 service classes, each providing access to specific areas of the iRacing Data API. This page provides a complete overview of all available services and their capabilities.
Each service follows a consistent pattern:
const iracing = new IRacingDataClient(options);
// Access services as propertiesconst memberInfo = await iracing.member.info();const carData = await iracing.car.get();const trackAssets = await iracing.track.assets();Car Service
iracing.car
Vehicle information and assets
assets() - Car images and paint schemesget() - Complete car databaseCar Class Service
Constants Service
iracing.constants
System constants and lookups
categories() - Competition categoriesdivisions() - License divisionseventTypes() - Session event typesDriver Stats Service
iracing.driverStatsByCategory
Category-specific driver statistics
oval() - Oval racing statsroad() - Road racing statsdirtOval() - Dirt oval statsdirtRoad() - Dirt road statssportsCar() - Sports car statsformulaCar() - Formula car statsHosted Service
iracing.hosted
Hosted and private sessions
combinedSessions() - All session typessessions() - Hosted sessions onlyLeague Service
iracing.league
League management and data
directory() - Search leaguesget() - League detailsmembership() - Member statusroster() - League membersseasons() - League seasonsseasonStandings() - Points standingsseasonSessions() - Race sessionsgetPointsSystems() - Scoring systemscustLeagueSessions() - Customer’s league sessionsLookup Service
iracing.lookup
Reference data lookups
countries() - Country listdrivers() - Driver searchflairs() - Profile flairsget() - General lookupslicenses() - License levelsMember Service
iracing.member
Member profiles and data
info() - Current member infoget() - Member by IDprofile() - Public profileawards() - Achievement awardsawardInstances() - Earned awardschartData() - Performance chartsparticipationCredits() - Credit balanceResults Service
iracing.results
Race results and data
get() - Session resultssearchSeries() - Series results searchsearchHosted() - Hosted results searchseasonResults() - Full season resultseventLog() - Race eventslapData() - Lap-by-lap datalapChartData() - Lap chartsSeason Service
iracing.season
Season scheduling and info
list() - All seasonsraceGuide() - Upcoming racesspectatorSubsessionids() - Spectator sessionsspectatorSubsessionidsDetail() - Spectator detailsSeries Service
iracing.series
Series information
get() - All seriesassets() - Series imagespastSeasons() - Historical seasonsseasons() - Current seasonsseasonList() - Season listseasonSchedule() - Race schedulestatsSeries() - Series statisticsStats Service
iracing.stats
Statistics and standings
memberBests() - Personal recordsmemberCareer() - Career statsmemberDivision() - Division statsmemberRecap() - Season recapmemberRecentRaces() - Recent resultsmemberSummary() - Quick summarymemberYearly() - Annual statsseasonDriverStandings() - Driver pointsseasonTeamStandings() - Team pointsseasonSupersessionStandings() - Supersession standingsseasonTtStandings() - Time trial standingsseasonTtResults() - Time trial resultsseasonQualifyResults() - Qualifying resultsworldRecords() - Track recordsTeam Service
iracing.team
Team management
get() - Team informationmembership() - Team membersTime Attack Service
iracing.timeAttack
Time attack competitions
memberSeasonResults() - Season resultsTrack Service
iracing.track
Track information
assets() - Track maps and imagesget() - Track databaseServices can be grouped by their primary function:
Services that provide static content and asset information:
Services focused on member data and profiles:
Services for race data and competition results:
Services for leagues, seasons, and scheduling:
Many methods require no parameters:
// Get all carsconst cars = await iracing.car.get();
// Get member info for authenticated userconst info = await iracing.member.info();
// Get all track assetsconst tracks = await iracing.track.assets();Some methods require specific parameters:
// Get specific members by IDconst members = await iracing.member.get({ custIds: [123456, 789012]});
// Search for leagueconst leagues = await iracing.league.directory({ search: 'League Name', active: true});
// Get season standingsconst standings = await iracing.stats.seasonDriverStandings({ seasonId: 3456, carClassId: 789});Many methods support optional filtering:
// Basic callconst results = await iracing.results.searchSeries({ seasonId: 3456});
// With optional filtersconst filteredResults = await iracing.results.searchSeries({ seasonId: 3456, raceWeekNum: 5, official: true, eventType: 5});All service methods return fully typed responses:
// TypeScript knows the exact shapeconst cars = await iracing.car.get();// cars is typed as CarGetResponse[]
cars.forEach(car => { console.log(car.carName); // ✅ TypeScript knows this exists console.log(car.carWeight); // ✅ Valid property console.log(car.wrongProp); // ❌ TypeScript error});All services use consistent error handling:
try { const data = await iracing.member.info();} catch (error) { if (error instanceof IRacingError) { // Handle specific error types if (error.isMaintenanceMode) { console.log('Service is in maintenance'); } else if (error.isRateLimited) { console.log('Rate limit exceeded'); } else if (error.isUnauthorized) { console.log('Authentication required'); } }}Cache Data
Response caching is coming in a future release. For now, see the Caching guide for strategies you can implement yourself.
Batch Requests
When fetching multiple members or results, use batch parameters to reduce API calls.
Respect Rate Limits
Avoid rapid successive calls. The API has rate limiting to prevent abuse.
Filter Early
Use available parameters to filter data at the API level rather than client-side.
| Service | Methods | Primary Use |
|---|---|---|
car | 2 | Vehicle data and assets |
carclass | 1 | Car classifications |
constants | 3 | System constants |
driverStatsByCategory | 6 | Category statistics |
hosted | 2 | Hosted sessions |
league | 9 | League management |
lookup | 5 | Reference lookups |
member | 7 | Member profiles |
results | 7 | Race results |
season | 4 | Season schedules |
series | 7 | Series information |
stats | 15 | Performance statistics |
team | 2 | Team management |
timeAttack | 1 | Time trials |
track | 2 | Track information |