# Reference Data

The Reference Data set is a collection of data from the EVE Online SDE, ESI, and Hoboleaks data. It aims to be a single source, combining all the available data into one. It does this by taking the latest SDE (opens new window), ESI scrape (opens new window), and Hoboleaks export (opens new window) and merging them into one common format.

The Reference Data is available as a REST API with full OpenAPI spec and as a full download (opens new window).

# Development

The reference data is currently in development. While changes should be minimal, they may occur at any time.

# REST API

The full OpenAPI spec is available on Github (opens new window).

Some example paths:

# Motivation

Two primary datasets are available for third-party developers of EVE Online: the SDE and ESI. While comprehensive, these two are not equal. There is data in the SDE which isn't in the ESI, and vice-versa. Additionally, Hoboleaks provides data extracted from the EVE Online client files.

EVE Ref was originally built on taking all three sources and combining them into one, making it as comprehensive as possible. The Reference Data set is an attempt at publishing this data for other developers to consume.

# Data sources

This table show the available data and where to get it.

Data Reference data SDE ESI Hoboleaks
Accounting entry types accountingentrytypes.json
Agent fsd/agents.yaml
Agent in space fsd/agentsInSpace.yaml
Agent types agenttypes.json
Ancestors fsd/ancestries.yaml universe/ancestries.yaml
Asteroid belts fsd/universe universe/asteroid_belts.yaml
Bloodlines fsd/bloodlines.yaml universe/bloodlines.yaml
Blueprints /blueprints fsd/blueprints.yaml blueprints.json
Certificates fsd/certificates.yaml
Character attributes fsd/characterAttributes.yaml
Clone states clonestates.json
Compressible types compressibletypes.json
Constellations fsd/universe universe/constellations.yaml
Contraband types fsd/contrabandTypes.yaml
Control tower resources fsd/controlTowerResources.yaml
Corporation activities fsd/corporationActivities.yaml
Dbuffs dbuffs.json
Dogma attributes /dogma_attributes fsd/dogmaAttributes.yaml dogma/attributes.yaml localization_dgmattributes.json
Dogma attributes categories fsd/dogmaAttributeCategories.yaml
Dogma effects /dogma_effects fsd/dogmaEffects.yaml dogma/effects.yaml
Dogma expressions
Dogma type attributes /types fsd/typeDogma.yaml universe/types.yaml
Dogma type effects fsd/typeDogma.yaml universe/types.yaml
Dogma units dogmaunits.json
Dynamic attributes /mutaplasmids dynamicitemattributes.json
Expert systems expertsystems.json
Factions fsd/factions.yaml universe/factions.yaml
Graphic material sets graphicmaterialsets.json
Graphics fsd/graphicIDs.yaml universe/graphics.yaml
Icons fsd/iconIDs.yaml
Industry activities industryactivities.json
Industry assembly lines industryassemblylines.json
Industry installation types industryinstallationtypes.json
Industry modifier sources industrymodifiersources.json
Industry target filters industrytargetfilters.json
Inventory categories /categories fsd/categories.yaml universe/categories.yaml
Inventory flags bsd/invFlags.yaml
Inventory groups /groups fsd/groups.yaml universe/groups.yaml
Inventory items bsd/invItems.yaml
Inventory names bsd/invNames.yaml
Inventory positions bsd/invPositions.yaml
Inventory type masteries /types universe/types.yaml
Inventory type traits /types universe/types.yaml
Inventory types /types fsd/types.yaml - masteries, traits universe/types.yaml Adds repackagedvolumes.json
Inventory unique names bsd/invUniqueNames.yaml
Landmarks fsd/landmarks/landmarks.staticdata
Languages fsd/translationLanguages.yaml Yes, indirectly localization_languages.json
Loyalty offers Yes
Market groups /market_groups fsd/marketGroups.yaml market/groups.yaml
Meta groups /meta_groups fsd/metaGroups.yaml
Moons fsd/universe universe/moons.yaml
NPC corporation fsd/npcCorporations.yaml
NPC corporation divisions fsd/npcCorporationDivisions.yaml
Opportunity groups opportunities/groups.yaml
Opportunity tasks opportunities/tasks.yaml
Planet resources fsd/planetResources.yaml
Planetary schematics /schematics fsd/planetSchematics.yaml universe/schematics.yaml
Planets fsd/universe universe/planets.yaml
Races fsd/races.yaml universe/races.yaml
Regions /regions fsd/universe universe/regions.yaml
Reprocessing /types fsd/typeMaterials.yaml typematerials.json
Research agents fsd/researchAgents.yaml
School map schoolmap.json
Schools schools.json
Skill plans skillplans.json
Skills /skills types and dogma types and dogma
Skin licenses fsd/skinLicenses.yaml
Skin material names skinmaterialnames.json
Skin materials fsd/skinMaterials.yaml skinmaterials.json
Skins fsd/skins.yaml skins.json
Sovereignty upgrades fsd/sovereigntyUpgrades.yaml
Stargate fsd/universe universe/stargates.yaml
Stars fsd/universe universe/stars.yaml
Station operation fsd/stationOperations.yaml
Station services fsd/stationServices.yaml
Station standing restrictions stationstandingsrestrictions.json
Stations bsd/staStations.yaml universe/stations.yaml
Systems fsd/universe universe/systems.yaml
Tournament rule sets fsd/tournamentRuleSets.yaml
Universes fsd/universe
  • The ESI filenames refer to the names in the ESI scrape, minus the language suffix.

# Data structure

  • Field names will be snake_case, since that's how the ESI does it and all other data on EVE Ref Data comes from there.
    It makes sense to continue that format.
  • URLs will be snake_case, because that's how the ESI does it.
  • The JSON layout will be structured in a way mostly inspired by the ESI, though that may not always be possible.
  • Prefer keyed objects to arrays - the final object merger should be kept as simple as possible.
    Since it's not possible to merge arrays in a predictable way while preventing data duplication, keyed objects are preferred.
  • Names and descriptions will use a language map like the SDE, rather than multiple endpoints/files like the ESI.

# Corrections (TBD)

It would be possible to maintain a series of corrections and additions to the data. For instance, there are Dogma attributes which have no categories and these could be added. There are also cases where Dogma values are stored "incorrectly". For instance, sometimes the number 10% is stored as 10.0 and other times as 0.1, even though the unit for the attribute is "percentage". These could be corrected.

  • Pro: The data is more accurate, consistent, and useful.
  • Con: The data isn't a direct copy of the SDE or ESI.