Bug Reports

If you identify any API bugs or errors in the data please record them here.

Comments

812 responses to “Bug Reports”

  1. punter42 Avatar
    punter42

    Hi Chris,

    Your raceId is often matching that on formula1.com but also often not.

    E.g. the last race in 2020 on f1.com has raceId 1061: https://www.formula1.com/en/results.html/2020/races/1061/abu-dhabi/race-result.html
    But in your db it has id 1047. You also have a race with id 1061 but that one is currently in the future.

    Is this an error or should I just not use these raceId to find the same races?

    Kind regards,
    punter42

  2. Tiago Avatar
    Tiago

    Hi,

    Just want to report that Vettel has 38 fastest laps and not 37. Did some investigating and you attributed the fastest lap on round 17 of 2017 season (American GP) to Kimi Raikkonnen.

    If you could give that fastest lap to Vettel would be great 🙂

    Also, i know you don’t have much old info, but since raikkonen is stil driving could you update the database with those missing years? 2001 onwards?

    Much appreciated and incredible work

    Best regards

  3. Admin Avatar
    Admin

    Hi punter42,
    The raceId is a primary key used internally by the database – unfortunately it doesn’t relate to anything in the real world. If corrections are made to the race schedule the key may not follow a simple, incremental sequence. This is true for the primary keys of all the database tables. The only reliable identifier of a race is year + round, or the date.
    Cheers,
    Chris

  4. Admin Avatar
    Admin

    Hi Tiago,
    Thanks for the warning – now corrected.
    Unfortunately, adding earlier lap times would be a significant amount of work but I’ll bear it in mind.
    Chris

  5. Luke Avatar
    Luke

    I’m not sure if this is a bug or me misunderstanding something (I’ve read the FAQ/Docs), but shouldn’t https://ergast.com/api/f1/current/last/results return the final round of the previous season if there haven’t been any races yet? I understand that the context of ‘current’ is ‘2021’ so maybe it’s not possible, but I’m trying it with https://ergast.com/api/f1/2020/last/results and it still doesn’t work. Is it because the context of ‘last’ always relates to the current season?

  6. Admin Avatar
    Admin

    Hi Luke,
    Apologies for the confusion. This was a bug I didn’t anticipate, caused by all the recent race cancellations. It should be ok now.
    Thanks for the warning.
    Chris

  7. Finwe Avatar
    Finwe

    Hi!

    When will the https://ergast.com/api/f1/current be linked to https://ergast.com/api/f1/2021 ?

    And can you please update the 3rd race of 2021 to https://en.wikipedia.org/wiki/Portuguese_Grand_Prix ?

    I would have submitted a pull-request if i knew where to post it 😉

    Fin

  8. Admin Avatar
    Admin

    Hi Finwe,
    > When will the https://ergast.com/api/f1/current be linked to…
    It’s explained here: http://ergast.com/mrd/faq/#shortcuts

    > And can you please update the 3rd race of 2021
    Done. Thanks for flagging the update.
    Chris

  9. suf264 Avatar
    suf264

    Hi,

    I’m requesting https://ergast.com/api/f1/2021/driverStandings.json
    The “Constructors” field for all the drivers are empty. However they are not when I request it for previous years (e.g 2020, 2019). Do you plan to add it in future?

    Thanks

  10. Admin Avatar
    Admin

    Hi suf264,
    The link between drivers and constructors is established via the race results table – and is established after the first race of the season. This makes sense in some ways because you con’t be sure who will actually turn up to race on the day (remember USF1?). But yeah, it’s not ideal. Unfortunately, there’s no easy fix.
    Chris

  11. Nicolas Avatar
    Nicolas

    Hi,

    thanks for this great API!

    I just saw a small mistake in the data: From 2018 until 2020, the nationality for the “Alfa Romeo” team is set to “Italian”, while it should actually be “Swiss”, because the team is run by Sauber Motorsport AG from Switzerland (according to the official 2021 F1 entr y list: https://www.fia.com/events/fia-formula-one-world-championship/season-2021/2021-fia-formula-one-world-championship-entry).

    Cheers,
    Nicolas

  12. Admin Avatar
    Admin

    Hi Nicolas,
    It’s difficult to think of Alfa as anything other than Italian! Unfortunately, the database doesn’t support time-dependent properties for constructors. I’ll update it anyway though so this year’s line-up is correct. Thanks.
    Chris

  13. Lucy Avatar
    Lucy

    Hello,

    I have noticed that at least from my csv download of the database, in the qualifying sheet there are no entries for raceId = 260 or the 1994 Monaco GP.

    Best regards.

  14. Admin Avatar
    Admin

    Hi Lucy,
    On documentation page for the Qualifying results you’ll see a note explaining that they are only fully supported from the 2003 season onwards. If someone can supply the missing data in a machine-readable form I would be happy to add it.
    Cheers,
    Chris

  15. Nick Avatar
    Nick

    Hey,

    Awesome database and great work.

    I think I noticed what may be an error in the data, but wanted to confirm.

    If you run a query on the 2011 Canadian GP lap times for Heidfeld (result here: http://ergast.com/api/f1/2011/7/drivers/heidfeld/laps) it appears as if one of the recorded lap times is over 2 hours. There are similar results for a lot of other drivers and races as well (e.g. lap times for round 9 of 2014 season).

    I’m not too familiar with how timing works, but this seems erroneous and wanted to confirm.

  16. Admin Avatar
    Admin

    Hi Nick,
    You sometimes see these anomalous lap times in the official FIA data when a race has been Red-flagged. For 2011 Canadian Grand Prix the Wikipedia report states that “Torrential rain prevented the resumption of the Grand Prix for over two hours”. This is probably the source of the issue you found.
    Cheers,
    Chris

  17. Kaustubh Avatar

    Hi,

    The API returns a reponse but with invalid xml or json if you query for a non existent id with special characters. For example:

    http://ergast.com/api/f1/drivers/al%22onso/constructors/alpine/seasons

    http://ergast.com/api/f1/drivers/al%22onso/constructors/alpine/seasons.json

    This will not be a problem with any normal usage of the API since no id field has special characters from what I understand, but I am posting this observation in case there is some other issue that can be caused due to this.

  18. John Paradise Avatar

    The current race schedule has the wrong start time for the Portuguese Grand Prix. It starts at 14:00:00 UTC, not the 13:00:00 UTC in the API (according to Formula1.com website).

    http://ergast.com/api/f1/2021/3 or http://ergast.com/api/f1/current/next

  19. EF239 Avatar
    EF239

    Hey,

    Plus one’ing John’s post above, Portuguese start time seems to be off.
    Thanks for providing the API and all the work.

  20. Admin Avatar
    Admin

    HI Kaustubh,
    Thanks for the warning – that should be an error condition.
    Cheers,
    Chris

  21. Admin Avatar
    Admin

    Hi John,
    Thanks for the warning – now fixed.
    Chris

  22. Anders Avatar
    Anders

    Hi,

    Just noticed that the results in JSON for the season 2021 does not include the latest race (Portimao). I noticed that /results contains it, but not when specifying JSON.

    Has it just been missed or am I doing something wrong?

    http://ergast.com/api/f1/2021/results.json

    Thanks

  23. Admin Avatar
    Admin

    Hi Anders,
    The responses are limited by default to 30 results. You need to add an offset parameter to see the later results as described in the documentation on Response paging.
    For example: http://ergast.com/api/f1/2021/results.json?offset=30
    Alternatively, you can specify the round:
    http://ergast.com/api/f1/2021/3/results.json
    Cheers,
    Chris

  24. Michel Post Avatar
    Michel Post

    Hello,

    When can we expect the pitstops for the 2021 Spanish Grand Prix?

    http://ergast.com/api/f1/2021/4/pitstops/1.json

    Thanks!

  25. Admin Avatar
    Admin

    Hi Michel,
    I’ve been unable to obtain it – but still trying.
    Chris

  26. Michel Post Avatar
    Michel Post

    Hi Chris,

    Thanks! Hope you will get it!

  27. NotSoAnonymousCoward Avatar
    NotSoAnonymousCoward

    There’s a typo in the URL of a race:

    SELECT * FROM races WHERE url LIKE “%ii%”;

  28. Admin Avatar
    Admin

    Thanks NSAC – now corrected
    Chris

  29. simone Avatar
    simone

    F1 seventh GP isn’t the French GP, but canadian gp

  30. Admin Avatar
    Admin

    Hi Simone,
    I can’t find the Canadian Grand Prix in the FIA Race Calendar. I think it was cancelled unfortunately.
    Chris

  31. jggrizonic Avatar
    jggrizonic

    Hello there! I was bluinding dome graphs based on pitstop times and I believe there’s an error in the json file. In the 2nd race of the season (https://ergast.com/api/f1/2021/2/pitstops.json) the last 3 pitstops (max, stroll and kimi) have duration express in xx:xx.xxx while the others are xx.xxx, is this a bug?

  32. jggrizonic Avatar
    jggrizonic

    Hello again, just to let you know that in race num6 (https://ergast.com/api/f1/2021/6/pitstops.json) mick schumacher pitstop at lap 34 is also in this different formart xx:xx.xxx. If you want to know, in this season this only happen in round 6 and 2.
    Cheers

  33. Admin Avatar
    Admin

    Hi jggrizonic,
    The pitstop times reflect what is reported in the official data. They’re higher than normal because they occurred whilst the races were suspended, following the crash between Valtteri Bottas and George Russell in round 2 and after Verstappen’s accident in round 6.

    BTW these aren’t the last three pitstops in round 2 – if you check the total attribute there were 56 pitstops in this race. To see all of them you need to raise the default limit of 30 by adding a limit parameter to the query e.g. https://ergast.com/api/f1/2021/2/pitstops.json?limit=100
    Cheers,
    Chris

  34. John Avatar
    John

    Hi There,

    Might be jumping the gun here, however, in case you are not aware, Kimi Raikonnnen was promoted to 15th place post race for the Austrian grand prix (Round 9 2021)

    Thanks,

    John

  35. Admin Avatar
    Admin

    Thanks John – I missed that.
    Now corrected.
    Chris

  36. Sattish Avatar
    Sattish

    Hey there,

    I have noticed that Jacques Villeneuve isn’t in the drivers list for 1997 for some reason.

    He is there in 1996 but not 1997 in the API.

    Thanks,

    Sattish.

  37. Admin Avatar
    Admin

    Hi Sattish,
    What URL are you using? I can see him here:
        https://ergast.com/api/f1/1997/drivers.json
    and here:
        https://ergast.com/api/f1/1997/driverStandings.json
    Chris

  38. Sattish Avatar
    Sattish

    My apologies, it didn’t seem to retrieve the last 3 elements for some odd reason.

    The issue is fixed from my side now, thank you for the quick response Chris!

  39. Fortis Avatar
    Fortis

    Hi,
    I believe i have found an error in the constructors standings data. I was analysing
    points versus raceId and have noticed that after race 1058 there is a decresee in the amount of points in the race 1059. For example amount of points after the raceId = 1058 shows Red Bull have 252 points and after raceId = 1059 they have 215 points. The difference is 32 points which is exacly the amount of points Red Bull earned after Steiermark GP, therefore i believe the id’s or the order of races is swapped. Furthermore in the races data, Styrian GP has raceId = 1058 and French GP raceId = 1059 and according to my knowledge they happened in reverse order.

  40. Admin Avatar
    Admin

    Hi Fortis,
    The raceId is a unique key used internally by the database and it’s not necessarily sequential. Database keys have to be unique but the values themselves have no significance externally.
    The raceId is usually sequential because I enter the race calendar sequentially. However, this year, races have often been cancelled and/or rescheduled and thus the sequential sequence has been disrupted.
    Cheers,
    Chris

  41. Fortis Avatar
    Fortis

    I was considering it after writing this message, sorry for confusion and than you for clarifying 🙂

  42. Caspar Avatar
    Caspar

    Hi,

    Not a bug report but I was wondering if you knew how you were going to handle sprint qualifying this weekend? Will the existing grid position field be the one set by the new sprint qualifying race?

    Thanks,
    Caspar

  43. Admin Avatar
    Admin

    Hi Caspar,
    Yes, that sounds like a reasonable approach.
    Chris

  44. Caspar Avatar
    Caspar

    Thanks Chris.

    In which case, I think the data for Silverstone is wrong 🙂

    Shows Hamilton as grid position 1, and Verstappen as 2, for example.
    https://ergast.com/api/f1/2021/10/results

  45. Admin Avatar
    Admin

    Hi Capsar,
    Erk, thanks for the warning – turns out there are now two documents called “Final Starting Grid” :-/ Now corrected.
    Chris

  46. Caspar Avatar
    Caspar

    Ah, the final final starting grid :p
    Thanks for sorting.
    Caspar

  47. Gavin Avatar
    Gavin

    Hi Chris,

    I noticed for the British GP the sprint points are reported combined with the race points (which is why Max has 3 points despite crashing out).

    I wondered if you’re thinking of reporting sprint & race points separately if the sprints become a feature in more than a handful of weekends perhaps in 2022?

    Cheers,
    Gavin.

  48. Philipp Avatar

    Hi,

    first off thanks for the API, I love it!

    I guess there is a small typo for the location of the Red-Bull-Ring and A1-Ring:

    In the API the location is “Spielburg” (http://ergast.com/api/f1/circuits?limit=30&offset=30) but the actual city is called “Spielberg” (https://en.wikipedia.org/wiki/Spielberg,_Styria and https://en.wikipedia.org/wiki/Red_Bull_Ring).

    Thanks a lot,
    Philipp

  49. Lucy Avatar
    Lucy

    Hi Chris,

    I wanted to ask about the “status” list as it seems to have quite a few duplicates contained like:
    Driver seat (id 28) and Seat (136)
    Oil pipe (108) and Oil line (70)
    Safety (78) and Safety concerns (89)
    Collison (4) and Collison Damage (130)

  50. Admin Avatar
    Admin

    Hi Lucy,
    It’s true – they need rationalising but would need careful fixing due to references between tables. I’ll have a go at the end of the season.
    Cheers
    Chris

Leave a Reply

Your email address will not be published. Required fields are marked *