Bug Reports

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


796 responses to “Bug Reports”

  1. Darren Avatar


    Python’s simplejson parser is tripping up on the drivers data because there is a trailing comma on the nationalities property, see here:


    This is not happening in the other api’s I’m using, even the ones that contain driver data, like results for example:


    Constructors is a similar api which is also working ok:


    As a workaround I’m pulling driver data from the results api, which is a little inefficient for you so I hope you forgive me ūüôā

    Thanks for the api, I’m using it to power our little fantasy formula 1 league in the office.


  2. Admin Avatar

    Thanks Darren – it’s now fixed.

  3. Romain Avatar


    When I query the database for, say, Alonso’s all-time results, I use the following URL: http://ergast.com/api/f1/drivers/alonso/driverStandings
    I get his 8 first seasons results, however, the 2010 season does not appear.
    Is this intended, or is it a bug?
    Which solution is best to get *all* results from up to today for a given driver? Should I add something like http://ergast.com/api/current/f1/drivers/alonso/driverStandings and check if there’s 0 or 1 result? At the end of the season, won’t I be counting the last results twice?

    Note: this behavior might not be consistent with getting all *race* results with the URL: http://ergast.com/api/f1/drivers/alonso/results
    In that case I do get the 2010 race results too.

    Thanks in advance,

  4. Admin Avatar


    I’ve considered this issue in the past and neither of the two possible behaviours is ideal in all circumstances. The deciding factor for me was realizing what would happen if you wanted to list all the seasons where a particular driver had won the championship e.g:


    You probably wouldn’t want this list to include the current season (which Jenson is currently leading but hasn’t necessarily won). To solve your problem I would make two queries:


    then check whether the last season attribute returned by the first query is the same as the season attribute returned by the second. If so, ignore the second query.

    Obviously, if the two season attribute values are different it means that the current season is still in progress and therefore the second query is returning interim standings, rather than final standings. Hope that helps.

  5. Bob T Avatar
    Bob T

    Great work, excellent API. One problem: in 1988 only the top 11 results counted towards a drivers WDC points, so although Prost scored more points than Senna, Senna was champion. The API lists Senna’s position as 2nd.

  6. Admin Avatar

    Thanks Bob. Now corrected. The results followed the “Top 11” rule up to the 1981 but not thereafter for some reason. The points have now been corrected 1981-1991. I think 1988 championship was the only place where the problem affected the standings.

  7. Matt Avatar

    Seems to be down today?

    All of my requests response are,
    “scgiwrap: Caller must be the nobody user”

  8. Admin Avatar

    Apologies for the outtage. There was a major upgrade by the hosting site this weekend which took out all my PHP scripts.

  9. Sean Avatar

    really looking forward to using this with sencha 2 but found the following problem.

    The jsonp callback has dots like this.

    It appears that the dots in the callback function cause a bad request. Is it possible to fix or suggest a work around.

    Many thanks

  10. Admin Avatar

    Hi Sean,

    Ok. It should work now. I was being overly cautious in restricting callbacks to function names.

    Let me know if you build something interesting.

  11. Sean Avatar

    Nice one admin that has done the trick. I will let you know when I something decent, but don’t hold your breath I have just become a daddy ūüôā

  12. Chris Southam Avatar
    Chris Southam

    Round 8 & 9 2012 seem to have the same pit stop data?

  13. Admin Avatar

    Hi Chris,

    Thanks for the heads-up. You’ve found the first bug in the new intra-race data import code. Should be correct now.

  14. Essentiel F1 Avatar

    Bonjour, dans la liste des constructeur il manque “Alfa Special”. Actuellement les r√©sultats apparaissent sous le nom de Alfa Romeo (par exemple le GP d’Afrique du Sud 1963 avec le pilote “de Klerk” http://ergast.com/api/f1/1963/10/results.json) alors qu’ils devraient √™tre sous le constructeur Alfa Special.

    Merci d’avance

  15. Admin Avatar

    Many thanks – I’ll look into it. The pre-2000 data has had less scrutiny than more recent material.

  16. Essentiel F1 Avatar

    Re-bonjour, une petite erreur concernant le circuit de Watkins Glen aux Etats Unis (http://ergast.com/api/f1/circuits/watkins_glen) celui-ci est situé à Watkins Glen (état de New York) et non à New York. Il y a environ 400 kilomètres entre les deux.


  17. Admin Avatar

    Many thanks – I’ll make it “New York State”. The locality field is generally the state, county or nearest city. Unfortunately, in the case of New York this is ambiguous.

  18. Essentiel F1 Avatar

    Merci beaucoup, j’attend √©norm√©ment aussi de Romain ūüėČ

  19. Essentiel F1 Avatar


    Je rencontre quelques petits problèmes concernant la saison 1952 :

    1/ GP d’Allemagne 1952 (http://ergast.com/api/f1/1952/6/results.json?limit=10000)
    Il manque les pilotes Willi KRAKAU, Ludwig FISCHER, Peter COLLINS, Harry MERKEL. Ceux-ci sont respectivement normalement aux places 28-31-33 et 34. Ils sont non partants c’est pour cela qu’ils ne sont surement pas dans votre API par contre ce que je ne comprend pas c’est que certains pilotes sont non partants pour d’autres GP mais quand m√™me dans votre API (ex avec le pilote Bill ASTON au GP de Grande Bretagne 1952 http://ergast.com/api/f1/1952/5/results.json?limit=10000)

    2/ GP des Pays Bas 1952 (http://ergast.com/api/f1/1952/7/results.json?limit=10000)
    Vous indiquez que le pilote Robert Manzon est partit 6√®me sur la grille hors apr√®s quelques recherche je pense qu’il est partit 8√®me.

    3/ GP d’Italie 1952 (http://ergast.com/api/f1/1952/8/results.json?limit=10000)
    Le pilote Stirling MOSS est not√© dans votre API en position 1 pour la grille de d√©part alors qu’il est normalement 9√®me.
    Le pilote Kenneth MCALPINE est not√© dans votre API en position 2 pour la grille de d√©part alors qu’il est normalement 22√®me.
    Le pilote Alan BROWN est not√© dans votre API en position 12 pour la grille de d√©part alors qu’il est normalement 21√®me.
    Le pilote Rudi FISCHER est not√© dans votre API en position 16 pour la grille de d√©part alors qu’il est normalement 14√®me.
    Le pilote Gino BIANCO est not√© dans votre API en position 25 pour la grille de d√©part alors qu’il est normalement 24√®me.

    Merci beaucoup

  20. Essentiel F1 Avatar

    Bonjour, je rencontre encore un petit problème. Cette fois ci concernant la saison 1954. Au GP de Grande Bretagne le record du tour en course est établi par 7 coureurs qui sont Alberto Ascari РJean Behra РJuan Manuel Fangio РJosé Froilán González РMike Hawthorn РOnofre Marimon et Stirling Moss. Ils se partagent donc le point attribué pour le record du tour. Ils reçoivent chacun 1/7 de point soit 0.14 points.

    Dans votre classement disponible à cette page http://ergast.com/api/f1/1954/5/results?limit=40 il manque donc 0.14 points pour les pilotes Stirling MOSS РJean BEHRA et Alberto ASCARI.

    Merci beacoup

  21. tomek Avatar

    great api! missing only access by https…

  22. Tam√°s Kov√°cs Avatar
    Tam√°s Kov√°cs

    The SQL dump contains encoding problems (assuming it’s UTF-8), for example H√ľlkenberg appears as H√ɬľlkenberg.

  23. Admin Avatar

    The encoding in the SQL dump appears to result from some quirk of MySQL. If you load the database dump (assuming UTF-8 encoding) the character encoding within the recovered database is correct. If anyone can shed light on what’s happening here please let me know.

  24. Chris Southam Avatar
    Chris Southam

    Not totally uncommon to see those sort of ‘bugs’ with data that’s UTF8.
    Always create the database with an UTF8 character set, import the data, and then be sure the headers for UTF8 have been set.

    I’ll run a test later, but I don’t think there’s a problem in the data dump itself.

  25. Dom Avatar

    Fantastic api, thanks.

    It looks like 2012 Round 18 qualifying results times use a ‘.’ (dot) delimeter between the minute and second rather than the ‘:’ (colon) used everywhere else.

  26. Admin Avatar

    Thanks Dom – now fixed.

  27. Travis Avatar

    I think there’s a similar issue as @Dom’s, but with season 2012, round 3:

    The following is for the winner of the race:

    The offset might be because of the . instead of :
    This issue affects the Time value for all drivers in that round.

  28. Admin Avatar

    Thanks Travis ‚Äď now fixed. I’ll put a check in the importer.

  29. Travis Avatar

    Awesome, thanks a lot!

  30. Travis Avatar

    Found a missing bit of data:

    Jensen button had 3 pitstops in the malaysia GP 2013, the database only returns 2.
    I found the missing data from the Formula 1 site:

    3 5 Jenson Button McLaren-Mercedes 35 17:06:47 1:44.833 2:28.309


  31. Admin Avatar

    Well spotted. Even worse – all pitstops longer than a minute have been omitted (di Resta and Sutil) so there’s a bug somewhere. Thanks!

  32. Travis Avatar

    Yeah! I was just compiling and noticed the same thing:

    malaysia 2013
    2 14 Paul di Resta Force India-Mercedes 20 16:41:12 2:03.124 2:46.837
    2 15 Adrian Sutil Force India-Mercedes 22 16:44:43 1:29.401 2:07.234

    spain 2013:
    1 15 Adrian Sutil Force India-Mercedes 8 14:15:56 1:14.026 1:14.026

  33. Admin Avatar

    Now fixed (also Sutil’s long stop in round 5). Will check preceding years when I’ve got time.

  34. opiates Avatar

    I’ve noticed inconsistencies in the race names (field `name` in table `races`):

    Some of the races end in “Grand Prix” while others simply use “GP” e.g:
    858 2011 18 24 Abu Dhabi GP 2011-11-13 13:00:00 http://en.wikipedia.org/wiki/2011_Abu_Dhabi_Grand_
    877 2012 18 24 Abu Dhabi GP 2012-11-04 13:00:00 http://en.wikipedia.org/wiki/2012_Abu_Dhabi_Grand_
    17 2009 17 24 Abu Dhabi Grand Prix 2009-11-01 11:00:00 http://en.wikipedia.org/wiki/2009_Abu_Dhabi_Grand_
    355 2010 19 24 Abu Dhabi Grand Prix 2010-11-14 13:00:00 http://en.wikipedia.org/wiki/2010_Abu_Dhabi_Grand_

    This is probably due to what’s displayed on Wikipedia, but I just thought this would be worth pointing out.


  35. Admin Avatar

    Thanks opiates – they should all be “Grand Prix”. I’m very keen on consistency!

  36. Felipe Avatar

    Hello guys!
    I think I found a bug. Maybe not so important but I will tell you it.
    In seasons list. If your query does not return a value you get a not well formatted json:
    “MRData”: {
    “xmlns”: “http:\/\/ergast.com\/mrd\/1.2”,
    “series”: “f1”,
    “url”: “http://ergast.com/api/f1/drivers/alonsok/constructors/renault/seasons.json”,
    “limit”: “30”,
    “offset”: “0”,
    “total”: “0”,
    “SeasonTable”: {
    “constructorId”: “renault”,
    “driverId”: “alonsok”,

    There is a lost comma just next to driverId string.
    Anyways thank you very much for all your work ūüôā

  37. Admin Avatar

    Thanks Felipe! Now fixed. Not sure why this code was different to the other tables – I hate being inconsistent.

  38. Thibault Avatar


    I noticed a bug if you there :

    The request will send you something even if you enter a bad round (an integer like 51).

  39. Admin Avatar

    Hi Thibault,

    At the moment it returns an empty table but I guess it could throw a 404 error. Would that be better? I’ll review this after the end of the season to see if there’s a consistent policy that could be applied.

  40. Nediar Avatar


    the request : http://ergast.com/api/f1/2013/1/qualifying.json

    the problem : drivers don’t have the field (Exemple : 'VET' for Vettel).

  41. Admin Avatar

    Thanks for the heads-up – driver codes now added. Note that they’re not always available for early historical data.

  42. Pieczar Avatar

    – in the 2013 Abu Dhabi results Nico Hulkenberg has Williams assigned as his team,
    – Pacific team (and their drivers) is missing in the 1994 standings (both drivers and constructors),
    – M. Schumacher is classified in 2nd place in 1997 standings, but he was dsq that year (at formula1.com results he is classified last),
    – McLaren is missing from 2007 constructor standings. I know they were dsq but I think it would be good to place them last with no points so there would be at least some indication that they took apart in the season.
    – From 1993 to 1997 results Sauber is named BMW Sauber.
    – In the 2013 Spanish GP results full race times are returned for all not-lapped drivers

  43. Pieczar Avatar

    There few more drivers missing in 1994 standings:
    – Andrea Montermini
    – Taki Inoue
    – Hideki Noda
    – Philippe Alliot
    – Aguri Suzuki
    – Jean-Denis Deletraz
    – Ayrton Senna
    – and Pacific drivers (Bertrand Gachot, Paul Belmondo)

  44. Admin Avatar

    Hi Pieczar,

    Thanks for the heads-up. All these points have now been corrected. To represent excluded or disqualified drivers and teams in the standings I’ve introduced a positionText field which replaces the numeric position with “E” or “D” respectively (as used in the results responses). The existing position files remains numeric.

  45. Pieczar Avatar

    In the 2005 results:
    – there are Toyota drivers missing in both race and qualifying results for Spanish Grand Prix,
    – for the first 6 rounds there were 2 qualifying sessions – starting positions were determined using combined times from both of them. Currently there are results from 1st session only stored in the database, and starting positions are wrong (ie. in Spanish GP Raikkonen had pole position but he was 3rd after the 1st session).

  46. Admin Avatar

    All now fixed.

  47. Nediar Avatar


    In this results :


    The driver “Eugenio Castellotti” have two entries.


  48. Nediar Avatar

    Same problem in this request :


    “Johnny Herbert” have two entries.

  49. Admin Avatar

    Thanks Nediar – both now fixed.

  50. Johannes Avatar


    I have some problems to work with your API. I try a “GET” with angularjs to http://ergast.com/api/f1/2014.json?callback=json and get this message: “No ‘Access-Control-Allow-Origin’ header is present on the requested resource.”. With JSONP I get “jsonp is not defined”.

    Can you help?


Leave a Reply

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