For years, the Ergast Motor Racing Database has been a go-to reference for Formula 1 data — structured, clean, and widely used by developers, educators, and data enthusiasts.
Unfortunately, it stopped receiving updates after the 2024 season.
While working on a personal project to learn how to design and deploy an API around sports data, I stumbled across this gap. Many tools, notebooks, and learning resources were still depending on Ergast’s schema… but without updated data, their value started to fade.
That’s where RaceOptiData comes in.
What I Built
I developed a pipeline to collect data from public APIs, validate and clean it, and map it onto the familiar Ergast schema. The idea was simple: build a compatible database, keep it updated, and make it downloadable.
Today, the project offers:
MySQL and CSV dumps, available for download
Structured in the exact schema Ergast used
Up-to-date data, latest dump after the 2025 Hungarian Grand Prix
You can explore it here → https://www.raceoptidata.com
Tech Stack
I used this project as a training ground to sharpen and combine several technologies:
Python – for data extraction, transformation, and orchestration
Azure – for storage, automation, secure delivery (Functions, Blob, Tables)
Stripe – for a simple, secure checkout system (with fallback mechanisms)
C# / ASP.NET – for the upcoming API layer
MySQL – to replicate the Ergast schema and prepare structured dumps
The frontend is a simple static site. No frameworks, just enough JS to manage checkout and download UX.
What I Learned
This wasn’t just a data dump. Along the way, I had to figure out:
How to design a robust pipeline for live sports data
How to handle download links securely, with expiring tokens and storage
How to structure clear, reusable data outputs
How to deal with email deliverability, Stripe webhooks, CORS, and a dozen edge cases
Also: how to explain what you’re building without sounding like a crypto bro selling vaporware.
What's Next
I’m working on a full REST API to expose this data dynamically, still using the Ergast schema (+ data from fastF1). Some goals:
Developer-friendly endpoints (docs included)
Tiered access (open/free and authenticated)
Support for bulk queries and custom filters
Feedback Is Welcome
I built this because I needed it — but I’d love to hear from others who might too.
If you’re working on F1 tools, doing analysis, building dashboards, or just tinkering with motorsport data… maybe this helps. I’d be happy to get your feedback or ideas.
You can explore or download the current version here: https://www.raceoptidata.com
Thanks for reading!
— Jérôme / RaceOptiData
Top comments (0)