Bug Reports

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

657 Responses to “Bug Reports”

  1. Philipp says:

    Hi, I’ve found a slight problem with the data of the 2018 Brazilian GP Race (round 20). In the ‘Time’ column, the timestamps are formatted as ‘+1.469s’ for example. All other sessions that I have checked, it is just ‘1.469’ without the ‘s’. This is slightly problematic when parsing these values and should maybe be changed, so it’s the same as everywhere else.


  2. Admin says:

    Hi Philipp,
    Thanks for the report – now corrected.

  3. Edgardo says:

    Hi, the 2022 Emilia Romagna Grand Prix (Round 4) appears to be unavailable.


    “MRData”: {
    “xmlns”: “http://ergast.com/mrd/1.5”,
    “series”: “f1”,
    “url”: “http://ergast.com/api/f1/2022/4/sprint.json”,
    “limit”: “30”,
    “offset”: “0”,
    “total”: “0”,
    “RaceTable”: {
    “season”: “2022”,
    “round”: “4”,
    “Races”: []

  4. John says:

    Hi There,

    Thank you for a great APi.

    I noticed that in the (at least) the 2022 Imola GP, the FastestLap data was omitted from the results json object. Is this just an omission or is it added later?

    Many thanks.

  5. Bhagat says:

    While getting all the race dates for a project, I had some issue figuring out the timezone of the race. For eg: the race is in USA, it is 8th of May for them, but in India, it is 9th of May. Possible to include timezone info along with the race schedule?

  6. Admin says:

    Hi Edgardo,
    Sorry about the delay – the Sprint Race data failed to appear from my usual source. I had to enter the data manually the next morning, which wasn’t a great way to start the weekend!

  7. Admin says:

    Hi John,
    Unfortunately the Fastest Laps data failed to appear from my usual source. I had to hunt around for it and then enter the data manually on Sunday evening.

  8. Admin says:

    Hi Bhagat,
    All the date/times in the API are UTC, so you should be able to adjust them to your local timezone, without using the race timezone.

  9. Shafie says:

    Qualifying results from 1998 to 2002 seems to be not recorded for all GPs.
    For example: 1998 only has results for 7 GPs in total while 1999 has only for 3GPs.

    see: https://ergast.com/api/f1/1999/drivers/michael_schumacher/qualifying

    Thanks for taking a look. Cheers!

  10. Admin says:

    Hi Shafie,
    As mentioned in the Qualifying method documentation, results are only fully supported from the 2003 season onwards. If someone sends me the missing data in a machine-readable format I’d be happy to add it.

  11. DC says:

    The full list of circuits seem to include 3 too many entries:

    The erroneous entries are Hanoi (there was never a GP there), Port Imperial (same), and double entry for A1-Ring/Red Bull Ring (it’s one and the same circuit, so it should not feature in the list twice).

  12. Philipp says:

    Hi Chris, the Qualifying results for this weekends Monaco GP contain a small error. Qualifying Position 16 is listed as Car 14, Fernando Alonso but should be Car 23, Alexander Albon. The single Q1 time for P16 is correct.
    As a consequence, the results contain Alonso twice.

  13. Admin says:

    Hi Philipp,
    Oops, that’s embarrassing. Now corrected.

  14. Admin says:

    Hi DC,
    The Circuits table includes any circuit that has appeared in the Races table at some point, so Hanoi and Port Imperial remain, although the races were cancelled. The A1-Ring/Red Bull Ring issue is debatable. It’s true they’re concern the same location but the circuit layout is different and, of course the names are different. If someone searches for an Austrian Grand Prix between 1997 and 2003 which name would they want to see for the circuit?

  15. DC says:

    Hi Chris,

    There are plenty of circuits that changed over the years much more drastically than the Red Bull Ring (aka A1-Ring, aka Osterreichring). And yet all their different configurations appear under one name. Same goes about name changes: this is by no means the only circuit that had “aka” in its history. Are you still sure it’s such a special case?

    As for Hanoi and Port Imperial, if they are vestiges of some old-but-now-erased data in the database, what’s the point of keeping then? Your DB is not a what-could-have-been record, it’s a record of what was. So I’d advise removing them. I’ve dealt a lot with historical data in my life – I don’t think keeping these two has any benefits (but it has plenty issues associates with it)…


  16. Jeroen says:


    found a slight error:


    16 23 Alexander Albon Alpine F1 Team 1:13.611

    Alex Albon is put there as Alpine instead of Williams.

  17. Admin says:

    Thanks Jeroen – now corrected.

  18. Al says:

    Hey admin,

    Tried reaching out via email about a problem im having and got no response so just wanted to verify. Is admin@ergast.com the correct address? That seems to be what the “contact me” button generates.


  19. Admin says:

    Hi Al,
    Apologies – email forwarding seems to be broken.
    You should be able reach me on: ergast.com@gmail.com

  20. DC says:

    Hi Chris,

    Would you be able to clean up the 3 extra track entries (per discussion above)?

    When dealing with data, consistency is key. Hopefully you understand 😉


  21. Admin says:

    Hi DC,
    I’m not sure I agreed with you, but I’ve done it, since you care about it a lot more than I do!

  22. Eelco says:

    In the latest f1db_csv.zip lap_times.csv seems to be damaged.

  23. Admin says:

    Hi Eelco,
    Damaged in what way? I see 889 entries for the last race which appears to be correct.

  24. Pablo says:

    In 2018 Russian GP Qualifying Lance Stroll’s racing number is 28 where it should be 18.

  25. Admin says:

    Hi Pablo,
    Thanks – now corrected.

  26. LF1 says:

    Hi, there is an error in the results of the last GP (Montreal). Alonso drops from P7 to P9 after being hit with 5 second time penalty.


  27. Admin says:

    Thanks LF1 – now corrected.
    I hadn’t had time to check the final classification this morning.

  28. Alexandre says:


    I’m currently working on a project using FastF1 package which pull out data from your database. I have encountered loading errors because of some typos in ‘Time’ column of Results table:

    +8.959 sec
    it should be +8.959

    ‘s’ should be removed

    + 25.6
    + 53.3
    + 1:06.7
    there should be no space

    is it possible to correct them?
    Many thanks

  29. Admin says:

    Hi Alexandre,
    Done! Let me know if you spot any more.

  30. Arnaud says:


    Thanks for the goldmine of data !
    One thing to note:
    for the raceID = 908, driver ID 820, the first pitstop is missing in the pit_stop tqble (only number 2 and 3 reported)
    for the raceID = 1024, driver ID 832, the first pitstop is missing in the pit_stop tqble (only number 2 reported)


  31. emkaerr says:

    Just want to ask about status field in result table – looks like it is not correct in some cases.
    For example Max Verstappen DNFs from this season (Bahrain and Australia) are listed as Steering and Hydraulics issue, but it were related to fuel line/pump in both cases. Could you take a look please?

  32. Steven says:


    Not sure if correct but I’ve noticed the qualifying times are off for the British GP

    Verstappen and Leclerc are recorded as 1:39 but qualified under Carlos, wondering if this is just a one off error?

    Round 10
    RaceID 1083

    ?P1 Carlos Sainz 1:40.190
    ?P2 Max Verstappen 1:39.129
    ?P3 Charles Leclerc 1:39.846

  33. Admin says:

    Hi Steven,
    I’ve checked the results and they appear to be ok. The order of the results is detemined by the time in the final session completed by each driver i.e.

    1 Carlos Sainz 1:40.983
    2 Max Verstappen 1:41.055
    3 Charles Leclerc 1:41.298


  34. Admin says:

    Hi Emkaerr,
    The status field is taken from Wikipedia soon after the race has ended – and it looks like the editors made some mistakes (and corrections at a later date). I’ll review the entries for the season when I get home at the weekend and have a decent Internet connection.

  35. Nas says:

    There are wrong lap times.
    2008 Spain – Sebastian Bourdais
    lap 5 – 1:26.349
    lap 6 – 1:25.999
    lap 7 – 1:49.334 (crash with Piquet Jr. , pit, retire)

    2010 Monaco – Bruno Senna, Luca Di Grassi
    See https://motorsportstats.com/results/formula-one/2010/monaco-grand-prix/stats

  36. emkaerr says:

    Hi, I noticed two things:

    For race 1084 (Austrian GP 2022) in results table grid position is set as qualify position, not sprint. For example Alonso (driver id = 4) qualified 8th, but started 19th on grid (DNS for sprint)

    Also in results table for race 1083 position for Albon (848) is set as 20, but it should be ‘\N’ as he retired in first lap

  37. Admin says:

    Thanks Emkaerr – now corrected.
    The first issue was a bug, so thanks for that!

  38. jay says:

    Hi Chris, thanks for the data! doing a school project trynna figure out fastest pit stops by team over the past 3 years and how it correslates to wins. I might be missing something major here – avg. pit stop durations are around 20+ seconds but usually pit times are 2-3 seconds. could you clarify what the duration is?

  39. Pablo says:

    Hi, I’m not sure if the constructor with id “spyker_mf1” should be called “Spyker MF1”.
    Jordan team was bought by Midland F1 at the end of 2005, so Midland competed in the 2006 season. At the end of the 2006 season, Spyker bought Midland for the 2007 season, however, during the last races of the 2006 season, the official name for the team was Spyker MF1.
    Even though the team finished the 2006 season with that name, for almost the entire season its name was Midland. Even in the official F1 results page for the last races of the 2006 season, the team appears as MF1 Toyota (https://www.formula1.com/en/results.html/2006/races/807/brazil/race-result.html)
    In conclusion, I think it could be a good idea changing its name, for example:
    constructorId: spyker_mf1 -> midland
    name: Spyker MF1 -> Midland or Midland F1 Racing
    nationality: Dutch -> Russian

    Let me know what do you think. Thanks.

  40. David says:

    Hi! First of all, awesome work on this project!

    Everything in the API uses UTC as the timestamp, except for pit stop time which are in local time.
    Would it be possible to update the pit stop response to ensure MRData.RaceTable.Races[0].PitStops[n].time fields use UTC as well?

  41. Admin says:

    Hi Pablo,
    The only possible change is to create a new constructor for Midland and substitute it in all data for spyker_f1 in 2006. This is because the API cannot support name change mid-season. Does this sound reasonable?

  42. Admin says:

    Hi Jay,
    IIRC the duration is measured from when the car enters the pitlane until it rejoins the track.
    Good luck with your project!

  43. Admin says:

    Hi David,
    Unfortunately that would be quite a hard change to implement and I’d have to be sure it’s what everyone wants. I really hate doing anything related to timezones – they’re tricky to get right, with day light saving switching in and out during the season.

  44. Payoja says:

    This is with regards to one gap in the data: There are 94 races for which no qualifying data has been provided in the database. I was wondering if there is a particular reason as to why this data doesn’t exist in the dataset? Or if possible, could you direct me to a resource from where we could extract the missing data from?

  45. Kamal says:

    Hi Chris,
    First of all, I want to thank you for the wonderful API and database you have created and maintained.
    I discovered a data discrepancy in the Hungary GP 2022 Qualifying Timings. Here are the details.

    API – https://ergast.com/api/f1/current/13.json

    Incorrect data in the response :

    Correct/ Expected data:

    Here is the source for correct data : https://www.formula1.com/en/racing/2022/Hungary.html

    Hope you can make the update at the earliest possible. Thanks.

  46. Hi, great resource – thanks for making it available.

    I have a confusion over entrants vs constructors that I hope you can clear up.

    In 1977 Patrick Neve drove a March for Williams. DB shows March but Neve is considered the first Williams driver.

    In 1980 Geoff Lees drove a Williams for RAM. DB showns Williams but he is not considered a Williams driver.

    Is it possible to find out the entrant from the db as it is that most people would recognise as the team.


  47. Pablo says:

    According to your previous answer related to my question about Midland, I think that adding that constructor sounds good.

  48. Admin says:

    Thanks Kamal – now corrected.

  49. Admin says:

    Hi Neil,
    The database doesn’t support teams as such. There are drivers and constructors – and the relationship between them is established by a driver appearing in the qualifying or race results table with a particular constructor. This enables the database to cope with drivers hopping between contructors mid-season, which used to happen quite frequently.

  50. Admin says:

    Hi Payola,
    Qualifying is only fully supported from the 2003 season onwards. If anyone can provide earlier data in machine-readble form I would be happy to load it.

Add a Comment: