Common Structure
All JSON files share a common wrapper structure:MRData object contains metadata about the API response and wraps the actual race data.
Season-Level Files
events.json
events.json
Location: Sprint Weekend Example:
{year}/events.jsonDescription: Complete race calendar for the season with circuit information and session schedules.Schema:Sprint weekends have
Sprint and SprintQualifying fields instead of SecondPractice and ThirdPractice.driverPoints.json
driverPoints.json
Location: Key Fields:
{year}/driverPoints.jsonDescription: Final driver championship standings for the season.Schema:position: Championship position (1-20+)points: Total points accumulatedwins: Number of race winsdriverId: Unique driver identifier (lowercase with underscores)code: Three-letter driver code (e.g., VER, HAM, LEC)
teamPoints.json
teamPoints.json
Location: Key Fields:
{year}/teamPoints.jsonDescription: Final constructor championship standings for the season.Schema:position: Championship positionpoints: Combined points from both driverswins: Number of race winsconstructorId: Unique team identifier
Race-Level Files
event_info.json
event_info.json
Location: This is a simplified version of a single race entry from
{year}/{race-name}/event_info.jsonDescription: Race weekend information including circuit details and session schedule.Schema:events.json.results.json
results.json
Location: Key Fields:
{year}/{race-name}/results.jsonDescription: Complete race results including finishing positions, times, and points.Schema:position: Finishing position (or classification)positionText: Position as text (“1”, “2”, “R” for retired, “D” for disqualified)grid: Starting grid positionlaps: Laps completedstatus: “Finished”, “Retired”, “Lapped”, etc.Time.millis: Race time in milliseconds (winner only)Time.time: Race time or gap to winnerFastestLap: Driver’s fastest lap information
quali_results.json
quali_results.json
Location: Key Fields:
{year}/{race-name}/quali_results.jsonDescription: Qualifying results showing times from Q1, Q2, and Q3 sessions.Schema:Q1: Fastest lap time in Q1 sessionQ2: Fastest lap time in Q2 session (if reached)Q3: Fastest lap time in Q3 session (if reached)
Drivers eliminated in Q1 only have
Q1 times. Drivers eliminated in Q2 have Q1 and Q2 times. Top 10 drivers have all three times.laptimes.json
laptimes.json
Location: Key Fields:
{year}/{race-name}/laptimes.jsonDescription: Lap-by-lap timing data for every driver throughout the race.Schema:number: Lap numberTimings: Array of all drivers’ times for this lapposition: Position at the end of this laptime: Lap time
pitstops.json
pitstops.json
Location: Key Fields:
{year}/{race-name}/pitstops.jsonDescription: All pit stop data including lap number, stop duration, and time of day.Schema:lap: Lap number when pit stop occurredstop: Stop number for this driver (1, 2, 3, etc.)time: Local time of day (HH:MM:SS)duration: Pit stop duration in seconds
sprint_results.json
sprint_results.json
Location: Sprint Points (2024):
{year}/{race-name}/sprint_results.json (sprint weekends only)Description: Sprint race results with positions, times, and points awarded.Schema:- 1st: 8 points
- 2nd: 7 points
- 3rd: 6 points
- 4th: 5 points
- 5th: 4 points
- 6th: 3 points
- 7th: 2 points
- 8th: 1 point
Sprint race format and points have changed over the years. Always check the
points field for actual points awarded.Common Data Types
Driver Object
Appears in all race data:Constructor Object
Appears in all race data:Circuit Object
Appears in event files:Time Object
Appears in results:Data Validation
Next Steps
Data Structure Overview
Return to the overview for navigation guidance
Directory Layout
See how files are organized on disk