I have been trying to reach Zwift HQ on the forum and by e-mail (firstname.lastname@example.org) on what seems to be a difficult topic: getting access to an API.
Let’s start off that I perfectly understand that for Zwift there are concerns regarding publishing data through API:
Privacy regulations, e.g. GDPR law in Europe → ensuring private data stays private
Server load, e.g. preventing bad scripts to flood Zwift servers and decreasing user experience
However I do believe that both concerns can be addressed:
e.g. release a semi public API which only includes data which can be seen on every computer screen or stream online (e.g. names, time gap etc.) but not kg, height, age etc. etc.)
Restrict API access to developers by handing out keys
However, once a semi-public API is released by Zwift, the opportunities would be endless. It would give a boost to the Zwift community and enable clubs, race organizers and developers to automate tasks or release new functionality.
As an example, I built a Zwift Time Gap visualiser last weekend, however I was forced to use Zwiftpower data, which lags Zwift by ~1 minute and is often inaccurate (see stream). If a good API was to be released, this would have been a nice feature for everyone in the community and it wouldn’t have cost Zwift HQ one drop of sweat to see it develop.
That’s so obviously a good idea, that they’re never gonna do it. Someone would have to apologize for not doing it earlier.
Also, THIS is the level of expertise Zwift is currently operating at.
That being said, I’d have some good ideas too and might consider buying an API key.
I am aware of this; exactly because of their previous shutdown, I mentioned the first of the 2 main concerns.
But we are talking here about May 2018. Almost 4 years have passed. I am sorry, but I have a hard time believing, it is impossible to release the same data but with the GDPR/personal data stripped. Do you see the GDPR as a good reason for not having a officially distributed Zwift API for almost 4 years now?
Anything new on APIs also regarding zwiftpower at very least? Wanted to test something (non standard) for a new league but want to do calculation automatically. Hence need to load data in somehow and API should be the way to go.
If someone has done pre work also for non standard solutions for access let me know. Thanks!
Yes, I totally agree with Jan and neither do I understand what is taking so long. I do understand the complications, see my first post here, but not why noone at Zwift HQ seems to care about this: almost like they don’t realize huge improvements in Zwift experience were made thanks to API-depending initiatives like Zwiftpower and WTRL. The thing which strikes me most: I learnt WTRL gained access to Zwift API without prior permission (‘hacked’! some might say) and only confronted with this afterwards, Zwift HQ realized they could not shut it down anymore.
There are so many initiatives going on ‘under the radar’ (e.g. Sauce4Zwift being one of the latest big ones), but Zwift HQ currently has no idea which applications or developers are currently tapping off the Zwift-data, also because it does not give any developer the chance to. Unlike WTRL, I am not the type of person to gain access to the Zwift API without prior permission and start using the data. So I have sent multiple emails regarding API-access or alternatives over the past year but without any reply.
Summarized: the ‘law abiding citizen’ will get zero reply from Zwift HQ and nothing is done on publishing an API, while the bad boys are allowed to continue their Zwift-activities and are even allowed to use the Zwift API. Any semi-decent developer can get access to the full history of Zwift racing. It seems to me Zwift is tolerating it, because they know there’s some added value to the data being used, but they are slacking in facilitating this properly. So now we have ended up with the worst of both worlds for many years:
Vulnerable: All Zwift data (incl. personal data) in the history of Zwift can be downloaded.
No community support: Zwift HQ officially gives zero option to work with the data, so many initiatives are ‘under the radar’. All work/coding done by the community can be erased by Zwift without prior notice.
Toleration policy: But at the same time, initiatives without permission are tolerated and some even end up being supported.
Hopefully I am able to make Zwift HQ realize that the above combination could in many ways have catastrophic PR consequences, and they start facilitating Zwift-data usage in a organized way.
Perhaps for Zwift HQ the above request for a solution is not understood, because they do not feel the problem.
Apart from “nice-to-have” additional features, there’s also the “need-to-have” for simply running race series. I am slowly getting the impression Zwift HQ does not know how much work that takes.
Last week DIRT published a blog/post on their series about how much effort it takes them. and let me quote:
“somewhere in the region of about 8-hours work each week”
This is no different for the TFC Mad Monday race series, which I help to process the data. I have automated a few things, as one might imagine after reading this topic, saving many hours of work each week, but the idea that the scripts can be closed by Zwift HQ on any day, is simply unbearable. The same applies for some other Zwift racing series.
So this is the problem. The community needs it. At least a reply to one of the many open emails, PM’s or topics would be nice. @xflintx@Eric
Very similar to us at Rhino Racing. Because ZP is not really compatible with what we want to do we are forced to develop 3rd party sites for results and require a huge amount of time to administer and update
If we had the same API access as the likes of WTRL we could do some really exciting things along with massively cutting down on the time required to admin events.
I know of multiple organisers who have just said it’s too much work to try compete with WTRL, ZHQ mass events with such a limited toolset available to us.
I finally got a reply from Zwift HQ. I feel obliged to give a summary for all other people who are waiting for this:
Zwift is aware of this request and has discussed the topic of a ‘Developer API’ (as they name it) regularly internally at Zwift. They totally agree with the merit and benefit of having a ‘Developer API’.
Focus in previous years was on partner API projects: “We have invested a lot of development time in getting ZwiftPower powerful, speedy, and stable over the past years. Additionally, we work very closely with a few selected partners such as WTRL and Vitality Health to learn which API tools would be needed to put on world-class virtual events and track healthy habits.”
Zwift HQ is aware that the community devs “can add scaled value” but are “reasonable about what it will take to fully support once a developer API is released”. Finally, on release schedule / roadmap for a ‘developer API’, Zwift HQ states: “we are considering formalizing a Developer API in the coming seasons.”
Unfortunately they did not define that. My interpretation of the above is:
They did put a lot of time and effort in Zwiftpower over the past year. I know many on the forum doubt this, but I genuinely believe Zwift HQ did do their part in keeping Zwiftpower operational and preparing for future integrations.
Although they see (a part of) the merits of a Developer API, it’s also clearly not the highest priority for Zwift HQ to release a Developer API (e.g. API tools for selected partners is a higher priority).
I think the reaction shows they regard the Developer API in the light of something which could add additional features (“can add scaled value”). They recognize the “nice to have” part, but they don’t see the part that it is actually a “need to have” for community to organize and run races without spending many hours each week to check zwiftpower-results and DQ riders, generate team rankings etc.
This is why the Developer API should be the same API used by Zwift HQ developers and partners. If Zwift and “important” users all depend on the same infrastructure as “unimportant” developers, it will have to be tested and maintained, and failures will be noticed by all. Else it will be a perpetual stepchild.
Has anyone received any new updates regarding a Zwift API? It would be great to get access to the power curves, now that they seem to be removed from ZwiftPower. Would like to be able to compare race team riders using this data.
Shouldn’t be so hard to start providing oauth tokens for developers.
This in January “Zwift operates a custom API service that requires third parties to be vetted for security and quality purposes. This solution is not a scalable for community organisers at this time”
So sounds like it’s going to be months or years before we can realistically see any further support for community organisers.
If it’s a case of not wanting to vet every single community organiser I’m not sure why not work with a couple vetted third parties that they could trust. e.g zwiftracing.app to develop a racing portal rather than us continuing to have to do things on spreadsheets.
The community is dying to try out new innovative ideas even zwift themselves with world champs etc are trying things but it’s all far too manual which then results in loss of riders and organisers from even attempting such things.
At a time when Zwift are laying off people they still seem very reluctant to use free resource they could get from the community.
If there’s a process for vetting though - who to contact / how big you have to be, etc. that would at least be a start.
I’ve been working on a racing portal because of all the spreadsheet management and discord “what’s your availability / here’s the race pass” nonsense. I’m looking for a few race teams that might want to try it out and give feedback. I know we’re in the middle of finals though and everyone is busy.
I updated my FTP in the zwift app yesterday, ZwiftPower is still showing my old FTP for some reason. I suppose I could scrape the ZwiftPower Categories 3x races at 95% of 20min. wish there was an api for that.