Repository Organization
Data is organized following a three-level hierarchy: Event → Session → Driver.Event Level
The top level contains event folders named after Grand Prix events:Australian Grand PrixMonaco Grand PrixAbu Dhabi Grand PrixPre-Season Testing 1(for testing sessions)
Session Level
Within each event, there are session folders for different track sessions:Practice 1,Practice 2,Practice 3QualifyingSprint Qualifying(sprint weekends only)Sprint(sprint weekends only)Race
- Session-level data files (apply to the entire session)
- Driver folders (one per participating driver)
Driver Level
Inside each session folder, individual driver folders are named using 3-letter driver codes:VER(Max Verstappen)HAM(Lewis Hamilton)LEC(Charles Leclerc)NOR(Lando Norris)- etc.
File Types
Session-Level Files
Session-Level Files
These files are stored directly in the session folder and contain data applicable to the entire session:
Environmental conditions recorded approximately once per minute during the session.Fields include:
Race Control Messages sent by officials to teams about track status, penalties, and incidents.Message types:
Circuit corner information including position coordinates and angles for each corner on the track.Fields include:
Driver roster with static information about each participating driver.Fields include:
weather.json
Environmental conditions recorded approximately once per minute during the session.Fields include:- Air temperature (
wAT) - Track temperature (
wTT) - Humidity (
wH) - Rainfall indicator (
wR) - Wind speed and direction (
wWS,wWD) - Atmospheric pressure (
wP)
Weather conditions dramatically affect lap times. Cold air reduces engine power, hot tracks reduce tire grip, and rain changes braking distances.
rcm.json
Race Control Messages sent by officials to teams about track status, penalties, and incidents.Message types:- Flag events (Yellow, Red, Green)
- DRS status (Enabled/Disabled)
- Car events (incidents, unsafe releases)
- Track status changes
corners.json
Circuit corner information including position coordinates and angles for each corner on the track.Fields include:- Corner number
- X, Y coordinates
- Distance from start/finish line
- Angle and rotation data
drivers.json
Driver roster with static information about each participating driver.Fields include:- Driver code (3-letter)
- Full name
- Team name
- Car number
- Team color (hex)
- Headshot URL
Driver-Level Files
Driver-Level Files
These files are stored inside each driver’s folder and contain lap-specific data:
Detailed telemetry data for a specific lap, sampled at approximately 3.7 Hz (~270ms intervals).Basic metrics:Other fields:
Comprehensive timing and performance information for all laps completed by this driver.Core timing:
{lap_number}_tel.json
Detailed telemetry data for a specific lap, sampled at approximately 3.7 Hz (~270ms intervals).Basic metrics:speed- km/hthrottle- 0-100%brake- boolean (0/1)rpm- engine revolutions per minutegear- current gear (1-8)drs- DRS status
x,y,z- 3D coordinates (meters)distance- distance from lap startrel_distance- relative distance (0.0 to 1.0)
acc_x- longitudinal (forward/backward)acc_y- lateral (side-to-side)acc_z- vertical (elevation changes)
Acceleration values are computed by the extraction script using gradient analysis, not raw IMU sensor data. They include smoothing and outlier handling.
DriverAhead- car number of driver aheadDistanceToDriverAhead- gap in metersdataKey- unique identifier linking to driver and lap
laptimes.json
Comprehensive timing and performance information for all laps completed by this driver.Core timing:time- lap time (seconds)lap- lap numbersesT- session time when lap endedlST- lap start time
s1,s2,s3- sector timess1T,s2T,s3T- session times when sectors were set
vi1,vi2- intermediate speed trapsvfl- finish line speedvst- longest straight speed
compound- tire type (SOFT, MEDIUM, HARD, etc.)life- laps driven on this tirefresh- new or used tirestint- stint number
pos- race position at lap endstatus- track status codespb- personal best lap indicator
pin- pit entry timepout- pit exit time
iacc- accuracy indicatorff1G- FastF1 generated/interpolateddel- deleted by stewardsdelR- deletion reason
File Naming Conventions
Session Files
- Always lowercase or abbreviated
- Placed directly in the session folder
- Examples:
weather.json,rcm.json,corners.json,drivers.json
Driver Folders
- Uppercase 3-letter driver codes
- Standard F1 driver abbreviations
- Examples:
VER,HAM,LEC,NOR,PIA
Telemetry Files
- Format:
{lap_number}_tel.json - Lap numbers start at 1
- Examples:
1_tel.json,2_tel.json,15_tel.json
Lap Times File
- Always named
laptimes.json - Contains data for all laps by that driver in the session
- One file per driver per session
Accessing Data Examples
Access a Specific Lap
Access Session Weather
Access All Driver Laps
Access Race Control Messages
Data Key Format
Each telemetry record includes adataKey field that uniquely identifies the data point:
For 2026 Pre-Season Testing, the event name uses
PreSeasonTesting1 instead of Pre-Season Testing 1 (spaces removed) in the dataKey format.Practical Navigation Tips
- Find a specific driver’s data: Navigate to
{Event}/{Session}/{Driver}/ - Compare multiple drivers: Access the same lap number across different driver folders
- Analyze session conditions: Use session-level files (
weather.json,rcm.json) for context - Track progression: Read
laptimes.jsonto see lap-by-lap performance trends
All JSON files use optimized serialization with NumPy support. Missing or invalid values are represented as the string
"None" rather than null.