Bug Reports

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


796 responses to “Bug Reports”

  1. Admin Avatar

    Thanks to work by Miguel Bento the lap times for the Belgian and Italian Grand Prix are now available.

  2. Toby Avatar

    Hi Chris
    In case you’re not already aware but there seems to be an issue with the lap times data again after Singapore.

  3. Admin Avatar

    Hi Toby,
    Yes, there’s an ongoing problem with the import of the lap times so they’re likely to be late. Try now.

  4. Toby Avatar

    Hi Chris
    It seems as though the COTA lap times are available through the API but not yet updated on the disk image (which says last updated yesterday). Is this as expected?

  5. Admin Avatar

    Hi Toby,
    That’s odd. As it’s easier than checking, I’ve created a new dump and updated the date. Let me know if the problem remains.

  6. Bob Phillips Avatar

    there are results for 111 drivers that are not in the drivers table. For example drivers 800 to 816 are some of the driverIDs in the results table that are not in the drivers table. Also, team 201 is missing. Also, there are some drivers that have 2 results for a race. For example driver 624 for race 788 has two results. What is the meaning of the two results? Is this an error did he take over a team mates car after a wreck?

  7. Bob Phillips Avatar

    Sorry, missing drivers is error on my part. Still remains the question about why some drivers have two results for the same race. Thanks.

  8. Admin Avatar

    Hi Bob,
    Drivers sharing or swapping cars was an interesting feature of early races – difficult to imagine nowadays!

  9. TK Avatar

    Hi Awesome Ergast Admin(s),

    Just noticed Jacques’s laptimes for the 2004 Chinese GP are linked to Trulli instead.

    2004’s the season where Trulli drove for Renault for rounds 1 to 15, skipped 16 (China), and jumped over to Toyota for rounds 17 and 18. Villeneuve took over Trulli’s seat at Renault for rounds 16, 17, and 18.



    Anyway, here are the IDs and some verification queries.

    # 2004 China :: raceId = 105
    # Trulli :: driverId = 15
    # Villineuve :: driverId = 35

    # Jacques’s and Trulli’s records in drivers
    select *
    from drivers
    where driverId in (15,35); # 15 is trulli, 35 is Jacques

    # raceId for 2004 China
    select *
    from races
    where raceId = 105;

    # query showing Jacques’s laptimes for 2004 China are all associated with Trulli
    select *
    from laptimes as l
    join drivers as d on d.driverId = l.driverId
    where l.raceId = 105 AND d.driverId in (15,35); # 15 is trulli, 35 is Jacques

    AFAICT, the records in the results table are fine. Villeneuve has results for rounds 16 to 18. Trulli has results for rounds 1 to 15, 17, and 18.

    select driverRef, c.name, races.*
    from races
    join results on races.raceId = results.raceId
    join drivers d on d.driverId = results.driverId
    join constructors c on c.constructorId = results.constructorId
    where year = 2004
    AND d.driverId in (15,35)
    order by round;

    Thanks for maintaining a fantastic project!!!


    # temp fix?
    update laptimes
    set driverId = 35 # Jacques
    where raceId = 105 # China
    AND driverId = 15; # Trulli

  10. Admin Avatar

    Thanks TK,
    I’ve reviewed and applied your fix.

  11. TK Avatar

    Hi Chris,

    Found a few other items for laptimes.

    The first one appears to just require relinking the laptimes to the correct driver.

    – 2014 Brazilian GP (raceId=917)
    — Kevin Magnussen’s times (driverId=825) are linked to the “original” Magnussen (driverId=76). The laptimes and positions match up with other published records I found.

    I wasn’t able to find laptimes and positions for the next ones, but they might just be linked to the wrong driver.

    – 1997 European GP (raceId=223)
    — Fontana’s times (driverId=82) are missing and might be linked to Morbidelli (driverId=81). Morbidelli had an injury (or injuries) and retired before the season ended. Fontana subbed for Morbidelli for this race.

    – 1999 San Marino GP (raceId=177) and Spanish GP (raceId=179)
    — Salo’s times (driverId=63) are missing and might be linked to Ricardo Zonta (driverId=41). Zonta was injured during practice in Brazil (round 2) and was subbed by Salo for the next three races (these two, plus Monaco).

    – 2001 Italian GP (raceId=155)
    — Alesi’s times (driverId=55) are missing and might be linked to Trulli (driverId=15). Trulli retired in the first lap, but has laptimes linked for this race.

    The next two might be missing records and just need to have them re-ingested.

    – 1999 Monaco (raceId=178)
    — Salo (driverId=63) doesn’t have laptimes, but the results table and wiki say he completed 36 laps. However, there don’t appear to be any incorrectly linked laptime records for this race.

    – 1999 Brazilian GP (raceId=176)
    — Sarrazin (driverId=72) doesn’t have laptimes, but the results table and wiki say he completed 31 laps. However, like the instance above, there don’t appear to be any incorrectly linked laptime records for this race.

    This last one might be tricky (or maybe not).

    – 2009 Italian GP (raceId=13)
    — Alguersuari (driverId=153) completed 19 laps in this race, but doesn’t have any laptime records. Webber (driverId=17) actually retired in the first lap, but has 52 laptime records associated to him. But that’s too many records to match Alguersuari’s lap count for this race (19 vs 52). However, Buemi (raceId=67) completed 52 laps, but only has 19 records; which matches Alguersuari’s number. So, maybe Webber has Buemi’s records, while Buemi has Alguersari’s. Might be easier to just drop all the laptime records for that race and just reimport the data.



  12. Admin Avatar

    Thanks TK – I’ll work on these when the season closes.

  13. TK Avatar

    Hey Chris,

    I figured I’d make this a bit more automated and wrote some validation queries to identify potential problems like these.


    The first two are pretty quick.

    1. Is the laptime record for the driver’s 1st lap missing?
    2. Is the laptime record for the driver’s total laps missing?

    The last one’s a bit heavier.

    3. Do the number of laptime records match the driver’s results.laps value for the race?

    I don’t know if all the scenarios identified with #2 and #3 are problems. #3 identified 2014 China, the race where Hamilton was shown the chequered flag a lap early. So, the laptime records for that race are probably okay. But #3 also identified Perez’s results in 2014 Hungary. His results.laps value is 23. But, the laptime records say he completed 22 laps, which matches the FIA and Wiki’s listed completed laps.

    Anyway, there were 8 records returned for #1, 61 for #2, and 97 for #3. Given the overlap with what the queries identify, I’d guess there’s a max of 97 driver results that >might< have misplaced laptimes. So basically a small percentage, given that there are 8,497 total driver results during this period.


  14. Przemek Avatar

    Hi, I have been playing with your database and discovered the following discrepancies:
    https://en.wikipedia.org/wiki/1950_Italian_Grand_Prix you have listed Serafini and Ascari racing for different team, but acc to wiki they were both in ferrari
    https://en.wikipedia.org/wiki/1951_French_Grand_Prix you put Fangio and Fagioli in car number 24 (should be 4) and different teams (should be alfa romeo)
    https://en.wikipedia.org/wiki/1953_German_Grand_Prix you put Farina with car number 12 (it was 2)
    https://en.wikipedia.org/wiki/1953_Italian_Grand_Prix you put Landi in car number 2 (it was 42)

  15. Giannis Avatar

    Hi! I just noticed that this query


    feeds back the results twice per row.

    race 1
    race 1
    race 2
    race 2 and so on

  16. Admin Avatar

    Hi Giannis,
    Thanks for the heads-up – now fixed.

  17. Scott Avatar


    The 2018 calendar list Round 3 Chinese GP as 15 May 2018, it should be 15 April 2018.

  18. Aaron Avatar

    Hi, The times for the 2018 season need to be updated to match the new start times as announced here: https://www.formula1.com/en/latest/headlines/2018/2/new-race-weekend-schedule-announced-for-2018.html

    Also as mentioned before the Chinese Grand Prix is listed as the 15th of May, instead of the 15th of April.

  19. Admin Avatar

    Thanks Scott, Thanks Aaron – schedule updated. Does anyone know of a list somewhere with race start times in UTC?

  20. Toby Avatar

    Hi Chris

    I stumbled over a few errors but in reading through the recent feedback above I see TK has already noted them. Presumably still on the list to be corrected (2014/MAG in particular was my issue).

    As always, thanks for your awesome work and great work TK on the validation code.


  21. Admin Avatar

    Hi Toby,
    Thanks for the heads-up. I forgot about the second list. I’ve done 2014/MAG but the others need further investigation.

  22. emkael Avatar


    Elio De Angelis’ time in the 1980 Austrian GP (resultId=12244) is incorrect – it’s a duplicate of Piquet’s time.
    The correct values are: `time` = ‘+1:14.97’, milliseconds = 5250700.

  23. Admin Avatar

    Thanks Emkael – now corrected.

  24. Caleb Avatar


    There seems to be an issue with the FastestLap data on at least one result:



    Force India



    As you can see, the AverageSpeed field is the same as the Time field. Just wanted to make you ware. Thanks for the wonderful API!


  25. Admin Avatar

    Thanks Caleb – now corrected.

  26. Mike Avatar

    Hiya –

    Great API as always 🙂

    Just noticed the fastest lap for the Australian GP (Ricciardo) is missing (link below), but all other data is available:


  27. Admin Avatar

    Thanks Mike – I’ve had a lot of issues with the data at the start of the season, due to unforeseen changes in formats.

  28. Tony Avatar

    Hi Chris

    Lots of niggling changes to the data publication format, eh?!

    Just spotted an issue in 2018/1 quali results – red_bull – HAR and GAS have constructor_id red_bull rather than toro_rosso


  29. Admin Avatar

    Thanks Tony – now corrected.

  30. Jeffrey Avatar

    Hi Chris,

    There seems to be something wrong in the lap times for the 2018/1 race, most of them are way too low.
    The lap times for Vettel seems to be right. For Hamilton and Raikkonen only the safety car laps are off. For the other drivers almost all laps are off.


  31. Admin Avatar

    Hi Jeffrey.
    Thanks for warning – now corrected.

  32. Admin Avatar

    Hi Jeffrey,
    Check the lastest image. They should be there.

  33. Jeffrey Avatar

    Hi Chris,

    Amazingly fast response! I can confirm the lap times are now correct.


  34. Lukas Avatar


    i found mistake in laptimes from Bahrain 18 GP. Here Gasly’s lap 20 time is 1:56.448, but in FIA’s pdf this time was achieved in lap 16 after his pitstop. It looks like his laptimes are in wrong order.


  35. Admin Avatar

    Hi Lukas,
    Thanks for the warning. Now corrected.

  36. Evan Avatar

    Hey, position order looks incorrect for 2018/2 Bahrain.

    Pos 1-11 are correct, but Perez and Hartley are then listed in 12 and 13 when they were 16 and 17 according to the official results.

    This appears to be because they originally finished 12th and 13th but each had 30-second penalties added to their race time.

  37. Admin Avatar

    Hi Evan,
    Thanks for the heads-up. Now corrected.

  38. Max Kossatz Avatar
    Max Kossatz


    Currently working on a uni project where we query Ergast.

    We found, that the first race in 2002 is the Australian Grand Prix (2002-03-03)

    BUT that race does not have any qualifying time.
    It’s not in the array for all QTs: http://ergast.com/api/f1/2002/qualifying.json
    It also doesnt show for a specific QT query: http://ergast.com/api/f1/2002/1/qualifying.json

    The Qualifying Time data for the Australian Grand Prix 2002 can be found on wikipedia though… so seams like Ergast is missing it in the DB.

    Exactly same problem 2001.
    We did not find the issue in any other year yet, but we will add a bug comment in case we found another year with the same issue after we completed our testing phase.

  39. Admin Avatar

    Hi Max,
    Qualifying results are only fully supported from 2003 (there’s a note on the documentation page). This is because I couldn’t find a source for some of the earlier data at the time the database was created. However, since you’ve found this data is now available on Wikipedia I’d be very happy to fill in the gaps! If you spot any other omissions that can be corrected please let me know.
    Many thanks – and good luck with the project.

  40. Chris Avatar

    Looks like Hulk has been accidentally assigned to Haas in the quali results for Monaco 2018.

    Cheers for this API, having a lot of fun with it!

  41. Admin Avatar

    Thanks for the heads-up – now corrected.

  42. Stergios Avatar

    Hi Chris,

    In the latest F1 qualifying, Leclerc and Magnussen are missing:

    In addition, http://ergast.com/api/f1/2018/last/qualifying is not up-to-date with the Canadian numbers!

    Thanks! Keep up the great work 🙂

  43. Admin Avatar

    Hi Stergios,
    Thanks for the heads-up – now fixed.

  44. Filipe Avatar

    Hi Chris, just noticed that the laptimes for the two last laps of the Canada 2018 race are missing from the lap_times.csv file.

  45. Admin Avatar

    Hi Filipe,
    AFAICT there are entries for lap 67 and lap 68 in the CSV file for the drivers who completed those laps. What do you think is missing?

  46. Amit Dhamu Avatar

    Hi, https endpoints still use http links in results. For example a call to the following:


    – MRData.xmlns: “http://ergast.com/mrd/1.4”
    – MRData.url: “http://ergast.com/api/f1/current/next.json”
    – MRData.RaceTable.Races[0].url: “http://en.wikipedia.org/wiki/2018_Hungarian_Grand_Prix”
    – MRData.RaceTable.Races[0].Circuit.url: “http://en.wikipedia.org/wiki/Hungaroring”

    Can these be fixed please.


  47. Admin Avatar

    Hi Amit,
    That will be tricky – many of the URLs are hard-coded in the database. I’ll investigate solutions.

  48. Bas Avatar

    Hi, the classification of Alonso and Stroll in the FrenchGP2018 results is not right I think: http://ergast.com/api/f1/2018/8/results

    They are both shown as R, but were classified as they had completed enough of the race distance. These should be 16 and 17. This is conform the FIA communication at https://www.fia.com/events/fia-formula-one-world-championship/season-2018/eventtiming-information-6 (bottom link).

    In the ChineseGP2018 you’ve done it as I think is right: (http://ergast.com/api/f1/2018/3/results) Brendon Hartley dropped out with collision damage at lap 51, but is classified 20.

    Thanks for the DB!

  49. Admin Avatar

    Hi Bas,
    Well spotted. Now corrected.

  50. Latsi Avatar

    Hi, can you update Italian GP results? Grosjean was disqualified… Thanks!

Leave a Reply

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