By the VisiF1 team

F1 Data Sources: FIA, FastF1, and OpenF1 Explained

Technical guide to 3 F1 data sources for machine learning.

The VisiF1 model processes over one million data points per season, extracted from three complementary sources: FIA for official results, FastF1 for Python-based telemetry, and OpenF1 for real-time data (source: VisiF1 data pipeline documentation). Here's how each source contributes to predictions.

Key Takeaways

  • -3 complementary sources: FIA (results), FastF1 (telemetry), OpenF1 (real-time)
  • -Over 1 million data points per season exploitable
  • -FastF1 is open-source (Python) with sector-by-sector lap times
  • -OpenF1 provides real-time and historical JSON data

What Official Data Does the FIA Provide?

The FIA publishes official results for each Grand Prix within 2 hours of the race (source: FIA Sporting Regulations, Article 57). This data constitutes VisiF1's 'ground truth': the reference against which accuracy is measured.

FIA data includes: final standings and gaps, qualifying positions (Q1, Q2, Q3), laps led by each driver, points scored, retirements with cause codes (mechanical, crash, penalty), and penalties applied. Across 2020-2025, this represents 144 GPs x 20 drivers x ~15 variables = over 43,000 result records.

The main FIA limitation is lack of granularity: no individual lap times, no telemetry, no tire strategy information. That's why FastF1 and OpenF1 complement this data.

How Does FastF1 Provide Telemetry Access?

FastF1 is an open-source Python library (docs.fastf1.dev) that accesses F1's official timing data through an undocumented API. It provides sector-by-sector lap times, cornering speeds, and acceleration/braking data (source: FastF1 documentation, v3.x).

For each session (free practice, qualifying, race), FastF1 provides: lap times by sector (3 sectors), mini-sectors (25+ per lap), interpolated GPS speeds, gear change data, and tire information (compound, age).

Typical code to extract GP data is straightforward: load the session with `fastf1.get_session(2026, 'Belgium', 'R')`, then access laps via `session.laps`. The resulting DataFrame contains 50+ columns per lap per driver.

FastF1 is VisiF1's primary source for raw performance metrics. Its advantage: stable, well-structured historical data. Its limitation: a slight delay (data available ~30 minutes after session).

What Does the OpenF1 API Provide in Real-Time?

OpenF1 (openf1.org) is an open REST API providing real-time and historical F1 data in JSON format. It covers live positions, driver intervals, radio data, and tire temperatures (source: OpenF1 API documentation).

Unlike FastF1 (focused on post-session data), OpenF1 excels at live data: positions updated every second, gaps between drivers, and transcribed radio messages. This feeds VisiF1's pipeline for pre-race updates (after qualifying) and real-time adjustments.

The API is simple: a GET on `/api/v1/position?session_key=latest` returns live positions in JSON. No authentication required, no aggressive rate limiting. It's the most accessible source for starting an F1 data project.

How Are These Sources Combined in the Pipeline?

The VisiF1 pipeline ingests data sequentially: first FIA results (ground truth), then FastF1 data (detailed telemetry), finally OpenF1 data (real-time supplements). Each source is normalized into a unified format before model training.

Data is stored in MongoDB and versioned by season and race. The pipeline is automated: after each GP, a Python script collects, cleans, and integrates new data in 15-20 minutes. The model is then retrained with updated data.

In total, for each race, the model has over 50 variables per driver: results, performance, strategies, conditions. This data richness, covering 6 complete seasons, is what enables 92.2% Top 5 accuracy.

Discover how our LSTM model uses this data to produce reliable predictions.

Frequently Asked Questions

Is the data free?

Yes. FIA publishes results for free. FastF1 is open-source (MIT license). OpenF1 is free without authentication. None of these sources require payment for non-commercial use (source: respective API documentation).

Can I use this data for a personal project?

FastF1 and OpenF1 are usable for personal projects. FIA data is public. For commercial use, check each source's license terms. VisiF1 built its own automated ingestion pipeline (source: VisiF1 documentation).

Which source should I start with?

OpenF1 for simplicity (REST API, JSON, no auth). FastF1 for data depth (Python, DataFrames, telemetry). FIA for official results. Ideally, combine all three like VisiF1 (source: VisiF1 recommendation).

Want your own AI-powered predictions?

Free 7-day trial, no commitment. Win probabilities, Monte Carlo simulations and detailed analysis for every Grand Prix.