Skip to content

Instantly share code, notes, and snippets.

@corenting
Last active August 30, 2024 23:33
Show Gist options
  • Save corenting/b6ac5cf8f446f54856e08b6e287fe835 to your computer and use it in GitHub Desktop.
Save corenting/b6ac5cf8f446f54856e08b6e287fe835 to your computer and use it in GitHub Desktop.
Elite: Dangerous APIs findings

News

Galnet (in-game)

Return the Galnet news.

Base URL: https://cms.zaonce.net/en-GB/jsonapi/node/galnet_article

You can change the en-GB in the URL to get Galnet in others languages (fr-FR, pt-BR...).

Parameters: it looks like the API use the JSON:API module from Drupal. You can find the documentation on all supported parameters here : https://www.drupal.org/docs/core-modules-and-themes/core-modules/jsonapi-module

Notes: the official website use the following request: https://cms.zaonce.net/en-GB/jsonapi/node/galnet_article?&sort=-published_at&page[offset]=0&page[limit]=12 to have pagination and to order articles properly.

If you want to get the picture for an article you can find it at the following URL: https://hosting.zaonce.net/elite-dangerous/galnet/{field_galnet_image}.png

Normal news

Returns non in-game news (announcements...).

Base URL: https://cms.zaonce.net/en-GB/jsonapi/node/news_article

You can change the en-GB in the URL to get news in others languages (fr-FR, pt-BR...).

Parameters: it looks like the API use the JSON:API module from Drupal. You can find the documentation on all supported parameters here : https://www.drupal.org/docs/core-modules-and-themes/core-modules/jsonapi-module

Notes: the official website use the following request: https://cms.zaonce.net/en-GB/jsonapi/node/news_article?include=field_image_entity.field_media_image,field_site&filter[id][condition][path]=drupal_internal__nid&filter[id][condition][operator]=NOT%20IN&filter[id][condition][value][]=1612&filter[site][condition][path]=field_site.field_slug&filter[site][condition][operator]=CONTAINS&filter[site][condition][value]=elite-dangerous&sort[sort-published][path]=published_at&sort[sort-published][direction]=DESC&page[offset]=0&page[limit]=6 Some of the parameters are useful:

  • The filter to remove the news with ID 1612 is added as this news is the one featured on top of the website page. You can remove this filter if you want all the news normally.
  • The sort by published_at descending is useful as by default the news are ordered the other way

Community goals (initiatives)

Return the currently active initiatives

URL: https://api.orerve.net/2.0/website/initiatives/list?lang=en

Notes: the format returned (JSON or XML) depends on your request Accept header:

  • Accept: application/json for JSON
  • Accept: application/xml for XML

Game servers status

Return the game servers status.

URL: https://ed-server-status.orerve.net/

Example of a response during a maintenance for a game update:

{"status": "Maintenance", "message": "Elite is currently updating and will be back online soon.", "code": 0, "product": "FORC-FDEV-DO-1000"}

Launcher content

Return the whole HTML page used for the launcher screen.

URLs:

Notes: you can replace the en by another language code to get another language version

Store content

Return the content of the in-game store.

URL: https://api.zaonce.net/3.0/store/product

Parameters:

  • filter: json formatted list of filters (for example {"extra_type":180,"ship_model":null})

Notes: the whole URL for the pictures has the following format: https://dlc.elitedangerous.com/images/med/media/catalog/product/f/o/forc_fdev_v_type9_kit_1000-thumbnail_1_.jpg

OAuth2 API endpoints

For some features, the official website use undocumented authentified API endpoints, similar to the cAPI but hosted on other domains.

Commander

Return informations about the current logged-in commander : ranks, a lot of statistics (wealth, combat/trade/exploration statistics...)

URL: https://api.orerve.net/2.0/website/user/commanders

ARX balance

Returns the ARX balance of the logged-in commander.

URL: https://api.zaonce.net/3.0/payment/balance

Squadrons

Squadron tags

Return the list of squadron tags (languages tags, activities types...).

URL: https://api.orerve.net/2.0/website/squadron/tags/available

List

Return the list of squadrons.

URL: https://api.orerve.net/2.0/website/squadron/list?platform=PC&name=test

Parameters:

  • platform: can be PC, PS4 or XBOX
  • name: squadron name filter
  • usertags: a integer id representing the tag (solo, cqc...) for filtering. You can get the identifier using the tags endpoint.

Leaderboards

Return the leaderboards of squadrons.

URL: https://api.orerve.net/2.0/website/squadron/season/leaderboards?leaderboardType=cqc&squadronId=-1&platform=PC

Parameters:

  • squadronId: must be -1
  • leaderboardType: can be combat, trade, exploration, bgs, exploration, powerplay, aegis, cqc
  • platform: can be PC, PS4 or XBOX

Informations

Return informations about a specific squadron.

URL: https://api.orerve.net/2.0/website/squadron/info?platform=PC&tag=ech0

Parameters:

  • tag: the squadron tag
  • platform: can be PC, PS4 or XBOX

Members

Return the member of a squadron. You need to be a member of the squadron to see the informations.

URL: https://api.orerve.net/2.0/website/squadron/member/list?squadronId=2838

Parameters:

  • squadronId: identifier of the squadron that can be retrievied from the squadrons information endpoint.
@Tkael
Copy link

Tkael commented Jul 6, 2019

Unfortunately, there doesn't seem to be a way to filter Galnet feeds by language. Hmm...

@Athanasius
Copy link

api.orerve.net isn't the CAPI host, that's companion.orerve.net. I'd not tested if it is actually an alias for it... but having done so, it's definitely not the same thing. api.orerve.net gives a 404 for the usual /profile query used on the cAPI.

So I'd change "For some features, the official website use undocumented cAPI endpoints." to just "For some features, the official website use undocumented API endpoints." as those aren't actually the cAPI.

@corenting
Copy link
Author

api.orerve.net isn't the CAPI host, that's companion.orerve.net. I'd not tested if it is actually an alias for it... but having done so, it's definitely not the same thing. api.orerve.net gives a 404 for the usual /profile query used on the cAPI.

So I'd change "For some features, the official website use undocumented cAPI endpoints." to just "For some features, the official website use undocumented API endpoints." as those aren't actually the cAPI.

Thank for the feedback, I updated it :)

@BarryCarlyon
Copy link

  • cms.elitedangerous.com
  • elitedangerous-website-backend-production.elitedangerous.com

are dead

@corenting
Copy link
Author

  • cms.elitedangerous.com
  • elitedangerous-website-backend-production.elitedangerous.com

are dead

Thanks for the report ! Looks like the website was updated and the API changed. Will try to update the doc ASAP :)

@Andrew-J-Larson
Copy link

I know about the links (at least when they were at https://cms.elitedangerous.com/...):

However, I'm looking for the exact equivalent for:

Since accessing those particular URLs eliminated the use of having to paginate through the API.

Also, a note, there is a limit to the size you can use with &page[limit]=##, last I remember, I think it was 50, but someone will need to double check.

@irongut
Copy link

irongut commented Nov 5, 2021

Since yesterday server status at http://hosting.zaonce.net/launcher-status/status.json returns:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://community.elitedangerous.com/launcher-status/">here</a>.</p>
<hr>
<address>Apache/2.4.38 (Debian) Server at community.elitedangerous.com Port 80</address>
</body></html>

But the given new address returns nothing. It is a redirect that doesn't redirect and includes a dead link. 🤦‍♂️

I've tried:
http://community.elitedangerous.com/launcher-status/
http://community.elitedangerous.com/launcher-status/status.json
http://community.elitedangerous.com/status.json

Has anyone managed to find the new address?

@Athanasius
Copy link

There's an issue open about this: https://issues.frontierstore.net/issue-detail/44501

@Athanasius
Copy link

To be clear, this is also affecting the ED launcher itself. So it seems to be an error rather than them moving it to a different address.

@norohind
Copy link

norohind commented Nov 5, 2021

Or it is moving to a different address and they didn't it even test

@irongut
Copy link

irongut commented Nov 5, 2021

There's an issue open about this: https://issues.frontierstore.net/issue-detail/44501

Wow that was quick, thanks! Since they managed to break the launcher hopefully it will be fixed soon.

@Athanasius
Copy link

There's an issue open about this: issues.frontierstore.net/issue-detail/44501

Wow that was quick, thanks! Since they managed to break the launcher hopefully it will be fixed soon.

I also should have explicitly said: Please add reproductions to that issue to raise its visibility.

@norohind
Copy link

https://ed-server-status.orerve.net/ seems to be a new and working server status endpoint

@corenting
Copy link
Author

https://ed-server-status.orerve.net/ seems to be a new and working server status endpoint

Thanks! I updated the gist accordingly.

@nixpulvis
Copy link

I wrote something around this same time that scrapes all the GalNet articles from the web: https://github.com/nixpulvis/galnet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment