If you have any comments, suggestions or feature requests please add them here. Problems and errata can be reported on Bug Reports page.

402 Responses to “Feedback”

  1. Admin says:

    Hi Vivec,
    Apologies – now published.
    Thanks for the reminder.

  2. Vivec says:

    Hi Chris,

    Want to thank you again for this amazing resource!
    I’ve recently put live. It’s mostly geared towards comparison of drivers, constructors and careers. More to come in the next few weeks and months.
    Could not have done this without your data!


    The Netherlands

  3. Hello, as always love the work you do for this site. just one question, do you know when you will be updating 2018 drivers. I only ask as my site relies on your data

  4. Admin says:

    Hi James,
    I’ve added all the prospective drivers I’m aware of to the database. A list of drivers and constructors for the year is only available after the first race, due to the design of the database. The logic here is that you never really know who’s going to turn up at the first race (remembering the US F1 hype)

  5. wow thanks. forgot about that. great work as always….

  6. Rolandas says:

    Thanks for great work You do. I’m using this data for challenge with colleagues about race standings. But we using for the challenge and Practice results.
    Do You have plans add Practice results?

  7. Toby says:

    Hi Chris
    I was wondering whether the issue with the import of the lap times is still likely to be an issue this season? When would you typically expect a full update to be completed after a race? And also the likely lag to the disc image? I understand this will vary and is on a best endeavors basis but just wanting to get an idea of how quickly after races we might be able to publish some analysis.
    Many thanks

  8. Admin says:

    Hi Rolandas,
    Unfortunately that would be a lot of extra work because of the number of sessions, so I haven’t attempted it.

  9. Admin says:

    Hi Toby,
    Hopefully I can keep to the original target of 3 – 6 hrs after the race. However, the first race of the season often throws up some surprises so I can’t guarantee this initially.

  10. Jon says:

    For the schedule – is it race only, or is it possible to retrieve times of practice/qualifying sessions?

    Also, is there somewhere you source this data from automatically, or do you enter it manually once a year?


  11. Toby says:

    Hi Chris

    Just a heads up in case you weren’t aware. It looks like the race data is updated for access via the API but the db image was last updated 18/3 so doesn’t yet include data for the Australian GP.


  12. Admin says:

    Hi Toby, Thanks for the reminder – now updated. I was pre-occupied fixing problems with the data import on race day.

  13. Admin says:

    Hi Jon,
    The schedule is currently race only. There are various sources but they’re not usually in a convenient format!

  14. dakota says:

    I downloaded the db image & opened in MySQL. Lap times from Australian GP aren’t in there, unless I’m doing something wrong.

  15. Admin says:

    Hi Dakota, Apologies. Check the lastest image – they should be there.

  16. dakota says:

    Perfect! Thanks so much. This website is awesome.

  17. Toby says:

    Hi Chris

    Just looking at the pitstops table for the Chinese GP for 2017 (raceId==970). There seems to be 82 records? For example Massa and Perez have 6 pitstops recorded for China 2017. Something looks amiss.

    I am planning to write some validation code do a range of checks on the database sometime soon which should help to turn up anything that looks odd like this. Will let you know once when I make some progress.


  18. Admin says:

    Hi Toby, I think it was an unusual race with lots of changes between wet, intermediate and slick tyres. You can check here:
    Validation tests would be good though!

  19. Toby says:

    Thanks Chris, I did do a spot check on lap times to try to make sense of the stops but clearly didn’t look closely enough! Will let you know when I make some progress on validation


  20. Felipe says:

    This is a great resource, thank you!

    Are there plans to add tire data in the future?


  21. Admin says:

    Hi Felipe,
    Unfortunately, I haven’t been able to find a consistent and reliable source of tyre data. It would be great to include it

  22. Tom H says:


    Do you have any documentation detailing the names of the column headers in the CSVs that can be downloaded from this website?

    I’m trying to make sense of them but can’t.

    driver_standings.csv for example has a column A with values ranging from 1 to 68688.

    Many thanks for your help


  23. Admin says:

    Hi Tom,
    The database tables are described in the schema:

    For example the Driver Standings table has seven fields in each row:


    The CSV file doesn’t include these column labels so your software it has probably used A, B, etc. The A column probably corresponds to the driverStandingsId which is simply a unique value to identify each entry in the table.

    Note the other Id fields reference entries in other tables e.g. the driverId above references the driverId field in the Driver table.

    Hope that helps,

  24. Stergios says:

    Hi Chris,

    I know you discussed many times about the practice results. Can you lead me to any source/sources that have FP data? I may try some time to retrieve them.

  25. Admin says:

    Hi Stergios,
    You can get the practice results in PDF documents from the FIA e.g. for Canada:

  26. Andy says:

    Hi Chris,
    great API, thanks for your work!

    I was wondering if you have any plans to include which laps were driven with a virtual or on-track safety-car.
    Best regards,

  27. Admin says:

    Hi Andy,
    I’m not sure where I could the data for that. I guess you could infer it from the atypical laptimes.

  28. Umang says:

    On which api i can find world champion lists from 2005 to 2015 name with Grand Prix?
    Currently i am referring ( this API but on that response i can’t able to find Grand Prix name.

  29. Admin says:

    Hi Umang,
    A World Champion is associated with a season, rather than a single Grand Prix. What races are you trying to identify.

  30. Umang says:

    HI Chris, Thanks for your quick response. On first page i want to display World champion list and on second page i want to shows the list of the winners for every race for the selected year with highlight the row when the winner has been the world champion on grand prix of same season.

    Currently i am referring below webservices

    Please let me know your view on same.

  31. Admin says:

    Hi Umang,
    Yes, you will have to use these two queries. Unfortunately, it is not possible to use both results and standings parameters in a single Ergast API query.

  32. Andy says:

    Hi Chris,

    thanks for your quick reply.

    The only source for Safety-Car laps, I know of, is the FIA’s Lap Chart ( e.g., ).
    But that does not have a “converter-friendly” format 😉

    Best regards

  33. Alim says:

    Hi Chris,

    Is it possible to get upcoming GP info?

  34. Admin says:

    Hi Alim,
    You can use this URL:

  35. Bas says:

    Hi Chris,
    First of all: thank you for providing this great API!

    Two questions:
    – Will the disqualification of Grosjean in Italy be updatet in the data?
    – And will the ‘new’ team Racing Point Force India be included in the data?

    Kind regards,

  36. Admin says:

    Hi Bas,
    Thanks for the warning – I’ve been away so I wasn’t aware. Grosjean has been updated. For Force India, I don’t propose to change the team name but I’ve reset the points to zero in the constructor standings.

  37. Alexander says:

    I have the same question as Jon (commented on: 26 March 2018 at 23:20)
    Are there any updates?
    Maybe is there a way to get the schedule of practice and qualifying?

  38. Admin says:

    Hi Alexander,
    I’ll look into this at the end of the season, for next year. However, I’ll need to find a reliable source of the data and work out how to represent it in the API.

  39. Britta says:

    Thanks for the API, it’s been really useful!

  40. Chris says:

    Thanks for giving dumps of the database. Very helpful!

  41. Arjan Mantjes says:

    I just downloaded all the data, but i cannot find the relation for drivers and the team they belong to in every year ??

  42. Admin says:

    Hi Arjan,
    The relationship between drivers and constructors is established through entries in the results table. This is necessary, since historically, drivers may change teams mid-season.

  43. juansanluq says:

    Any way to get the team mates of specific driver?

  44. Admin says:

    Hi Juan,
    There’s no specific API method for this but you could use the driver list for the year:

    or if you know the constructorId:<constructorId>/drivers.json


  45. Mark says:

    Hi, why are you using nationalities (demonyms) instead of country codes in driver and constructor information? It’s pretty hard to generate emoji flags upon demonyms with existing js libraries (quite a pain to write my own one 🙂 ). Otherwise – super cool API!

  46. Admin says:

    Hi Mark,
    I guess the nationalities were intended for presentation purposes. If you can send me a table of nationalities to country codes I could add a column to the driver and constructor tables.

  47. Mark says:

    Hi Chris,

    Not sure what you meant by table here, but here’s a JSON with required data: Let me know if it’s ok, otherwise I’ll find something else!


  48. Admin says:

    Thanks Mark – can’t promise when I’ll get around to it, but this mapping will be useful.

  49. Emile de Bruijn says:


    The results for the latest GP are changed and still not reflected in the API.
    Gasly is now tenth…

  50. Miguel Bento says:

    Hi Chris,

    I noticed that the resuts from 1996 to 2003 do not contain the fastest lap information. However, I have been playing a bit with a copy of the database and came up with two update statements that take this info from the LapTimes table and updates the relevant fields in the Results table.

    First update statement (it updates fastestLap and fastestLapTime and takes just some milliseconds to run):

    update results
    set (fastestLap,fastestLapTime) = (select lap, time from (select l.lap, l.time, min(l.milliseconds) from laptimes l where l.raceId=results.raceId and l.driverId=results.driverId))
    where raceId in (select raceId from races where year between 1996 and 2003);

    Second update statement (this one updates ‘rank’ and takes 8 seconds to run on my laptop):

    update results
    set rank=(select count(*)+1 from results r where r.raceId = results.raceId and r.fastestLapTime 0 and raceId in (select raceId from races where year between 1996 and 2003);

    Do you want to give it a try?

    Thanks, and keep up the great work.

Add a Comment: