If you have any comments, suggestions or feature requests please add them here. Problems and errata can be reported on Bug Reports page.
Feedback
Comments
483 responses to “Feedback”
-
I think the second update statement was truncated. Here goes both statements again:
update results
set (fastestLap,fastestLapTime) = (select lap, time from (select l.lap, l.time, min(l.milliseconds) from laptimes l where l.raceId=results.raceId and l.driverId=results.driverId))
where raceId in (select raceId from races where year between 1996 and 2003);update results
set rank=(select count(*)+1 from results r where r.raceId = results.raceId and r.fastestLapTime 0 and raceId in (select raceId from races where year between 1996 and 2003); -
Harrrg, it’s the ‘less than’ and ‘greater than’ signs!
Let’s try again the 2 statements:
update results
set (fastestLap,fastestLapTime) = (select lap, time from (select l.lap, l.time, min(l.milliseconds) from laptimes l where l.raceId=results.raceId and l.driverId=results.driverId))
where raceId in (select raceId from races where year between 1996 and 2003);update results
set rank=(select count(*)+1 from results r where r.raceId = results.raceId and r.fastestLapTime < results.fastestLapTime)
where laps > 0 and raceId in (select raceId from races where year between 1996 and 2003); -
Hi Miguel,
Many thanks. I may try this offline initially.
Chris -
Hi Chris,
Just wanted to drop you a line to say hi and to let you know I’m working on a React frontend for the API as a portfolio project. I’ll be getting docker going and putting the API on my local, but in case you were wondering about the increased requests that’s me. Feel free to email me with any questions/concerns, thanks!
Best,
Dan -
Thanks so much for this, appreciated!
Just wondering why you have inconsistent casing of fields in the JSON view? eg. “raceName” (good), “season” (good), then “Circuit”?
-
Hi Jason,
The original idea was that elements with structure started with a capital letter whereas singular values started with lowercase. However, there are a few mistakes and inconsistencies which are difficult to change now – like using strings for integers.
Chris -
Hi Jason,
The API doesn’t make use of data from F1.com but uses a variety of public sources.
Chris -
I first wanted to thank you for this API.
I am developing an Android application in which I store the information in a local database.
Is there a way to know what content has been modified since a specific time? Or something like an index indicating the version of each table?
In this way, it would only be necessary to request the table that has a greater version than the one stored locally, thus avoiding unnecessary calls.
Thanks!
-
Hi David,
Unfortunately, I don’t think there’s anything currently in the API which would support that. The last time I looked at incremental updates I came to the conclusion that there was no reliable solution – but I’m open to ideas!
Chris -
Hi, is it possible to retrieve the Free Practice lap times from the API? I didn’t find so I’m guessing no, but asking never hurts 🙂
Cheers,
Davide -
Hi Davide,
Unfortunately not – it would need to be processed on Friday, which is a working day.
Chris -
Hi Chris,
Thanks for sharing this data and API. I’ve defined some of the endpoints in OpenAPI Spec to help generate libraries for some of my projects. I’m posting it here in case someone else can find it useful. Thanks again for collecting and sharing this data!
Adam
-
Hi Adam,
Many thanks for sharing the endpoint descriptions. I’ve added your link to a section on API tools in the Application Gallery.
Chris -
Hallo Adam,
thank you for doing this here!!
Would it be possible to add the offical (full) race names?
e.g. “FORMULA 1 PIRELLI BRITISH GRAND PRIX 2020”
and not only “British Grand Prix” -
Hi Supermicha,
I have to be careful about making changes to the API – people will have allocated a certain amount of space for each text field.
Chris -
Hi Chris,
Is it possible to add the practices and quali date and times to the schedule or to a seperate api call?
Wesley -
Hi Wesley,
I would if I could find the data – preferably before the season starts.
Chris -
Hi Chris,
I found some data at https://www.formula1.com/en/racing/2020.html and at https://formulaonecalendar.com/.
I don’t know if the second one is reliable at the start of the season.
Wesley -
Thanks Wesley – I’ll take a look before the next season.
Cheers,
Chris -
Hi Admin, referring to my question about full race names and your answer…
“Hi Supermicha,
I have to be careful about making changes to the API – people will have allocated a certain amount of space for each text field.
Chris”maybe you can itegrate both… the ‘old’ short one and the full name?
and another problem.
this year the two bahrain races takes part on the same track but in different layouts. The second is officially named ‘Bahrain International Circuit – Outer Track’ maybee it is itegratable?
https://www.formula1.com/en/racing/2020/Sakhir/Circuit.html -
Hello Admin, my feedback is that in the “constructor information”, there should be the constructor’s team picture as well as all the information there already.
Thank you,
saddish -
Hi Chris,
(A) Do you plan to add Track Configuration data to the circuits?
Eg, the Australian GP in 1987 (Österreichring) and 1997 (A1 Ring) are the same “circuit” but the track in 1997 is shorter (and renamed). The Red Bull Ring IS the A1 Ring with a diff name from 2011; but from 2016 onwards is changed (shorter). Österreichring has a different curcuitId from RB Ring but there’s only one Id for both versions of RBR.
Another much different case (included) is Bahrain which has 3 tracks at same location (the one-time used long track; the F1 regular medium track; and the Sakhir short outer track) – but all 3 are considered the same “circuit” in the db.
I’m not sure level of change counts as a different config – I’d imagine changing at least one corner or straight that has a meaningful difference to the race (so repaving it and new stands don’t count).
(B) Other clarifications:
– are the CSV’s (in the zip) generated dynamically from the DB as and when it updates or would it have a separate cycle?
– will “\N” remain the null indicator in all future extracts? (as a MySQL load data flag)
– are the race start times in UTC?
– are speeds in KPH?
– missing raceIds, are these of any importance or just missing PK’s from db operations? 840, 889, 919-925 (end of 2014 season, start of 2015; non-issue), 935, 946, 947, 1048-1050Thanks for the awesome work.
-
Hi aneroid,
> Do you plan to add Track Configuration data to the circuits?
This would be a lot of work to do now – there have been a lot of configuration changes over the years – and the schema would need to be changed.> are the CSV’s (in the zip) generated dynamically from the DB as and when it updates
All the dumps are generated together after the database has been updated – as indicated by “Last Updated” on the Database Images page> will “\N” remain the null indicator in all future extracts?
Yes> are the race start times in UTC?
Yes – as indicated by the “Z” suffix.> are speeds in KPH?
Yes – the units are indicated in the response.> missing raceIds, are these of any importance or just missing PK’s from db operations?
The latter.Cheers,
Chris -
Hi Chris,
Thanks for the quick & detailed response!
FYI, the zip extract CSV’s don’t include the ‘Z’ in the start times or mention units with the speeds. But thanks for using UTC (and KPH); so we don’t need to care about the varying DST rules throughout the decades.
Cheers,
aneroid -
Hello,
Did you consider adding engine producers?Arek
-
Hi Arek,
I avoided the additional complexity to get the database up and running 12 years ago – and you’re the first person who to ask about it! To support them I guess there would need to be a relationship with constructors that is season-based?
Chris -
How fast data is updated after Qualifying sessions and Races?
-
Hi Tsingis,
See the FAQ – usually 2-6 hours afterwards.
Chris -
Hello Admin.
I have two questions.
First. Do you think it is possible to add the training and qualification schedule (friday and saturday) to the API? (or is it already available)Secons. Is it possible to get a list of drivers for this season. EG: http://ergast.com/api/f1/2021/drivers
This would help to setup a poll application where i only want to select the current drivers.Thnx for your answer !
Pieter -
Hi Pieter,
I often struggle to find an accurate schedule of the races at the beginning of the season. I’m not sure how I could get the times of other sessions.
For this year’s drivers see: http://ergast.com/mrd/provisional-2021-drivers-and-constructors/
Cheers,
Chris -
Hi Chris,
Thnx for the answer. I will change my querie to your advice.
About the source of the other data:
please checkout http://f1calendar.com. This one helps me every year to get the F1 calendar in my agenda and is very accurate. I’m checking how to read an ics file into my application, but reading is from your REST Api will make life much more easier…
Cheers,
Pieter -
Hi,
I’m building an F1 predictions game for a few friends (having run it using Excel for the last 10 years) and am planning to use your API to do it … so far it’s brilliant, thanks!
My question is, when do you intend to populate the list of drivers for the 2021 season? I see you’ve already got the race schedule ready … but I need a driver list to predict from 🙂
Cheers,
Gavin. -
Hi Gavin,
See this post:
http://ergast.com/mrd/provisional-2021-drivers-and-constructors/
Chris -
Hi Admin…
The “current”-Pages referes still to the 2020 Season…
-
Hi Supermicha,
See details in the FAQ
Chris -
Is it possible to get the duration of the pitstop (only the time when they change the tires) ?
-
Hi Satanas,
Unfortunately I don’t have access to that information – or the tyre data :-/
Chris -
Hi,
How You are planning to deal with this new thing Sprint Race?
-
Hi Rolandas,
I can’t change the API format mid-season so I will do the following:
– put the sprint time in the Q1 field of the qualifying table
– add the qualifying points to the race results table on Sunday
Cheers,
Chris -
Hi,
first of all, incredible work! This API is really great to quickly get started in doing all kinds of statistics / visualisation stuff for F1.
I am an academic statistician and I would like to use the data for a scientific publication on statistical driver skill / constructor form estimation. Surrounding this I have several questions.
0. Are you okay with me using this data for this purpose? It is non-commercial, I will be publishing this fully open-access (if it gets accepted to a journal!)
1. Is it possible to get a more detailed description of the data sources? How is the data collected?
2. How do I cite you? It would be great if you can publish a DOI. I also understand that you may want to remain anonymous, but usually the publication is something like
Lastname, Initials (2021) Ergast developer API, version May 2021. http://ergast.com DOI: dx.doi.org/
Lastname, Initials could also be replaced by “the Ergast API team”.
3. I am focussing on hybrid-era F1, and I have enriched your data with weather information (wet/dry race) and circuit type (permanent/street), partially scraped from Wikipedia and partially manually coded. Would it be OK for you if I openly publish this enriched dataset (of course referring to you) as part of the article with a CC-BY licence?
4. The wikipedia URL of the 2014 German grand prix has a typo:
http://en.wikipedia.org/wiki/2014_German_Grand_Prixs
(should not have the final s)
Thanks again for your great work, and I hope you have a bit of time to respond to my questions!
Erik
-
Hi Erik,
Using the API and the data in this way is fine.
The data is described in more detail in the User Guide provided on the Database Images page. There’s also an Entity Relation diagram.
I’ll contact you directly with further details.
Chris -
Hi,
I think there might be something up with the pitstop data for the last race. It doesn’t appear to be returning anything:
https://ergast.com/api/f1/2021/4/pitstops.json
Keep up the great work!
Steve
-
Hi Steve,
I’ve been unable to obtain it – but still trying.
Chris -
Hi Admin,
I was wondering if you had any thoughts on what a longer term plan for supporting the Sprint Qualifying format would be (if any)?
I saw the response from Rolandas’ question about how points will be added to race data for this season, thanks for supporting this!
Some longer term options that I can think of:
– Not support it officially if it’s cancelled at the end of 2021
– Add another column or two to the qualifying table for sprint qualifying data, so options become q1, q2, q3, and qSprint or something like that? (and would be returned as part of the existing qualifying endpoints)
– A separate table in the backend with a dedicated set of endpoints for sprint qualifying results
– It gets bundled into the round results as a nullable field (similar to fastest lap?)
– Something else?Thanks as always for your work on this API!
Thanks,
Jordan -
Hi Jordan,
I haven’t any plan other than that outlined in:
http://ergast.com/mrd/feedback/comment-page-6/#comment-186980
Let’s see how it goes, and whether changes are proposed in 2022.
Cheers,
Chris -
Hi Admin,
Thank you for your API services. The Singapore race was canceled and the Istanbul race was added instead. But data is out of date in APIs. Will you update on this?
We are grateful for this service. We use your data in one of Turkey’s largest sports newspapers. We are grateful.
-
Hi Emre,
Thanks for the warning – It’s hard to keep up with all the schedules changes this year. Now fixed.
Chris -
Hi Admin,
I appreciate the API services you provide and the great work you do behind the scenes.My question:
I was wondering if we have an api that returns NUMBER OF LAPS per circuit. Ex: How many laps in Bahrain?Thanks
-
Hi, great API!
Looking at the qualify results table after today’s first Sprint “race”, I see you did add the final Sprint times in Q1 as proposed. But it really is confusing to extract the data knowing the position value does not represent the preemptive race day grid :-/number position Q1 Q2 Q3
44 1 1:26.786 1:26.023 1:26.134
33 2 1:26.751 1:26.315 1:26.209
77 3 1:27.487 1:26.764 1:26.328
16 4 1:27.051 1:26.919 1:26.828
11 5 1:27.121 1:27.073 1:26.844
4 6 1:27.444 1:27.220 1:26.897
3 7 1:27.323 1:27.125 1:26.899
63 8 1:27.671 1:27.080 1:26.971
55 9 1:27.337 1:26.848 1:27.007
5 10 1:27.493 1:27.103 1:27.179
14 11 1:27.580 1:27.245
10 12 1:27.600 1:27.273
31 13 1:27.415 1:27.340
99 14 1:27.595 1:27.617
18 15 1:28.017 1:27.665
22 16 1:28.043
7 17 1:28.062
6 18 1:28.254
47 19 1:28.738
9 20 1:29.051Thank you for sharing this great work,
Ben -
Hi! 🙂 First, I wanna say Thank You! For all that work, it’s really really cool! 🙂
I have a question: There is some data about penalization during the race? Thanks a lot!
Leave a Reply