More actions
m update category to a better one |
Add example section, add section about rate limits |
||
| Line 1: | Line 1: | ||
{{Update|Need more information on the endpoints, and fleshing out some how-to guides}} | {{Update|Need more information on the endpoints, and fleshing out some how-to guides}} | ||
EVE Swagger Interface (ESI) is an API that can be used by [[Third-party tools|third party applications]] to interact with data from the EVE game servers. It replaces CREST and the XML API which were shut down on May 8th, 2018.<ref>https://developers.eveonline.com/blog/article/important-information-on-the-future-of-the-eve-api</ref> | EVE Swagger Interface (ESI) is an API that can be used by [[Third-party tools|third party applications]] to interact with data from the EVE game servers. It replaces CREST and the XML API which were shut down on May 8th, 2018.<ref>https://developers.eveonline.com/blog/article/important-information-on-the-future-of-the-eve-api</ref> The data returned by ESI is in the JSON format. | ||
ESI has both public-data and authenticated endpoints, the latter of which require a character to log in via [[EVE SSO]] to their character account to gain access to information specific to their character or, provided they have the appropriate corporate roles, their corporation. As of March 2025 there are 76 public-data and 119 Authenticated endpoints (195 total). | ESI has both public-data and authenticated endpoints, the latter of which require a character to log in via [[EVE SSO]] to their character account to gain access to information specific to their character or, provided they have the appropriate corporate roles, their corporation. As of March 2025 there are 76 public-data and 119 Authenticated endpoints (195 total). | ||
| Line 77: | Line 77: | ||
| Wars || 3 || || Details on all wars that have happened in the game, including their killmails. | | Wars || 3 || || Details on all wars that have happened in the game, including their killmails. | ||
|} | |} | ||
== Examples == | |||
To get a list of all alliances in EVE, the <code>/v2/alliances</code> endpoint can be used. It lists the alliance ID of all alliances. Since it is a public endpoint, it is even possible to a look at it in the browser, although the data comes is in machine-readable JSON: https://esi.evetech.net/latest/alliances/ | |||
Some endpoints also support parameter in the URL. For example the type endpoint <code>/v3/universe/types/{type_id}/</code> returns information about a type ID. The rifter has type ID 587. To look up informations like its description, the <code>{type_id}</code> part in the URL is replaced with the type ID. The full URL would then be https://esi.evetech.net/latest/universe/types/587/ | |||
If possible, CCP requests that users add a descriptive user agent to any ESI request, including a contact email, so that they can be contacted instead of being banned for e.g. causing too much load on the ESI servers. <ref>https://developers.eveonline.com/docs/services/esi/#user-agent</ref> | |||
== Tips & Tricks == | |||
Most ESI endpoints don't have rate-limits, but are error-limited instead, meaning an ESI application is blocked if it makes too many erroneous requests. However, there are two notable exceptions: The <code>/v2/characters/{character_id}/corporationhistory/<code> and the <code>/v1/markets/{region_id}/history/<code> endpoints have rate limits of 300 requests per IP per minute.<ref>https://forums.eveonline.com/t/resolved-esi-characters-corporation-history/391132/27</ref><ref>https://www.eveonline.com/news/view/eve-evolved-the-future-of-eves-api</ref> This rate limit is unfortunately not documented in the ESI docs. | |||
== Resources For Developers == | == Resources For Developers == | ||