Bug Reports

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

280 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.

Add a Comment: