Bug Reports

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

581 Responses to “Bug Reports”

  1. Admin says:

    Thanks for the warning Latsi – now updated.

  2. Luke Bassett says:


    I found a few errors in the lap timing csv. I noticed these because of merge errors between the lap_times and results csv files.

    For the 1999 Brazillian GP:
    Laps are recorded for Badoer (driverId: 69) although he sat that race out for an injury. I believe these laps should belong to Stephane Sarrazin (driverId: 72).

    For 1997 European GP:
    I don’t believe Giannin Morbidelli (driverId: 81) participated in that race, although he has lap times attributed to him. I believe these laps should belong to Norberto Fontana (driverId: 82).

    For the 1999 San Marino GP, Monaco GP, and Spanish GP:
    Laps are attributed to Ricardo Zonta (driverId: 41), although he was out with at foot injury. Mika Salo (driverId: 63) raced these three races for BAR.

    Thank you so much for maintaining all this data, lots of fun to play with on weekends without races =D


  3. Admin says:

    Hi Luke,
    Thanks for the corrections – now updated.

  4. Niclas says:


    Thanks for the API, really nice to get F1 data and play around with.

    I’m fetching data with

    Details: Under Result, there is Driver, Constructor, Status, Time and FastesLap in xml response.

    But in the json response there is Driver, Constructor, Time and FastesLap…not Status.


  5. Admin says:

    Hi Niclas,
    Actually, the status is present in the JSON results – it’s the statusId which is missing. I’m not sure why I included the statusId in the XML – it may have been a mistake I corrected in the JSON!

  6. Marco says:

    the team ranking seems to be wrong, the India force marks the fourth place, in fact, from the official site, after the change of company is at the seventh.

  7. Admin says:

    Hi Marco,
    Thanks for the warning – I forgot to reset Force India’s points.

  8. Marcus says:

    I have found 3 tiny ones.

    In one row of qualifying.csv q2 is ‘1:48:552’ instead of ‘1:48.552’:

    – 5665,891,3,131,9,4,”2:01.099″,”1:48:552″,”2:02.251″

    And in constructor_results.csv are two duplicates:
    – 612,75,7,11,\N
    – 14128,75,7,11,\N

    – 14845,903,3,6,\N
    – 14852,903,3,6,\N

  9. Marcus says:


    it’s pretty easy to get altitude for all circuits, btw: https://hastebin.com/ezenicikaf.makefile (In there is a prepared post request you can paste into your terminal.)


  10. Toby says:

    Hi Chris

    Possible the problem is at my end (unpacking the sql into pandas dataframes – although the process has always worked previously) but I am only seeing results to Russia from the disk image after Austin. Had no problem updating from the API though.


  11. Admin says:

    Hi Toby,
    I can see Kimi’s U.S. Grand Prix time in the SQL dump (1:34:18.643) but I guess there could be an issue elsewhere.
    I’ve re-run the dump script so it might be worth another try.

  12. Admin says:

    Thanks Marcus! Now corrected.

  13. Marcus says:

    Hi Chris,

    your database really helps a lot while learning to write proper SQL queries. Unfortunately, I am not really knowing a lot about the history of F1… The constructorResultIds 14985, 14986, 14805, and 14806 are the only rows before 1958 that have points. Is that a bug?



  14. Admin says:

    Hi Marcus,
    Thanks – I’ll investigate. The constructorResults is an intermediate table, used in calculating the standings, and may not have been used when loading historical data from various sources.

  15. Fattazzo says:

    Hi Chris,
    driverStandings and constructorStandings show wrong data.


    Correct value: Vettel 320 points, Hamilton 408 points

    Calling https://ergast.com/api/f1/current/drivers/vettel/results.json the sum of points is 320

    Calling https://ergast.com/api/f1/current/driverStandings.json is 302

    With Hamilton result do 408 and standings do 383


  16. Admin says:

    Hi Gianluca,
    Apologies, I forgot to check. Now updated.
    Thanks for the warning.

  17. Andrea says:

    Hi Chris,

    I think that the qualifying result are wrong.
    For example:
    gives me 3 pole position while Senna made 65.

    gives me 35 pole position while Schumacher made 68

    For Fangio no pole position (the correct value is 29).

    Theese problems also affect, for example, hat trick query.
    Can you check?

    Thanks in advance,


  18. Andrea says:

    Hi Chris,

    In addition to previous bug report, also fastest lap in race result is wrong.

    For example

    gives me 0 fastest lap while Senna made 19.

    I’ve done theese querys from your Uery Database Interface.

    Thnaks again.


  19. Admin says:

    Thanks Andrea – will correct.

  20. Admin says:

    Hi Andrea,
    The problems with the qualifying is caused by the fact that qualifying information is only supported from 1994 onwards – after the start of Senna’s career unfortunately. Similarly Lap Time information is only supported from 1996 onwards. Unfortunately, it has been difficult to find earlier data.

  21. Des says:

    What a great site for statistics but at the risk of sounding morbid the status of the following resultId’s should be amended from 3 to 104 as they were all fatal accidents. There are currently only 3 records with a 104 statusId.

    resultId Date Driver
    19125 30/05/1955 Bill Vukovich
    18571 30/05/1958 Pat O’Connor
    18613 06/07/1958 Luigi Musso
    18648 03/08/1958 Peter Collins
    18714 19/10/1958 Stuart Lewis-Evans
    18174 19/06/1960 Alan Stacey
    18177 19/06/1960 Chris Bristow
    18034 10/09/1961 Wolfgang von Trips
    16923 07/08/1966 John Taylor
    16637 07/05/1967 Lorenzo Bandini
    16488 07/07/1968 Jo Schlesser
    15987 21/06/1970 Piers Courage
    15189 29/07/1973 Roger Williamson
    15317 07/10/1973 François Cevert
    14469 17/08/1975 Mark Donohue
    13314 05/03/1977 Tom Pryce
    13183 10/09/1978 Ronnie Peterson
    11214 09/05/1982 Gilles Villeneuve
    5216 01/05/1994 Ayrton Senna
    5220 01/05/1994 Roland Ratzenberger
    22458 05/10/2014 Jules Bianchi

    Keep up the good work!

  22. Simon says:


    Awesome API, however I think your HTTPS certifcate has expired again as I am getting errors with HTTPS. It works with normal HTTP though.

    Thanks in advance,

  23. FYI, today, in Xcode I got this error when trying to retrieve Drivers or Constructors data: “Error: [Optional(“An SSL error has occurred and a secure connection to the server cannot be made.”)]” I went to my phone to test my app and the data isn’t populating the screen anymore. Has your SSL expired? All was fine until a few days ago.

  24. Admin says:

    Hi Chris,
    Apologies – the site cert expired. Now renewed.

  25. Tony Hirst says:

    The ANSI SQL file in the db download area “intended for things like sqlite” includes an “AUTO_INCREMENT” statement int he table definitions that SQLite chokes on (I think it expects AUTOINCREMENT ?).

    For generating a SQLIte conveniently from your MySQL master, something like https://github.com/simonw/db-to-sqlite might help? (And if it breaks, a raised issue may well lead to a fix in that package…)

  26. Admin says:

    Hi Tony,
    IIRC the ANSI-compatible SQL dump was requested by someone who wanted to use db-to-sqlite. I can’t take responsibility for conversions but I’d be happy to amend the parameters for the mysqldump if it helps. The current parameters for the ANSI dump are:



  27. Coen Verheijden says:

    Look like the database dumps and the csv dumped with conversion issues


    See below


    But there are more example..

    iconv to UTF8 will not help

  28. Admin says:

    Hi Coen,
    The example you give is truncated, rather than a conversion issue and looks ok in circuits.csv. Have you got any other examples?

  29. Aleksander says:


    I’ve just found that Robert Kubica is missing permanent number which is #88.


  30. Admin says:

    Hi Aleksander,
    Ah yes – he didn’t have one in 2010!
    Thanks for the warning.

  31. Jorge Gonzalez says:

    Antonio Giovinazzi current Permanent # should be his F1 #99 instead of the temporary #36




  32. Admin says:

    Thanks Jorge – now corrected.

  33. Yoshi says:

    Incorrect data entry of RedBull and ToroRosso constructor points.


  34. Gabor says:


    Incorrect data entry of Norris start grid. Ricciardo and Norris got the same grid number(10). Norris(9), Ricciardo(10).


  35. Admin says:

    Thanks Gabor and Yoshi – now corrected.

  36. Graeme says:


    I am using your (very awesome btw) API to do some F1 visualisation and also build a Tableau Web Connector to get the data.

    In looking at this, I have been calculating driver ages at the start of each season and noticed that there is one driver without a DoB – Ray Reed.

    I have a workaround to put it in place with a calculation using the DoB from his Wikipedia page to populate it but just wanted to let you know it was not in the DB.

    Again, keep up the amazing work with this – it is so comprehensive and a joy to work with.

    Graeme Ord – Tableau Developer

  37. Admin says:

    Hi Graeme,
    Thanks for pointing this out – the date has been added.

  38. Mike says:

    Not so much a bug, but missing data. The results for the China GP have been added, but no Fastest Lap data is available.

    Thanks for the continued work on the awesome API 🙂

  39. Admin says:

    Hi Mike,
    Unfortunately, the data hasn’t been published yet. Hope to add it in the next 24 hours.
    UPDATE: all data now available + new DB dump

  40. Davide Albiero says:

    Hi, I think you need to rebuild the database regarding the lap section. The response time is very high. I took a look at how the database was designed and the table was designed really badly. I think you should split it or do something to solve this problem. Best Regards Davide

  41. Admin says:

    Hi Davide,
    Suggestions on the table design and indexing would be very welcome. I’ve had previous complaints about performance, so the documentation page now says you should include a lap number in the query (but it still works without, albeit slowly).

  42. Michal says:

    Hi, the qualifying results for Baku should be updated with Kimi Raikonnen not being classified.

    Thank you for the API and service

  43. Admin says:

    Hi Michal,
    Thanks for the info now updated.

  44. mkl says:

    Hi, found some missing results and other misc. errors in the database.

    – in the 1961 US GP, Olivier Gendebien shared his drive with Masten Gregory – this is not reflected in the DB
    – in the 1964 US GP, Mike Spence shared his drive with Jim Clark – this is not reflected in the DB
    – Andrea de Adamich (DNF after 26 laps, between Soler-Roig and Peterson) is missing from the results of 1971 Spanish GP
    – at the final 2 races of the 1978 season (US, Canada), Rene Arnoux was driving #18 entry, not #31
    – Corrado Fabi is listed in the results of 1984 British GP – it was Teo Fabi who drove that race
    – finally, in the 2017 US GP, the driver numbers for Ferrari drivers are switched around

    If you want, I’ve got ready-made SQL statements to correct these: https://gist.github.com/emkael/7dc3e45504721f0b2fd01609577857aa

    Michal K.

  45. Admin says:

    Thanks Michal – that’s really helpful!

  46. mkl says:

    Some Q1/Q2 time corrections in qualifying table:

    – 2008 Bahrain GP: Vettel (qualifyId = 63) Q1 time should be 1:33.562
    – 2008 Bahrain GP: Sutil (qualifyId = 64) Q1 time should be 1:33.845
    – 1998 Brazilian GP: Magnussen (qualifyId = 1693) Q1 time should be 1:19.644
    – 1997 Brazilian GP: Panis (qualifyId = 1835) Q1 time should be 1:16.756
    – 2012 British GP: Karthikeyan (qualifyId = 5178) Q1 time should be 1:53.040
    – 2014 German GP: Bianchi (qualifyId = 6099) Q1 time should be 1:19.676
    – 2011 Monaco GP: Di Resta (qualifyId = 4669) Q2 time should be 1:16.118
    – 2013 Singapore GP: Raikkonen (qualifyId = 5718) Q2 time should be 1:44.658

    Here’s an SQL file: https://gist.github.com/emkael/8efbf656b1a442b14614ad204e2ed510

  47. Admin says:

    Hi Gustavo,
    The default page limit is 30 entries, so Senna is in the second page of results:
    Alternatively you can increase the page size:

  48. Berdy says:

    Hey, can you make it possible to provide lap times in seconds too? It will make working with the lap times way more easier when you have the choice between regular “0M:SS.SSS” format and a format that is more easily readable computer wise.

  49. Lenny says:

    In the 1950 Italian GP, Alberto Ascari raced for Ferrari not Alfa Romeo. http://ergast.com/api/f1/1950/7/results

Add a Comment: