SkillAgentSearch skills...

F1db

Open Source Formula 1 Database

Install / Use

/learn @f1db/F1db
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub Release GitHub License GitHub Downloads (all assets, all releases) GitHub Repo stars

F1DB

F1DB is the most comprehensive free open source database with all-time Formula 1 racing data and statistics.

Whether you are building a custom website, mobile application or just using F1DB to query data, here is what we provide:

  • All drivers
  • All constructors (including chassis)
  • All engine manufacturers (including engines)
  • All tyre manufacturers
  • All circuits (including layouts and SVG assets)
  • All seasons from 1950 to present; including:
    • entrants
    • standings
  • All races; including:
    • free practice and warming-up results
    • qualifying and pre-qualifying results
    • sprint race results
    • starting grid positions
    • race results
    • fastest laps
    • pit stops
    • driver of the day results
    • standings

New releases will be available as soon as possible after every race. See also Versioning.

Release artifacts are available in the following formats:

  • CSV
  • JSON
  • JSON splitted (multiple data files)
  • Smile (binary variant of the JSON format)
  • SQL (MySQL, PostgreSQL or SQLite .sql dump files to create and populate a custom database)
  • SQL with single inserts (much smaller .sql dump files with single insert per table; better performance but not supported by all platforms)
  • SQLite database

Notable changes in v2026.0.1

  • Added new CircuitLayout object.
  • Added layouts property to Circuit object.
  • Added circuitLayoutId property to Race object.

To accommodate this change the JSON Schema is bumped to version v6.4.0.

F1DB JSON Schema

The main f1db.schema.json schema file contains all F1DB object definitions and serves as the main documentation.

For the splitted distributions the splitted schema files must be used.

Both the JSON and Smile artifacts validate against the F1DB Json Schema.

See the Changelog for details about schema changes and version compatibility.

F1DB SQL / SQLite Database

The SQLite database artifact contains all data in a relational database format and can be used to directly query the data instead of processing the JSON format.

The database file could also serve students who want to learn SQL.

We suggest to use SQLiteStudio for querying the database file. Of course any SQLite compliant SQL client can be used as well.

Starting from v2024.3.0 SQL artifacts are available for MySQL, PostgreSQL and SQLite that provide .sql dump files to import the schema and data directly in these database systems.

If you want to populate another database system (e.g. H2) then most likely the PostgreSQL .sql dump file is your best option.
If that doesn't work, and you want a .sql dump file for another database system to be added to the release artifacts, then please create a feature request.

Versioning

Releases are versioned using a "customized" CalVer versioning scheme:

YYYY.RR.MICRO(.MODIFIER)

which uses the following conventions:

  • YYYY – Full year of the season – 2026, ..
  • RR – Round number within the season – 0, 1, 2, .., 10, 11, ..
  • MICRO – Patch version – 0, 1, 2, ..
  • MODIFIER – An optional text tag like dev, alpha, beta, rc, ..

Note this is basically the YYYY.MINOR.MICRO(.MODIFIER) pattern where MINOR indicates the round number (RR).

Examples:

  • 2026.0.0 – Pre-season release before the 1<sup>st</sup> race round of the 2026 season.
  • 2026.0.1 – First pre-season patch release before the 1<sup>st</sup> race round of the 2026 season.
  • 2026.1.0 – Final release after the 1<sup>st</sup> race round of the 2026 season.
  • 2026.2.0 – Final release after the 2<sup>nd</sup> race round of the 2026 season.
  • 2026.2.1 – First patch release after the 2<sup>nd</sup> race round of the 2026 season.
  • 2026.2.2 – Second patch release after the 2<sup>nd</sup> race round of the 2026 season.

As you can see we use a special RR 0 for pre-season releases.

Circuit SVG Assets

Starting from v2026.0.1 (schema v6.4.0) circuit layouts have been introduced.

Matching SVG assets for all circuit layouts are available in src/assets/circuits.

Because these SVG files rarely change, they are not bundled with the standard release artifacts.
Instead, they can be downloaded directly from the repository.

Each circuit layout is provided in four styles: black, black-outline, white, and white-outline.

<br> <div> <img src="https://raw.githubusercontent.com/f1db/f1db/refs/heads/main/src/assets/circuits/black/silverstone-8.svg#gh-light-mode-only" alt="black" width="200" /> <img src="https://raw.githubusercontent.com/f1db/f1db/refs/heads/main/src/assets/circuits/black-outline/silverstone-8.svg#gh-light-mode-only" alt="black-outline" width="200" /> <img src="https://raw.githubusercontent.com/f1db/f1db/refs/heads/main/src/assets/circuits/white/silverstone-8.svg#gh-dark-mode-only" alt="white" width="200" /> <img src="https://raw.githubusercontent.com/f1db/f1db/refs/heads/main/src/assets/circuits/white-outline/silverstone-8.svg#gh-dark-mode-only" alt="white-outline" width="200" /> </div>

Community

The F1DB community can be found on GitHub Discussions, where you can ask and answer questions, voice ideas, and share your projects.

Keep in touch with us by following us on X or Bluesky.

Reporting Data Issues

We use GitHub Issues to track data issues or related problems.

If you found a data issue which is not reported yet, please create a new issue.

Building from Source

To build the distribution zips simply run:

./gradlew clean build

or without running the tests (way faster):

./gradlew clean build -x test

The build requires Java 21, running the tests requires an environment with Docker.

Releasing

GitHub Actions is used to build and upload new releases by creating a new git tag.

Follow these steps:

  1. Update the version number in gradle.properties
  2. git commit -am "Release v<version>"
  3. git push
  4. git tag -a v<version> -m "Release v<version>"
  5. git push origin v<version>

and the release action is automatically triggered by pushing the new tag.

Authors and Contributors

For a full list of all contributors, see GitHub Contributors.

Projects using F1DB

  • 🌐 F1+ – F1 Predictions, Live Standings & Race Intelligence
  • 🍎 F1nally – iOS app to quickly view the F1 schedule and results
  • 🌐️ fastestlap.io – Go-to source for Formula 1 history and statistics
  • 🤖 OvertakeGP – OvertakeGP is a fast, focused Formula 1® companion that brings decades of racing data into one clean app
  • ⚙️ RacingHub API – Free & open-source F1 REST API with Python/JS clients and MCP support

Are you using F1DB? We'd love to feature your project!
Please send us a message, create an issue, or open a pull request to add it here.

License

Creative Commons License

F1DB is licensed under a Creative Commons Attribution 4.0 International License.

View on GitHub
GitHub Stars509
CategoryData
Updated3h ago
Forks60

Languages

Kotlin

Security Score

100/100

Audited on Mar 27, 2026

No findings