API for querying system information and submitting distances

This is subject to change. Documentation & API written October 4th, 2016.

If you need to do some testing on our API, please use the http://beta.edsm.net:8080/ endpoint.
It is usually up to date with the production database, but if not, send us a message.

Getting information about a specific system - URL: https://www.edsm.net/api-v1/system

Getting information about several systems at once - URL: https://www.edsm.net/api-v1/systems

Retrieving distances - URL: https://www.edsm.net/api-v1/distances

Get systems in a sphere - URL: https://www.edsm.net/api-v1/sphere-systems

List all systems which are located around a position or another system. Submit a system with known coordinates via systemName=... to have this system as the center of the sphere or submit coordinates in the form x=12.34&y=5.6&z=7.89 to have a sphere around this point.
Submit the desired radius of the sphere with radius=n.nn.
Please note that the distance calculation is done by the database server and may differ slightly from the Elite: Dangerous Client ingame calculation.

Get systems in a cube - URL: https://www.edsm.net/api-v1/cube-systems

List all systems which are located around a position or another system. Submit a system with known coordinates via systemName=... to have this system as the center of the cube or submit coordinates in the form x=12.34&y=5.6&z=7.89 to have a cube around this point.
Submit the desired size of the cube with size=n.
This method is faster than the sphere method as it does not rely on heavy calculation.
Output is in JSON format. Parameters:
systemName Name of the system(s) you want information about. This is case-insensitive as ingame.
Spaces and other special characters in the system's name must be URL encoded.
If you call the API from within a browser, it should be encoded automatically.
If you are writing some 3rd party app, you probably know what to do. In PHP use urlencode.
Use the percent sign "%" for a wildcard.
coords Set to 1 if you want to get the coordinates (if known).
showId Set to 1 if you want to get our internal id.
Additionally, you can receive a mergedTo id, indicating that the current system was renamed and merge to another system.
showPermit Set to 1 if you want to see if a system require a permit to be entered. Also return the name of the permit when known.
showInformation Set to 1 if you want to get some basic information about populated systems, like government, allegiance, population...
pushed Set to 1 if you want to get only systems that are pushed on our homepage.
known Set to 1 if you want to get only systems with known coordinates.
unknown Set to 1 if you want to get only systems with unknown coordinates.
distances Set to 1 if you want to receive the submitted distances.
submitted Set to 1 if you want to receive information who and when submitted the names and distances.
includeHidden Set to 1 if you want to get systems and distances marked as "hidden".
Usually these are wrong system names or wrong distances submitted.
startDateTime
YYYY-MM-DD HH:MM:SS
If you only want to receive data for systems that were updated after a specific date & time, use this parameter.
That parameter is inclusive. All dates must be UTC.
endDateTime
YYYY-MM-DD HH:MM:SS
If you only want to receive data for systems that were updated before a specific date & time, use this parameter.
That parameter is exclusive. All dates must be UTC.
problems Set to 1 if you want to see the known errors.
One possible error is a submitted distance to another system where both coordinates are known, and the submitted distance is not the same as the calculated distance.
This is probably a CMDR's typo when submitting distances.
Another error is when more than one distance was submitted to the same reference system.
Both are problematic because they may prevent coordinate calculation, show former wrong calculations or other bad things like moved systems.
reqdists If you want to help finding new coordinates, set this to the number of systems you want to see where distances are needed. You get an array "reqlocatedists" with unknown systems.
Parameters are given in the URL to open. Add a question mark and the parameters you want, separated by an ampersand "&".

Note: Some parameters may be ignored when not useful, f.ex. distances=1 is always assumed for distances.php.
Most parameters are optional, but some may be required, f.ex. sysname must be set when calling sysinfo.php.

Retrieving "hidden" systems and distances

Experience and time have shown that it is better to keep wrong distances, system typos etc. in the database but mark them for not being used for any normal display, distance calculation and similar.
If you want to receive JSON arrays containing the hidden distances and systems, call:
The system names and distances found here are most probably wrong and do not match the ingame galaxy map.
If you find any which are OK in game here, please let me know.