Sunsetting ETF2L API V1 and planned server maintenance
October 7, 2026

Banner by
soda
As ETF2L Staff continues to take care of the maintainability of the site from technical perspective, we would like to announce the end of life for ETF2L API V1.
ETF2L API V1 has been written by
dave in an old language called Perl with little modifications by
Aoshi and
supra in order to be able to run it properly, however we are very grateful for
adje for writing a new API interface from scratch in a modern PHP web framework called Laravel and
Aoshi for upgrading the app to the latest version.
Hosting two applications serving the same purpose does not make any sense; while ETF2L API V1 serves more formats, they are not being used by the community service making queries to us for league player data, such as tf2pickup.org, TF2Center, protfx.com and way more. Connections to less popular formats like XML were done pretty much exclusively by web crawlers or botnets looking for vulnerabilities. By shutting API V1 down, we are minimizing attack vector to our services from security point of view.
Therefore, ETF2L API V2 will replace API V1 entirely and will be served from 1st November 2026 on the current main API address https://api.etf2l.org and we plan to serve API access on this address only. We are going to keep listening to API queries on https://api-v2.etf2l.org until the end of this year, so there is enough time to switch to a proper address.
Please note, that ETF2L API V2 has some breaking changes compared to V1:
- queries are served only as JSON, all other formats are deprecated,
- there is a difference in how pagination is being done by the app,
- there are slightly more endpoints available to query.
During the change, we also plan to upgrade our database to a newer version, therefore we plan to have a downtime between in the 1st November 2026 between 10:00 and 14:00 CET.
Downtime will include the website ETF2L.org as well.
Best regards,
supra





Posted by 



content rss
gdzie medale
gdzie medale
gdzie medale
w dupie
dave mentioned!
Yay! That code was probably ugly as hell. But it ran for what, 15 years?
Good old perl never breaks.