On June 19th, CCP’s Team Tech Co. posted on the EVE Third Party Developer Blog, warning developers using a specific API would face bans if they did not alter their usage within a week. With the grace period gone, we’re reaching out to EVE Online developers to spotlight the blog and possible repercussions.
“From this point forward, using the search endpoints as a discovery mechanism will be considered abuse of the API, and will be met with bans. There will be a grace period of 1 week from the release of this blog for people to turn off their scrapers. People who increase the rate of scraping during this week will be banned from the API.” – Team Tech Co.
On May 8th, 2018 the EVE Swagger Interface (ESI) became the only API to access EVE Online data after the CREST, and XML based APIs were decommissioned. Both the CREST and XML based APIs had caching and rate limits built into their design; however, ESI has no such limitations. The reduced barrier to gathering data results in more options for developers, such as more timely market data and killboard updates. However, weak design points in the ESI are showing earlier than with the previous APIs as developers find new and, let’s say, exciting ways to utilize the data.
To understand why this use of the ESI has been flagged as “Abuse of the ESI,” let’s look at the number of calls it would require to return an extensive data set from a search, for example, citadel docking rights.
There are 5431 K-space systems (230 of which are not linked) and 2,499 W-space systems, meaning that a minimum of 7,931 calls is required to get the data. An unnamed developer using the ESI in this manner stated the actual number of requests is over 8,000 for each character search, and with the ESI running on an Amazon Web Services (AWS) it an expensive service for CCP to provide.
Personally, it feels very generous for CCP not to place rate limits on ESI, as it was a difficult barrier in previous EVE Online APIs. That being said CCP could refactor search calls to provide the same data more cost efficiently.
A link to the original Team Tech Co. post can be read here: The Esi API Is A Shared Resource, Do Not Abuse It.