I have been thinking more about this. The API does provide one useful thing; data relationships. Since iGP is SSR, a lot of the pages get presented 'as is', there isn't necessarily a relationship between them.
Just to list some examples;
1. There is no relationship from a results popup to the race it comes from. If you were to open a result page, and change the id in the uri to a different number... you have no direct way to know where those results come from. You have to note down the date the results were posted, click into one of the drivers, then the team, and then look at the team history to find which league they were in on that race date.
2. There is no relationship on the results to a team. You can click into drivers, and then that will tell you the team the driver is currently in, but that might not necessarily be correct if the driver was released or transferred. It does show you the team name and colour, but there are a lot of instances where teams have the same name.
3. Race history has no relationship to a season. If you go to your race history, you can see a list of all of the races that you've taken part in. However, as above, you can't tell which season that result took place. In fact, there is no way to know when a past season took place in the game; unless you have a list of dates yourself, it is almost impossible to know.
4. There is no way to identify past races for a league (prior to the active season). Unfortunately, you can't open a league that you're not in and find a list of results, it doesn't seem to exist anywhere.
[Side note, it would be incredibly useful if, when looking at a previous season, it had three tabs; Drivers, Teams, and Results. It would only need to show the track name, with a link to the result at the least, and maybe the race winner. But I have no idea if this data is even stored anywhere.]
5. There is a confusing relationship between managers, users and teams, which I only discovered by accident.
Try this; click League on your menu, and click on an icon for a manager in the comments section and a popup will show. Note the uri:
https://igpmanager.com/app//d=profile&user=xxxxxxxxx&tab=overview.
Now from that popup, click one of the drivers, which will open a driver page, and at the top section you should see the team name again. Click that, you should get the same popup as before with the team details... but .... note the uri is different:
https://igpmanager.com/app/d=profile&team=yyyyyyyyyyy&tab=overview
Now, go back to the League page, click 'Elite', or whichever tier the manager you chose above is in, and click that team. Same team details page, but as before, note the uri:
https://igpmanager.com/app/d=profile&manager=zzzzzzzzz&tab=overview
The same page, with three uri's and three different id's. This almost caused an issue for me when collecting data, as I was clicking each team in the league and storing the manager id's as an identifier. Then, at some point I had to add another which I got to by clicking from the user ..... and by an absolute miracle, I had unknowingly copied a user id instead which happened to be identical to another manager's manager id, so I was able to catch the mistake and that's what led me to this discovery.
So yeah, if there was an API, even if it was something that had to be pinged manually after each race, it would clear up a bunch of these issues. :)