Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

EVE Stable Infrastructure: Difference between revisions

From EVE University Wiki
m Add links to services that are often used in conjuction with ESI
Remove relative time reference. Apply QuillBot tips (https://quillbot.com/grammar-check). See UniWiki:Manual of Style/Words to watch#Relative time references
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
EVE Stable Infrastructure (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>Dev insights blog: [https://developers.eveonline.com/blog/article/important-information-on-the-future-of-the-eve-api Important Information on the Future of the EVE API] (2018-01-03)</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 [[Managing corporation members#List of roles|corporate role]], their corporation.


CCP has indicated that their goal is to completely replace the [[Static Data Export]] (SDE) with ESI, but as of September 2023, there are still many missing features. For example, industry recipes still require the [[Static Data Export|SDE]].
CCP has indicated that their goal is to completely replace the [[Static Data Export]] (SDE) with ESI, but as of September 2023, there are still many missing features. For example, industry recipes still require the [[Static Data Export|SDE]].


As a reminder to developers, it is expressly forbidden for developers of third party applications to use them for ill intent<ref name="scamming">[https://developers.eveonline.com/blog/article/reminder-no-scamming Reminder to Developers: No Scamming]</ref><ref>https://developers.eveonline.com/resource/license-agreement</ref>
As a reminder to developers, it is expressly forbidden for developers of third party applications to use them for ill intent<ref>Dev insights blog: [https://developers.eveonline.com/blog/reminder-to-developers-no-scamming Reminder to Developers: No Scamming] (2016-07-04)</ref><ref>Developer documentation: [https://developers.eveonline.com/docs/resources/license License]</ref>


ESI and SSO are commonly used together, however they do have independent features and uses as well. For this reason, they have been split into their own articles. See [[EVE SSO]] for information regarding the character authentication (and management thereof) aspect. Besides [[EVE SSO]], the [[Static Data Export]] and [[Image Server]] might also be useful.
ESI and SSO are commonly used together, however they do have independent features and uses as well. For this reason, they have been split into their own articles. See [[EVE SSO]] for information regarding the character authentication (and management thereof) aspect. Besides [[EVE SSO]], the [[Static Data Export]] and [[Image Server]] might also be useful.


== ESI Endpoints ==
== ESI Endpoints ==
ESI provides 195 endpoints, 76 of which related to public data and need no character or client authentication, and 119 of which are authenticated as they relate to privileged information about specific characters or corporations<ref>https://yurix.ch/blog/esi-endpoint-stats.html</ref>.
As of March 2025 ESI provides 195 endpoints, 76 of which related to public data and need no character or client authentication, and 119 of which are authenticated as they relate to privileged information about specific characters or corporations<ref>Yurix: [https://yurix.ch/blog/esi-endpoint-stats.html ESI endpoint counts]</ref>.


The general categories these endpoints fall under are:
The general categories these endpoints fall under are:
Line 78: Line 78:


== Examples ==
== 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/
To get a list of all alliances in EVE, the  <code>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/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/
Some endpoints also support parameter in the URL. For example the type endpoint <code>universe/types/{type_id}/</code> returns information about a type ID. The rifter has type ID 587. To look up information 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/ https://esi.evetech.net/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>
 
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>Developer documentation [https://developers.eveonline.com/docs/services/esi/best-practices/#user-agents Best Practices for ESI > User Agents] (</ref>


== Tips & Tricks ==
== 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.
ESI endpoints use a Token system for rate limiting [https://smudge.ai/blog/ratelimit-algorithms#sliding-windows Tokens on a Sliding Window refresh] - each hit on an endpoint uses up a token, and if attempted too often (usually at a rate faster than the cache time of the endpoint), the caller will be limited until the next window refresh passes and tokens are returned.
 
More information on the rate limiting can be found in the [https://developers.eveonline.com/docs/services/esi/rate-limiting/ documentation].
 
Eve uses a lot of 'ID's, that are unique for things. Ships, players, corporations, systems all have unique IDs.  Most IDs are arranged in 'Ranges' as well.  Comparing IDs against these ranges to find out what type of ID it is. https://developers.eveonline.com/docs/guides/id-ranges/ has these ranges listed out.  Figuring out what an ID is can answer many questions of what ESI to find out what it is.  There are two very fast ways to find Names for IDs as well.  Linking a thing in chat, then hit enter, then right click, and copy.    This will put the URL code in the clipboard.  Alternately, go to a site like https://zkillboard.com/ and the ID will be at the end.  Ex: https://zkillboard.com/ship/22460 the Eris id is 22460. See also [[How to get ID]]


== Resources For Developers ==
== Resources For Developers ==
Line 94: Line 99:
| https://developers.eveonline.com/docs/ || Community-maintained documentation for ESI.
| https://developers.eveonline.com/docs/ || Community-maintained documentation for ESI.
|-
|-
| https://esi.evetech.net/ui/ || CCP's front-end User Interface for "playing" with ESI and discovering what the various endpoints can do.
| https://developers.eveonline.com/api-explorer || CCP's front-end User Interface for "playing" with ESI and discovering what the various endpoints can do.
|-
|-
| https://github.com/esi/esi-issues || Official Git Repository for tracking issues and requests for ESI.
| https://github.com/esi/esi-issues || Official Git Repository for tracking issues and requests for ESI.
Line 102: Line 107:
| https://community.eveonline.com/news/dev-blogs/introducing-esi/ || Original Announcement introducing ESI.
| https://community.eveonline.com/news/dev-blogs/introducing-esi/ || Original Announcement introducing ESI.
|-
|-
| https://github.com/devfleet/awesome-eve#developer-tools-resources-and-apis || Community-maintained list of resources and tools to work with ESI.
| <s>https://github.com/devfleet/awesome-eve#developer-tools-resources-and-apis</s> || ARCHIVED (2025-06-20) Community-maintained list of resources and tools to work with ESI.
|-
| https://developers.eveonline.com/docs/community/ || Community tools and Services
|-
|-
| https://forums.eveonline.com/t/3-3-0-gesi-google-sheets-esi-library/13406 || GESI - A library for working with ESI in Google Sheets
| https://forums.eveonline.com/t/3-3-0-gesi-google-sheets-esi-library/13406 || GESI - A library for working with ESI in Google Sheets
|-
<!-- dead link |-
| https://developers.eveonline.com/blog/article/using-esi-with-google-sheets || A slightly outdated CCP Dev blog on working with GESI (see above)
| https://developers.eveonline.com/blog/Article/using-esi-with-google-sheets || A slightly outdated CCP Dev blog on working with GESI (see above) -->
|-
|-
| https://www.fuzzwork.co.uk/2017/03/14/using-esi-google-sheets/ || A different guide on working with GESI (see above)
| https://www.fuzzwork.co.uk/2017/03/14/using-esi-google-sheets/ || A different guide on working with GESI (see above)
Line 115: Line 122:
== Patch History ==
== Patch History ==
{{expansion past|
{{expansion past|
'''03.02.25''' - [https://developers.eveonline.com/blog/deprecation-and-impending-removal-of-esi-opportunities-and-esi-bookmarks Developer Blog Post]  
'''2025.03.02''' - Dev insights blog: [https://developers.eveonline.com/blog/deprecation-and-impending-removal-of-esi-opportunities-and-esi-bookmarks Deprecation and impending removal of esi-opportunities and esi-bookmarks]  
* The bookmark endpoints has been removed after being disabled for more than 5 years<ref>https://developers.eveonline.com/blog/article/temporary-blackout-of-esi-bookmarks</ref>.
* The bookmark endpoints has been removed after being disabled for more than 5 years<ref>Dev insights blog: [https://developers.eveonline.com/blog/article/temporary-blackout-of-esi-bookmarks Temporary blackout of ESI-bookmarks] (2019-11-24)</ref>.
* The opportunities endpoints have been removed.
* The opportunities endpoints have been removed.
'''2025.10.17'''
* Rate Limiting in the form of Tokens was added <ref> Dev insights blog: [https://developers.eveonline.com/blog/hold-your-horses-introducing-rate-limiting-to-esi Hold your horses: introducing rate limiting to ESI] (2025-10-17)</ref>
}}
}}


== External links ==
* Dev blog: [https://www.eveonline.com/news/view/eve-evolved-the-future-of-eves-api EVE Evolved: The Future of EVE’s API] (2025-02-27)
* Dev blog: [https://www.eveonline.com/news/view/esi-delivered-the-next-chapter ESI Delivered: The Next Chapter] (2025-08-26)
== References ==
== References ==
<references />
<references />


[[Category:Applications]]
[[Category:Applications]]