Skip to content

Instantly share code, notes, and snippets.

@teknologika
Last active July 19, 2025 13:10
Show Gist options
  • Select an option

  • Save teknologika/0127fa9a031ec686537277a954972ad0 to your computer and use it in GitHub Desktop.

Select an option

Save teknologika/0127fa9a031ec686537277a954972ad0 to your computer and use it in GitHub Desktop.
iRacing Telemetry Documentation

Position and Physics

Name Unit Type Status Description
Speed m/s float GPS vehicle speed
Yaw rad float Yaw orientation
YawNorth rad float Yaw orientation relative to north
Pitch rad float Pitch orientation
Roll rad float Roll orientation
YawRate rad/s float Yaw rate
YawRate_ST rad/s float NEW Yaw rate (sub-tick)
PitchRate rad/s float Pitch rate
PitchRate_ST rad/s float NEW Pitch rate (sub-tick)
RollRate rad/s float Roll rate
RollRate_ST rad/s float NEW Roll rate (sub-tick)
VelocityX m/s float X velocity
VelocityX_ST m/s float NEW X velocity (sub-tick)
VelocityY m/s float Y velocity
VelocityY_ST m/s float NEW Y velocity (sub-tick)
VelocityZ m/s float Z velocity
VelocityZ_ST m/s float NEW Z velocity (sub-tick)
LatAccel m/s² float Lateral acceleration (including gravity)
LatAccel_ST m/s² float NEW Lateral acceleration (sub-tick)
LongAccel m/s² float Longitudinal acceleration (including gravity)
LongAccel_ST m/s² float NEW Longitudinal acceleration (sub-tick)
VertAccel m/s² float Vertical acceleration (including gravity)
VertAccel_ST m/s² float NEW Vertical acceleration (sub-tick)

Note: Variables with _ST suffix provide sub-tick precision data for enhanced accuracy in physics calculations and data analysis.

Geographic Data (Legacy - 2015 Only)

Name Unit Type Status Description
Lat deg double Latitude in decimal degrees (deprecated)
Lon deg double Longitude in decimal degrees (deprecated)
Alt m float Altitude in meters (deprecated)

Engine and Vehicle Systems

Name Unit Type Status Description
EngineWarnings irsdk_EngineWarnings Bitfield for warning lights
FuelLevel l float Liters of fuel remaining
FuelLevelPct % float Percent fuel remaining
FuelPress bar float Engine fuel pressure
FuelUsePerHour kg/h float Engine fuel used instantaneous
ManifoldPress bar float Engine manifold pressure
OilLevel l float Engine oil level
OilPress bar float Engine oil pressure
OilTemp C float Engine oil temperature
Voltage V float Engine voltage
WaterLevel l float Engine coolant level
WaterTemp C float Engine coolant temp
BrakeABSactive bool NEW ABS system active

Shift and Power Systems

Name Unit Type Status Description
ShiftIndicatorPct % float DEPRECATED use DriverCarSLBlinkRPM instead
ShiftPowerPct % float Friction torque applied to gears when shifting or grinding
ShiftGrindRPM RPM float RPM of shifter grinding noise

Weather and Environment

Name Unit Type Status Description
TrackTemp C float Temperature of track at start/finish line
TrackTempCrew C float Temperature of track measured by crew around track
TrackWetness float NEW Track wetness level
AirTemp C float Temperature of air at start/finish line
AirDensity kg/m³ float Density of air at start/finish line
AirPressure Hg float Pressure of air at start/finish line
WindVel m/s float Wind velocity at start/finish line
WindDir rad float Wind direction at start/finish line
RelativeHumidity % float Relative Humidity
FogLevel % float Fog level
WeatherType int Weather type (0=constant 1=dynamic)
Skies int Skies (0=clear/1=p cloudy/2=m cloudy/3=overcast)

Driver Change and Team Racing

Name Unit Type Status Description
DCLapStatus int Status of driver change lap requirements
DCDriversSoFar int Number of team drivers who have run a stint

System and Graphics

Name Unit Type Status Description
OkToReloadTextures bool NEW Safe to reload textures
LoadNumTextures bool NEW Load number of textures
CarLeftRight int NEW Car left/right indicator
VidCapEnabled bool NEW Video capture enabled
VidCapActive bool NEW Video capture active

Pit Services and Repairs

Name Unit Type Status Description
PitsOpen bool NEW Pit lane open
PitRepairLeft s float Time left for mandatory pit repairs if repairs are active
PitOptRepairLeft s float Time left for optional repairs if repairs are active
PitstopActive bool NEW Pitstop currently active
FastRepairUsed int NEW Fast repairs used
FastRepairAvailable int NEW Fast repairs available
PitSvFlags irsdk_PitSvFlags Bitfield of pit service checkboxes
PitSvLFP kPa float Pit service left front tire pressure
PitSvRFP kPa float Pit service right front tire pressure
PitSvLRP kPa float Pit service left rear tire pressure
PitSvRRP kPa float Pit service right rear tire pressure
PitSvFuel l float Pit service fuel add amount
PitSvTireCompound int NEW Pit service tire compound

Enhanced Tire Management

Individual Tire Usage Tracking

Name Unit Type Status Description
LFTiresUsed int NEW Left front tires used
RFTiresUsed int NEW Right front tires used
LRTiresUsed int NEW Left rear tires used
RRTiresUsed int NEW Right rear tires used
LFTiresAvailable int NEW Left front tires available
RFTiresAvailable int NEW Right front tires available
LRTiresAvailable int NEW Left rear tires available
RRTiresAvailable int NEW Right rear tires available

Tire Set Tracking

Name Unit Type Status Description
LeftTireSetsUsed int NEW Left side tire sets used
RightTireSetsUsed int NEW Right side tire sets used
FrontTireSetsUsed int NEW Front tire sets used
RearTireSetsUsed int NEW Rear tire sets used
TireSetsUsed int NEW Total tire sets used
LeftTireSetsAvailable int NEW Left side tire sets available
RightTireSetsAvailable int NEW Right side tire sets available
FrontTireSetsAvailable int NEW Front tire sets available
RearTireSetsAvailable int NEW Rear tire sets available
TireSetsAvailable int NEW Total tire sets available

Camera System

Name Unit Type Status Description
CamCarIdx int Active camera's focus car index
CamCameraNumber int Active camera number
CamGroupNumber int Active camera group number
CamCameraState irsdk_CameraState State of camera system

Tire Rumble Effects

Name Unit Type Status Description
TireLF_RumblePitch Hz float NEW Left front tire rumble pitch
TireRF_RumblePitch Hz float NEW Right front tire rumble pitch
TireLR_RumblePitch Hz float NEW Left rear tire rumble pitch
TireRR_RumblePitch Hz float NEW Right rear tire rumble pitch

Driver Controls and Adjustments

Name Unit Type Status Description
dcStarter bool NEW Driver control starter
dcTearOffVisor bool NEW Driver control tear off visor

Pitstop Adjustments

Name Unit Type Status Description
dpRFTireChange float NEW Pitstop right front tire change
dpLFTireChange float NEW Pitstop left front tire change
dpRRTireChange float NEW Pitstop right rear tire change
dpLRTireChange float NEW Pitstop left rear tire change
dpFuelFill float NEW Pitstop fuel fill
dpFuelAddKg kg float NEW Pitstop fuel add in kg
dpFastRepair float NEW Pitstop fast repair
dpLFTireColdPress kPa float NEW Pitstop left front tire cold pressure
dpRFTireColdPress kPa float NEW Pitstop right front tire cold pressure
dpLRTireColdPress kPa float NEW Pitstop left rear tire cold pressure
dpRRTireColdPress kPa float NEW Pitstop right rear tire cold pressure

Overview

This documentation covers the iRacing telemetry API evolution from the original 2015 specification through the current implementation. The telemetry system provides comprehensive racing data through multiple channels:

  • Historical (2015): Data written to .ibt files and live API at 60Hz
  • Current: Enhanced telemetry with sub-tick precision and modern racing features
  • Session String: YAML format containing session metadata and static information

Appendix A – Telemetry Variables

Data Collection Methods

iRacing's telemetry comes in three variations:

  • Data written to an .ibt file 60 times a second
  • Live data exposed to our telemetry API 60 times a second
  • A session string in YAML format that contains more or less static information about the session

The YAML string is appended to the end of the .ibt file but only a small portion of that data is exposed to ATLAS.

Note: This documentation combines the original 2015 specification with current telemetry variables. Variables marked with NEW are additions since 2015, while variables marked with 2015 are from the original specification. Variables marked with BOTH exist in both versions.

Session and Race Control

Name Unit Type Status Description
SessionTime s double Seconds since session start
SessionTick int NEW Session tick counter
SessionNum int Session number
SessionState irsdk_SessionState Session state
SessionUniqueID int Session ID
SessionFlags irsdk_Flags bitfield Session flags
SessionTimeRemain s double Seconds left till session ends
SessionLapsRemain int Laps left till session ends
SessionLapsRemainEx int NEW Extended laps remaining data
SessionTimeTotal s double NEW Total session time
SessionLapsTotal int NEW Total session laps
SessionJokerLapsRemain int NEW Joker laps remaining
SessionOnJokerLap bool NEW Currently on joker lap
SessionTimeOfDay s float NEW Time of day in session
RadioTransmitCarIdx int The car index of the current person speaking on the radio
RadioTransmitRadioIdx int The radio index of the current person speaking on the radio
RadioTransmitFrequencyIdx int The frequency index of the current person speaking on the radio
DisplayUnits int Default units for the user interface 0 = english 1 = metric
DriverMarker bool Driver activated flag
EnterExitReset int Indicate action the reset key will take 0 enter 1 exit 2 reset

Push-to-Pass and Boost Systems

Name Unit Type Status Description
PushToPass bool NEW Push-to-pass system activated
ManualBoost bool NEW Manual boost activated
ManualNoBoost bool NEW Manual boost disabled
CarIdxP2P_Status bool[] NEW Push-to-pass status by car index
CarIdxP2P_Count int[] NEW Push-to-pass count by car index

Track and Replay Status

Name Unit Type Status Description
IsOnTrack bool 1=Car on track physics running with player in car
IsOnTrackCar bool 1=Car on track physics running
IsInGarage bool 1=Car in garage physics running
IsReplayPlaying bool 0=replay not playing 1=replay playing
ReplayFrameNum int Integer replay frame number (60 per second)
ReplayFrameNumEnd int Integer replay frame number from end of tape
ReplayPlaySpeed int Replay playback speed
ReplayPlaySlowMotion bool 0=not slow motion 1=replay is in slow motion
ReplaySessionTime s double Seconds since replay session start
ReplaySessionNum int Replay session number
IsDiskLoggingEnabled bool 0=disk based telemetry turned off 1=turned on
IsDiskLoggingActive bool 0=disk based telemetry file not being written 1=being written

Performance Monitoring

Name Unit Type Status Description
FrameRate fps float Average frames per second
CpuUsageFG % float NEW Foreground CPU usage
CpuUsageBG % float Percent of available time bg thread took with a 1 sec avg
GpuUsage % float NEW GPU usage percentage
MemPageFaultSec float NEW Memory page faults per second
ChanAvgLatency ms float NEW Channel average latency
ChanLatency ms float NEW Channel current latency
ChanQuality % float NEW Channel quality percentage
ChanPartnerQuality % float NEW Partner channel quality
ChanClockSkew float NEW Channel clock skew

Player Car Data

Name Unit Type Status Description
PlayerCarIdx int NEW Player car index
PlayerCarPosition int Players position in race
PlayerCarClassPosition int Players class position in race
PlayerCarClass int NEW Player car class
PlayerTrackSurface int NEW Player track surface type
PlayerTrackSurfaceMaterial int NEW Player track surface material
PlayerCarTeamIncidentCount int NEW Team incident count
PlayerCarMyIncidentCount int NEW Personal incident count
PlayerCarDriverIncidentCount int NEW Driver incident count
PlayerCarWeightPenalty kg float NEW Weight penalty applied
PlayerCarPowerAdjust % float NEW Power adjustment percentage
PlayerCarDryTireSetLimit int NEW Dry tire set limit
PlayerCarTowTime s float NEW Time spent being towed
PlayerCarInPitStall bool NEW Player car in pit stall
PlayerCarPitSvStatus int NEW Pit service status
PlayerTireCompound int NEW Player tire compound
PlayerFastRepairsUsed int NEW Fast repairs used by player

Car Index Arrays (Multi-Car Data)

These variables provide data for all cars in the session (up to 64 entries):

Name Unit Type Status Description
CarIdxLap int[] Lap count by car index
CarIdxLapCompleted int[] NEW Completed laps by car index
CarIdxLapDistPct % float[] Percentage distance around lap by car index
CarIdxTrackSurface int[] Track surface type by car index
CarIdxTrackSurfaceMaterial int[] NEW Track surface material by car index
CarIdxOnPitRoad bool[] On pit road between the cones by car index
CarIdxPosition int[] Cars position in race by car index
CarIdxClassPosition int[] Cars class position in race by car index
CarIdxClass int[] NEW Car class by car index
CarIdxF2Time s float[] Race time behind leader or fastest lap time otherwise
CarIdxEstTime s float[] Estimated time to reach current location on track
CarIdxLastLapTime s float[] NEW Last lap time by car index
CarIdxBestLapTime s float[] NEW Best lap time by car index
CarIdxBestLapNum int[] NEW Best lap number by car index
CarIdxTireCompound int[] NEW Tire compound by car index
CarIdxQualTireCompound int[] NEW Qualifying tire compound by car index
CarIdxQualTireCompoundLocked bool[] NEW Qualifying tire compound locked
CarIdxFastRepairsUsed int[] NEW Fast repairs used by car index
CarIdxSteer rad float[] Steering wheel angle by car index
CarIdxRPM revs/min float[] Engine rpm by car index
CarIdxGear int[] -1=reverse 0=neutral 1..n=current gear by car index

Pace Car and Formation

Name Unit Type Status Description
PaceMode int NEW Current pace mode
CarIdxPaceLine int[] NEW Pace line assignment by car index
CarIdxPaceRow int[] NEW Pace row assignment by car index
CarIdxPaceFlags int[] NEW Pace flags by car index

Vehicle Controls and Input

Name Unit Type Status Description
SteeringWheelAngle rad float Steering wheel angle
Throttle % float 0=off throttle to 1=full throttle
Brake % float 0=brake released to 1=max pedal force
Clutch % float 0=disengaged to 1=fully engaged
Gear int -1=reverse 0=neutral 1..n=current gear
RPM revs/min float Engine rpm
ThrottleRaw % float Raw throttle input 0=off throttle to 1=full throttle
BrakeRaw % float Raw brake input 0=brake released to 1=max pedal force
HandbrakeRaw % float NEW Raw handbrake input
OnPitRoad bool Is the player car on pit road between the cones

Force Feedback and Steering

Name Unit Type Status Description
SteeringWheelPctTorque % float Force feedback % max torque on steering shaft unsigned
SteeringWheelPctTorqueSign % float Force feedback % max torque on steering shaft signed
SteeringWheelPctTorqueSignStops % float Force feedback % max torque on steering shaft signed stops
SteeringWheelPctDamper % float Force feedback % max damping
SteeringWheelAngleMax rad float Steering wheel max angle
SteeringWheelLimiter float NEW Steering wheel limiter
SteeringWheelTorque N*m float Output torque on steering shaft
SteeringWheelTorque_ST N*m float NEW Output torque on steering shaft (sub-tick)
SteeringWheelPeakForceNm N*m float Peak torque mapping to direct input units for FFB
SteeringWheelMaxForceNm N*m float NEW Maximum force in Newton-meters
SteeringWheelUseLinear bool NEW Use linear force feedback

Lap Data and Timing

Name Unit Type Status Description
Lap int Lap count
LapCompleted int NEW Completed lap count
LapDist m float Meters traveled from S/F this lap
LapDistPct % float Percentage distance around lap
RaceLaps int Laps completed in race
LapBestLap int Players best lap number
LapBestLapTime s float Players best lap time
LapLastLapTime s float Players last lap time
LapCurrentLapTime s float Estimate of players current lap time as shown in F3 box
LapLasNLapSeq int Player num consecutive clean laps completed for N average
LapLastNLapTime s float Player last N average lap time
LapBestNLapLap int Player last lap in best N average lap time
LapBestNLapTime s float Player best N average lap time

Delta Timing

Name Unit Type Status Description
LapDeltaToBestLap s float Delta time for best lap
LapDeltaToBestLap_DD s/s float Rate of change of delta time for best lap
LapDeltaToBestLap_OK bool Delta time for best lap is valid
LapDeltaToOptimalLap s float Delta time for optimal lap
LapDeltaToOptimalLap_DD s/s float Rate of change of delta time for optimal lap
LapDeltaToOptimalLap_OK bool Delta time for optimal lap is valid
LapDeltaToSessionBestLap s float Delta time for session best lap
LapDeltaToSessionBestLap_DD s/s float Rate of change of delta time for session best lap
LapDeltaToSessionBestLap_OK bool Delta time for session best lap is valid
LapDeltaToSessionOptimalLap s float Delta time for session optimal lap
LapDeltaToSessionOptimalLap_DD s/s float Rate of change of delta time for session optimal lap
LapDeltaToSessionOptimalLap_OK bool Delta time for session optimal lap is valid
LapDeltaToSessionLastlLap s float Delta time for session last lap
LapDeltaToSessionLastlLap_DD s/s float Rate of change of delta time for session last lap
LapDeltaToSessionLastlLap_OK bool Delta time for session last lap is valid
LapLastNLapTime s float NEW Player last N average lap time
LapBestNLapLap int NEW Player last lap in best N average lap time
LapBestNLapTime s float NEW Player best N average lap time

Delta Timing

Name Unit Type Status Description
LapDeltaToBestLap s float NEW Delta time for best lap
LapDeltaToBestLap_DD s/s float NEW Rate of change of delta time for best lap
LapDeltaToBestLap_OK bool NEW Delta time for best lap is valid
LapDeltaToOptimalLap s float NEW Delta time for optimal lap
LapDeltaToOptimalLap_DD s/s float NEW Rate of change of delta time for optimal lap
LapDeltaToOptimalLap_OK bool NEW Delta time for optimal lap is valid
LapDeltaToSessionBestLap s float NEW Delta time for session best lap
LapDeltaToSessionBestLap_DD s/s float NEW Rate of change of delta time for session best lap
LapDeltaToSessionBestLap_OK bool NEW Delta time for session best lap is valid
LapDeltaToSessionOptimalLap s float NEW Delta time for session optimal lap
LapDeltaToSessionOptimalLap_DD s/s float NEW Rate of change of delta time for session optimal lap
LapDeltaToSessionOptimalLap_OK bool NEW Delta time for session optimal lap is valid
LapDeltaToSessionLastlLap s float NEW Delta time for session last lap
LapDeltaToSessionLastlLap_DD s/s float NEW Rate of change of delta time for session last lap
LapDeltaToSessionLastlLap_OK bool NEW Delta time for session last lap is valid

Position and Physics

Name Unit Type Disk Live Description
Lat deg double 1 1 Latitude in decimal degrees
LatAccel m/s² float 1 1 Lateral acceleration (including gravity)
Lon deg double 1 1 Longitude in decimal degrees
LongAccel m/s² float 1 1 Longitudinal acceleration (including gravity)
Pitch rad float 1 1 Pitch orientation
PitchRate rad/s float 1 1 Pitch rate
Roll rad float 1 1 Roll orientation
RollRate rad/s float 1 1 Roll rate
Speed m/s float 1 1 GPS vehicle speed
VelocityX m/s float 1 1 X velocity
VelocityY m/s float 1 1 Y velocity
VelocityZ m/s float 1 1 Z velocity
VertAccel m/s² float 1 1 Vertical acceleration (including gravity)
Yaw rad float 1 1 Yaw orientation
YawNorth rad float 1 1 Yaw orientation relative to north
YawRate rad/s float 1 1 Yaw rate

Engine and Vehicle Systems

Name Unit Type Disk Live Description
ManifoldPress bar float 1 1 Engine manifold pressure
OilLevel l float 1 1 Engine oil level
OilPress bar float 1 1 Engine oil pressure
OilTemp C float 1 1 Engine oil temperature
RPM revs/min float 1 1 Engine rpm
Throttle % float 1 1 0=off throttle to 1=full throttle
ThrottleRaw % float 1 1 Raw throttle input 0=off throttle to 1=full throttle
Voltage V float 1 1 Engine voltage
WaterLevel l float 1 1 Engine coolant level
WaterTemp C float 1 1 Engine coolant temp

Pit and Session Data

Name Unit Type Disk Live Description
OnPitRoad bool 1 1 Is the player car on pit road between the cones
PitOptRepairLeft s float 1 1 Time left for optional repairs if repairs are active
PitRepairLeft s float 1 1 Time left for mandatory pit repairs if repairs are active
PitSvFlags irsdk_PitSvFlags bitfield 1 1 Bitfield of pit service checkboxes
PitSvFuel l float 1 1 Pit service fuel add amount
PitSvLFP kPa float 1 1 Pit service left front tire pressure
PitSvLRP kPa float 1 1 Pit service left rear tire pressure
PitSvRFP kPa float 1 1 Pit service right front tire pressure
PitSvRRP kPa float 1 1 Pit service right rear tire pressure
PlayerCarClassPosition int 1 1 Players class position in race
PlayerCarPosition int 1 1 Players position in race
RaceLaps int 0 1 Laps completed in race
SessionFlags irsdk_Flags bitfield 0 1 Session flags
SessionLapsRemain int 1 1 Laps left till session ends
SessionNum int 1 1 Session number
SessionState irsdk_SessionState int 1 1 Session state
SessionTime s double 1 1 Seconds since session start
SessionTimeRemain s double 1 1 Seconds left till session ends
SessionUniqueID int 1 1 Session ID

Steering and Controls

Name Unit Type Disk Live Description
SteeringWheelAngle rad float 1 1 Steering wheel angle
SteeringWheelAngleMax rad float 1 1 Steering wheel max angle
SteeringWheelPctDamper % float 1 1 Force feedback % max damping
SteeringWheelPctTorque % float 1 1 Force feedback % max torque on steering shaft unsigned
SteeringWheelPctTorqueSign % float 1 1 Force feedback % max torque on steering shaft signed
SteeringWheelPctTorqueSignStops % float 1 1 Force feedback % max torque on steering shaft signed stops
SteeringWheelPeakForceNm N*m float 0 1 Peak torque mapping to direct input units for FFB
SteeringWheelTorque N*m float 1 1 Output torque on steering shaft

Weather and Environment

Name Unit Type Disk Live Description
RelativeHumidity % float 1 1 Relative Humidity
Skies int 1 1 Skies (0=clear/1=p cloudy/2=m cloudy/3=overcast)
TrackTemp C float 1 1 Temperature of track at start/finish line
TrackTempCrew C float 1 1 Temperature of track measured by crew around track
WeatherType int 1 1 Weather type (0=constant 1=dynamic)
WindDir rad float 1 1 Wind direction at start/finish line
WindVel m/s float 1 1 Wind velocity at start/finish line

Replay and Media

Name Unit Type Disk Live Description
RadioTransmitCarIdx int 0 1 The car index of the current person speaking on the radio
RadioTransmitFrequencyIdx int 0 1 The frequency index of the current person speaking on the raio
RadioTransmitRadioIdx int 0 1 The radio index of the current person speaking on the radio
ReplayFrameNum int 0 1 Integer replay frame number (60 per second)
ReplayFrameNumEnd int 0 1 Integer replay frame number from end of tape
ReplayPlaySlowMotion bool 0 1 0=not slow motion 1=replay is in slow motion
ReplayPlaySpeed int 0 1 Replay playback speed
ReplaySessionNum int 0 1 Replay session number
ReplaySessionTime s double 0 1 Seconds since replay session start

Shift Indicators

Name Unit Type Disk Live Description
ShiftGrindRPM RPM float 1 1 RPM of shifter grinding noise
ShiftIndicatorPct % float 1 1 DEPRECATED use DriverCarSLBlinkRPM instead
ShiftPowerPct % float 1 1 Friction torque applied to gears when shifting or grinding

Car-Specific Sensors

In addition to the above variables that are always available, there are several variables that only show up if a car implements that particular sensor type.

Suspension Components

Name Unit Type Disk Live Description
CFrideHeight m float 1 0 CF ride height
CFshockDefl m float 1 1 CF shock deflection
CFshockVel m/s float 1 1 CF shock velocity
CFSRrideHeight m float 1 0 CFSR ride height
CRrideHeight m float 1 0 CR ride height
CRshockDefl m float 1 1 CR shock deflection
CRshockVel m/s float 1 1 CR shock velocity

In-Car Adjustments

Name Unit Type Disk Live Description
dcABS float 1 1 In car abs adjustment
dcAntiRollFront float 1 1 In car front anti roll bar adjustment
dcAntiRollRear float 1 1 In car rear anti roll bar adjustment
dcBoostLevel float 1 1 In car boost level adjustment
dcBrakeBias float 1 1 In car brake bias adjustment
dcDiffEntry float 1 1 In car diff entry adjustment
dcDiffExit float 1 1 In car diff exit adjustment
dcDiffMiddle float 1 1 In car diff middle adjustment
dcEngineBraking float 1 1 In car engine braking adjustment
dcEnginePower float 1 1 In car engine power adjustment
dcFuelMixture float 1 1 In car fuel mixture adjustment
dcRevLimiter float 1 1 In car rev limiter adjustment
dcThrottleShape float 1 1 In car throttle shape adjustment
dcTractionControl float 1 1 In car traction control adjustment
dcTractionControl2 float 1 1 In car traction control 2 adjustment
dcTractionControlToggle bool 1 1 In car traction control active
dcWeightJackerLeft float 1 1 In car left weight jacker adjustment
dcWeightJackerRight float 1 1 In car right weight jacker adjustment
dcWingFront float 1 1 In car front wing adjustment
dcWingRear float 1 1 In car rear wing adjustment

Pitstop Adjustments

Name Unit Type Disk Live Description
dpFNOMKnobSetting float 1 1 Pitstop front flap adjustment
dpFUFangleIndex float 1 1 Pitstop front upper flap adjustment
dpFWingAngle float 1 1 Pitstop front wing adjustment
dpFWingIndex float 1 1 Pitstop front wing adjustment
dpLrWedgeAdj float 1 1 Pitstop lr spring offset adjustment
dpPSSetting float 1 1 Pitstop power steering adjustment
dpQtape float 1 1 Pitstop qtape adjustment
dpRBarSetting float 1 1 Pitstop rear bar adjustment
dpRFTruckarmP1Dz float 1 1 Pitstop rftruckarmP1Dz adjustment
dpRRDamperPerchOffsetm float 1 1 Pitstop right rear dampter perch offset adjustment
dpRrPerchOffsetm float 1 1 Pitstop right rear spring offset adjustment
dpRrWedgeAdj float 1 1 Pitstop rr spring offset adjustment
dpRWingAngle float 1 1 Pitstop rear wing adjustment
dpRWingIndex float 1 1 Pitstop rear wing adjustment
dpRWingSetting float 1 1 Pitstop rear wing adjustment
dpTruckarmP1Dz float 1 1 Pitstop truckarmP1Dz adjustment
dpWedgeAdj float 1 1 Pitstop wedge adjustment

Detailed Tire and Suspension Data

Left Front Tire (LF)

Name Unit Type Status Description
LFcoldPressure kPa float LF tire cold pressure as set in the garage
LFtempCL C float LF tire left carcass temperature
LFtempCM C float LF tire middle carcass temperature
LFtempCR C float LF tire right carcass temperature
LFwearL % float LF tire left percent tread remaining
LFwearM % float LF tire middle percent tread remaining
LFwearR % float LF tire right percent tread remaining
LFshockDefl m float LF shock deflection
LFshockDefl_ST m float NEW LF shock deflection (sub-tick)
LFshockVel m/s float LF shock velocity
LFshockVel_ST m/s float NEW LF shock velocity (sub-tick)

Right Front Tire (RF)

Name Unit Type Status Description
RFcoldPressure kPa float RF tire cold pressure as set in the garage
RFtempCL C float RF tire left carcass temperature
RFtempCM C float RF tire middle carcass temperature
RFtempCR C float RF tire right carcass temperature
RFwearL % float RF tire left percent tread remaining
RFwearM % float RF tire middle percent tread remaining
RFwearR % float RF tire right percent tread remaining
RFshockDefl m float RF shock deflection
RFshockDefl_ST m float NEW RF shock deflection (sub-tick)
RFshockVel m/s float RF shock velocity
RFshockVel_ST m/s float NEW RF shock velocity (sub-tick)

Left Rear Tire (LR)

Name Unit Type Status Description
LRcoldPressure kPa float LR tire cold pressure as set in the garage
LRtempCL C float LR tire left carcass temperature
LRtempCM C float LR tire middle carcass temperature
LRtempCR C float LR tire right carcass temperature
LRwearL % float LR tire left percent tread remaining
LRwearM % float LR tire middle percent tread remaining
LRwearR % float LR tire right percent tread remaining
LRshockDefl m float LR shock deflection
LRshockDefl_ST m float NEW LR shock deflection (sub-tick)
LRshockVel m/s float LR shock velocity
LRshockVel_ST m/s float NEW LR shock velocity (sub-tick)

Right Rear Tire (RR)

Name Unit Type Status Description
RRcoldPressure kPa float RR tire cold pressure as set in the garage
RRtempCL C float RR tire left carcass temperature
RRtempCM C float RR tire middle carcass temperature
RRtempCR C float RR tire right carcass temperature
RRwearL % float RR tire left percent tread remaining
RRwearM % float RR tire middle percent tread remaining
RRwearR % float RR tire right percent tread remaining
RRshockDefl m float RR shock deflection
RRshockDefl_ST m float NEW RR shock deflection (sub-tick)
RRshockVel m/s float RR shock velocity
RRshockVel_ST m/s float NEW RR shock velocity (sub-tick)

Legacy 2015 Variables Not in Current TypeScript

The following variables were documented in the 2015 specification but do not appear in the current TypeScript interface. They may have been deprecated, renamed, or are available but not exposed in the TypeScript bindings:

Car-Specific Suspension Components (2015 Only)

Name Unit Type Status Description
CFrideHeight m float CF ride height
CFshockDefl m float CF shock deflection
CFshockVel m/s float CF shock velocity
CFSRrideHeight m float CFSR ride height
CRrideHeight m float CR ride height
CRshockDefl m float CR shock deflection
CRshockVel m/s float CR shock velocity

In-Car Adjustments (2015 Only)

Name Unit Type Status Description
dcABS float In car abs adjustment
dcAntiRollFront float In car front anti roll bar adjustment
dcAntiRollRear float In car rear anti roll bar adjustment
dcBoostLevel float In car boost level adjustment
dcBrakeBias float In car brake bias adjustment
dcDiffEntry float In car diff entry adjustment
dcDiffExit float In car diff exit adjustment
dcDiffMiddle float In car diff middle adjustment
dcEngineBraking float In car engine braking adjustment
dcEnginePower float In car engine power adjustment
dcFuelMixture float In car fuel mixture adjustment
dcRevLimiter float In car rev limiter adjustment
dcThrottleShape float In car throttle shape adjustment
dcTractionControl float In car traction control adjustment
dcTractionControl2 float In car traction control 2 adjustment
dcTractionControlToggle bool In car traction control active
dcWeightJackerLeft float In car left weight jacker adjustment
dcWeightJackerRight float In car right weight jacker adjustment
dcWingFront float In car front wing adjustment
dcWingRear float In car rear wing adjustment

Extended Pitstop Adjustments (2015 Only)

Name Unit Type Status Description
dpFNOMKnobSetting float Pitstop front flap adjustment
dpFUFangleIndex float Pitstop front upper flap adjustment
dpFWingAngle float Pitstop front wing adjustment
dpFWingIndex float Pitstop front wing adjustment
dpLrWedgeAdj float Pitstop lr spring offset adjustment
dpPSSetting float Pitstop power steering adjustment
dpQtape float Pitstop qtape adjustment
dpRBarSetting float Pitstop rear bar adjustment
dpRFTruckarmP1Dz float Pitstop rftruckarmP1Dz adjustment
dpRRDamperPerchOffsetm float Pitstop right rear dampter perch offset adjustment
dpRrPerchOffsetm float Pitstop right rear spring offset adjustment
dpRrWedgeAdj float Pitstop rr spring offset adjustment
dpRWingAngle float Pitstop rear wing adjustment
dpRWingIndex float Pitstop rear wing adjustment
dpRWingSetting float Pitstop rear wing adjustment
dpTruckarmP1Dz float Pitstop truckarmP1Dz adjustment
dpWedgeAdj float Pitstop wedge adjustment

Additional 2015 Tire Data

Name Unit Type Status Description
LFbrakeLinePress bar float LF brake line pressure
LFpressure kPa float LF tire pressure
LFrideHeight m float LF ride height
LFspeed m/s float LF wheel speed
LFtempL C float LF tire left surface temperature
LFtempM C float LF tire middle surface temperature
LFtempR C float LF tire right surface temperature

Similar variables existed for RF, LR, and RR tires in the 2015 documentation. | RFcoldPressure | kPa | float | 1 | 1 | RF tire cold pressure as set in the garage | | RFpressure | kPa | float | 1 | 0 | RF tire pressure | | RFrideHeight | m | float | 1 | 0 | RF ride height | | RFshockDefl | m | float | 1 | 1 | RF shock deflection | | RFshockVel | m/s | float | 1 | 1 | RF shock velocity | | RFspeed | m/s | float | 1 | 1 | RF wheel speed | | RFtempCL | C | float | 1 | 1 | RF tire left carcass temperature | | RFtempCM | C | float | 1 | 1 | RF tire middle carcass temperature | | RFtempCR | C | float | 1 | 1 | RF tire right carcass temperature | | RFtempL | C | float | 1 | 0 | RF tire left surface temperature | | RFtempM | C | float | 1 | 0 | RF tire middle surface temperature | | RFtempR | C | float | 1 | 0 | RF tire right surface temperature | | RFwearL | % | float | 1 | 1 | RF tire left percent tread remaining | | RFwearM | % | float | 1 | 1 | RF tire middle percent tread remaining | | RFwearR | % | float | 1 | 1 | RF tire right percent tread remaining |

Right Rear (RR)

Name Unit Type Disk Live Description
RRbrakeLinePress bar float 1 1 RR brake line pressure
RRcoldPressure kPa float 1 1 RR tire cold pressure as set in the garage
RRpressure kPa float 1 0 RR tire pressure
RRrideHeight m float 1 0 RR ride height
RRshockDefl m float 1 1 RR shock deflection
RRshockVel m/s float 1 1 RR shock velocity
RRspeed m/s float 1 1 RR wheel speed
RRtempCL C float 1 1 RR tire left carcass temperature
RRtempCM C float 1 1 RR tire middle carcass temperature
RRtempCR C float 1 1 RR tire right carcass temperature
RRtempL C float 1 0 RR tire left surface temperature
RRtempM C float 1 0 RR tire middle surface temperature
RRtempR C float 1 0 RR tire right surface temperature
RRwearL % float 1 1 RR tire left percent tread remaining
RRwearM % float 1 1 RR tire middle percent tread remaining
RRwearR % float 1 1 RR tire right percent tread remaining

Live-Only Array Data

In addition there is a series of variables that are only ever output live (not available in ATLAS) that show up in an array format with one entry for each car in the race, up to 64 entries.

Name Unit Type Disk Live Description
CarIdxClassPosition int 0 1 Cars class position in race by car index
CarIdxEstTime s float 0 1 Estimated time to reach current location on track
CarIdxF2Time s float 0 1 Race time behind leader or fastest lap time otherwise
CarIdxGear int 0 1 -1=reverse 0=neutral 1..n=current gear by car index
CarIdxLap int 0 1 Lap count by car index
CarIdxLapDistPct % float 0 1 Percentage distance around lap by car index
CarIdxOnPitRoad bool 0 1 On pit road between the cones by car index
CarIdxPosition int 0 1 Cars position in race by car index
CarIdxRPM revs/min float 0 1 Engine rpm by car index
CarIdxSteer rad float 0 1 Steering wheel angle by car index
CarIdxTrackSurface irsdk_TrkLoc int 0 1 Track surface type by car index

Data Types

Each variable has an associated type, the types are as follows:

Data Types

Each variable has an associated type, the types are as follows:

  • bool – 8 bit int that can be set to 1 (true) or 0 (false)
  • int – 32 bit signed integer
  • float – 32 bit signed floating point number
  • double – 64 bit signed floating point number
  • bitfield – 32 bit unsigned integer with each bit representing a different state or value

Array Types in Current Implementation

The current TypeScript interface uses array types for all telemetry variables:

  • bool[] – Array of boolean values
  • int[] – Array of integer values
  • float[] – Array of floating point values (covers both float and double from 2015)

Most telemetry variables return single-element arrays, while car index variables (CarIdx*) return arrays with one element per car in the session.

Bitfield Types

Here is a description of each of the 4 bitfield types:

irsdk_EngineWarnings

Flag Hex Value Description
irsdk_waterTempWarning 0x0001 Water temperature warning
irsdk_fuelPressureWarning 0x0002 Fuel pressure warning
irsdk_oilPressureWarning 0x0004 Oil pressure warning
irsdk_engineStalled 0x0008 Engine stalled
irsdk_pitSpeedLimiter 0x0010 Pit speed limiter active
irsdk_revLimiterActive 0x0020 Rev limiter active

irsdk_Flags

Flag Hex Value Description
irsdk_checkered 0x00000001 Checkered flag
irsdk_white 0x00000002 White flag
irsdk_green 0x00000004 Green flag
irsdk_yellow 0x00000008 Yellow flag
irsdk_red 0x00000010 Red flag
irsdk_blue 0x00000020 Blue flag
irsdk_debris 0x00000040 Debris flag
irsdk_crossed 0x00000080 Crossed flag
irsdk_yellowWaving 0x00000100 Yellow waving flag
irsdk_oneLapToGreen 0x00000200 One lap to green
irsdk_greenHeld 0x00000400 Green held
irsdk_tenToGo 0x00000800 Ten to go
irsdk_fiveToGo 0x00001000 Five to go
irsdk_randomWaving 0x00002000 Random waving
irsdk_caution 0x00004000 Caution
irsdk_cautionWaving 0x00008000 Caution waving
irsdk_black 0x00010000 Black flag
irsdk_disqualify 0x00020000 Disqualify
irsdk_servicible 0x00040000 Servicible
irsdk_furled 0x00080000 Furled
irsdk_repair 0x00100000 Repair
irsdk_startHidden 0x10000000 Start hidden
irsdk_startReady 0x20000000 Start ready
irsdk_startSet 0x40000000 Start set
irsdk_startGo 0x80000000 Start go

irsdk_CameraState

Flag Hex Value Description
irsdk_IsSessionScreen 0x0001 Is session screen
irsdk_IsScenicActive 0x0002 Is scenic active
irsdk_CamToolActive 0x0004 Camera tool active
irsdk_UIHidden 0x0008 UI hidden
irsdk_UseAutoShotSelection 0x0010 Use auto shot selection
irsdk_UseTemporaryEdits 0x0020 Use temporary edits
irsdk_UseKeyAcceleration 0x0040 Use key acceleration
irsdk_UseKey10xAcceleration 0x0080 Use key 10x acceleration
irsdk_UseMouseAimMode 0x0100 Use mouse aim mode

irsdk_PitSvFlags

Flag Hex Value Description
irsdk_LFTireChange 0x0001 Left front tire change
irsdk_RFTireChange 0x0002 Right front tire change
irsdk_LRTireChange 0x0004 Left rear tire change
irsdk_RRTireChange 0x0008 Right rear tire change
irsdk_FuelFill 0x0010 Fuel fill
irsdk_WindshieldTearoff 0x0020 Windshield tearoff
irsdk_FastRepair 0x0040 Fast repair

Enumerated Types

While the following are not actually bitfields, each value has a specific meaning as outlined in the tables below:

irsdk_TrkLoc

Value Name Description
-1 irsdk_NotInWorld Not in world
0 irsdk_OffTrack Off track
1 irsdk_InPitStall In pit stall
2 irsdk_AproachingPits Approaching pits
3 irsdk_OnTrack On track

irsdk_SessionState

Value Name Description
0 irsdk_StateInvalid Invalid state
1 irsdk_StateGetInCar Get in car
2 irsdk_StateWarmup Warmup
3 irsdk_StateParadeLaps Parade laps
4 irsdk_StateRacing Racing
5 irsdk_StateCheckered Checkered
6 irsdk_StateCoolDown Cool down

Appendix B – Session String

The session string represents all the details about the current state of iRacing and its current session that don't need to be updated 60 times a second. For the most part this is a static string that does not change, however it is not guaranteed to be static and in fact will change as drivers register for the session and as the race results are posted. The string is formatted using the YAML format, a nested data format like XML but one that is easily read by a human. The key to this format is that indentation matters, and - denotes the start of an array entry.

The ATLAS .ibt importer pulls some data from the session string and makes it available to ATLAS, however to see the vast majority of this information you will need to use one of the various telemetry tools to gain access to the data.

Here is a mockup of a session string with every possible entry filled in and some pseudo code to indicate the format of the data and an indication of what each array represents. The data is indicated using standard printf() notation, %s is a string, %d is an integer, and %0.xf is a floating point number where x represents the number of decimal places to display.

Session String Structure

---
WeekendInfo:
  TrackName: %s
  TrackID: %d
  TrackLength: %0.2f km
  TrackDisplayName: %s
  TrackDisplayShortName: %s
  TrackConfigName: %s
  TrackCity: %s
  TrackCountry: %s
  TrackAltitude: %0.2f m
  TrackLatitude: %0.6f m
  TrackLongitude: %0.6f m
  TrackNorthOffset: %0.4f rad
  TrackNumTurns: %d
  TrackPitSpeedLimit: %0.2f kph
  TrackType: %s
  TrackWeatherType: %s
  TrackSkies: %s
  TrackSurfaceTemp: %0.2f C
  TrackAirTemp: %0.2f C
  TrackAirPressure: %0.2f Hg
  TrackWindVel: %0.2f m/s
  TrackWindDir: %0.2f rad
  TrackRelativeHumidity: %d %
  TrackFogLevel: %d %
  TrackCleanup: %d
  TrackDynamicTrack: %d
  SeriesID: %d
  SeasonID: %d
  SessionID: %d
  SubSessionID: %d
  LeagueID: %d
  Official: %d
  RaceWeek: %d
  EventType: %s
  Category: %s
  SimMode: %s
  TeamRacing: %d
  MinDrivers: %d
  MaxDrivers: %d
  DCRuleSet: %s
  QualifierMustStartRace: %d
  NumCarClasses: %d
  NumCarTypes: %d
  
  WeekendOptions:
    NumStarters: %d
    StartingGrid: %s
    QualifyScoring: %s
    CourseCautions: %s
    StandingStart: %d
    Restarts: %s
    WeatherType: %s
    Skies: %s
    WindDirection: %s
    WindSpeed: %0.2f km/h
    WeatherTemp: %0.2f C
    RelativeHumidity: %d %
    FogLevel: %d %
    Unofficial: %d
    CommercialMode: %s
    NightMode: %d
    IsFixedSetup: %d
    StrictLapsChecking: %s
    HasOpenRegistration: %d
    HardcoreLevel: %d
    
  TelemetryOptions:
    TelemetryDiskFile: "%s"

SessionInfo:
  NumSessions: %d
  Sessions:
    # for each session
    - SessionNum: %d
      SessionLaps: %d
      SessionTime: %0.2f sec
      SessionNumLapsToAvg: %d
      SessionType: %s
      SessionTrackRubberState: %s
      ResultsPositions:
        # for each car in position order
        - Position: %d
          ClassPosition: %d
          CarIdx: %d
          Lap: %d
          Time: %.3f
          FastestLap: %d
          FastestTime: %.3f
          LastTime: %.3f
          LapsLed: %d
          LapsComplete: %d
          LapsDriven: %.3f
          Incidents: %d
          ReasonOutId: %d
          ReasonOutStr: %s
      ResultsFastestLap:
        - CarIdx: %d
          FastestLap: %d
          FastestTime: %.3f
      ResultsAverageLapTime: %.3f
      ResultsNumCautionFlags: %d
      ResultsNumCautionLaps: %d
      ResultsNumLeadChanges: %d
      ResultsLapsComplete: %d
      ResultsOfficial: %d

QualifyResultsInfo:
  Results:
    # for each car
    - Position: %d
      ClassPosition: %d
      CarIdx: %d
      FastestLap: %d
      FastestTime: %.3f

CameraInfo:
  Groups:
    # for each camera group
    - GroupNum: %d
      GroupName: %s
      IsScenic: true
      Cameras:
        # for each camera in group
        - CameraNum: %d
          CameraName: %s

RadioInfo:
  SelectedRadioNum: %d
  Radios:
    # for each radio
    - RadioNum: %d
      HopCount: %d
      NumFrequencies: %d
      TunedToFrequencyNum: %d
      ScanningIsOn: %d
      Frequencies:
        # for each frequency in radio
        - FrequencyNum: %d
          FrequencyName: "%s"
          Priority: %d
          CarIdx: %d
          EntryIdx: %d
          ClubID: %d
          CanScan: %d
          CanSquawk: %d
          Muted: %d
          IsMutable: %d
          IsDeletable: %d

DriverInfo:
  DriverCarIdx: %d
  DriverHeadPosX: %.3f
  DriverHeadPosY: %.3f
  DriverHeadPosZ: %.3f
  DriverCarIdleRPM: %.3f
  DriverCarRedLine: %.3f
  DriverCarFuelKgPerLtr: %.3f
  DriverCarFuelMaxLtr: %.3f
  DriverCarMaxFuelPct: %.3f
  DriverCarSLFirstRPM: %.3f
  DriverCarSLShiftRPM: %.3f
  DriverCarSLLastRPM: %.3f
  DriverCarSLBlinkRPM: %.3f
  DriverPitTrkPct: %.3f
  DriverCarEstLapTime: %.3f
  DriverSetupName: %s
  DriverSetupIsModified: %d
  DriverSetupLoadTypeName: %s
  DriverSetupPassedTech: %d
  Drivers:
    # for each car
    - CarIdx: %d
      UserName: %s
      AbbrevName: %s
      Initials: %s
      UserID: %d
      TeamID: %d
      TeamName: %s
      CarNumber: "%s"
      CarNumberRaw: %d
      CarPath: %s
      CarClassID: %d
      CarID: %d
      CarScreenName: %s
      CarScreenNameShort: %s
      CarClassShortName: %s
      CarClassRelSpeed: %d
      CarClassLicenseLevel: %d
      CarClassMaxFuelPct: %.3f %
      CarClassWeightPenalty: %.3f kg
      CarClassColor: 0x%02x%02x%02x
      IRating: %d
      LicLevel: %d
      LicSubLevel: %d
      LicString: %s
      LicColor: 0x%s
      IsSpectator: %d
      CarDesignStr: %s
      HelmetDesignStr: %s
      SuitDesignStr: %s
      CarNumberDesignStr: %s
      CarSponsor_1: %d
      CarSponsor_2: %d
      ClubName: %s
      DivisionName: %s

SplitTimeInfo:
  Sectors:
    # for each sector
    - SectorNum: %d
      SectorStartPct: %.3f

API Evolution Summary

Key Changes Since 2015

  1. Sub-Tick Data: Addition of _ST suffix variables providing higher precision physics data
  2. Modern Racing Features: Push-to-Pass, tire compounds, enhanced pit strategies
  3. Enhanced Monitoring: Performance metrics, network quality, system resource usage
  4. Improved Tire Management: Comprehensive tire set tracking and compound management
  5. Better Multi-Car Support: Enhanced car index arrays with more detailed information
  6. Pace Car Integration: Full support for formation laps and pace car procedures

Compatibility Notes

  • Core telemetry variables (throttle, brake, steering, etc.) remain consistent
  • New variables are additive - existing applications should continue to work
  • Geographic variables (Lat/Lon/Alt) appear to be deprecated in current implementation
  • Some car-specific adjustment variables may have been reorganized or deprecated
  • TypeScript interface provides type safety and better development experience

Recommendations for Developers

  1. Use Current Interface: Leverage the auto-generated TypeScript interface for new development
  2. Sub-Tick Data: Consider using _ST variables for high-precision physics applications
  3. Modern Features: Take advantage of tire compound and P2P systems for strategy applications
  4. Backward Compatibility: Check for variable existence before accessing newer telemetry points
  5. Performance Monitoring: Utilize new performance metrics for optimization and debugging

This documentation combines the original 2015 iRacing telemetry specification with current implementation details from the auto-generated TypeScript interface. Variable availability may vary depending on car type, session configuration, and iRacing version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment