Thank you RoadRunner. That's extremely helpful, even though it's a lot more limited than I was hoping for.
No problem
I agree it seems a bit limited at first glance, but it's only one part of what we have to develop around for extracting data from the game. The API was originally intended to be used by Frontier's companion mobile app to download data, which I think has now been discontinued. The fact that the API is still running at all, let alone being constantly updated, is a testament to the community's tenacity in developing applications that use it and FD's commitment to promoting development around their game.
Relying solely on the API for gathering in game data isn't really enough to produce a useful companion application as it's only there to provide bulk dumps of large amounts of regularly changing data, like commodity prices and such. To get a fuller picture, you should also look into monitoring the netlog files in the game folder and the journal files too. Combining all these data sources together, you can extract:-
1. From the netlog file - Your current precise location, including the local system name, LY coordinates of the system, in system coordinates of your ship, and the body number of the closest celestial object.
2. From the journal files - Full information for just about any dynamic in-game action you perform with your ship (including, but not limited to, entering and exiting super-cruise/FSD, buying/selling to/from the markets, scanning objects/nav beacons, requesting docking permission, etc.) The journal can be very handy, so I'd recommend digesting the manual for it fully.
3. From the API - Up to the minute data on the prices and availability of just about every commodity, module, and ship from each station you visit.
They may not seem like much individually, but when combined, all this data can easily give you the ability to work out so many useful things:-
- Automatically populate a database with all data around a star, planet, or moon, including all its parameters, atmosphere, mineral content (if landable,) etc. You can even do this with no input from the user; just setup a routine to monitor the netlog and journal files for certain JSON entries and fly about collecting boat loads of data automatically!
- Where to make the most profit from trading based on commodity availability and margins.
- Work out how far away/apart things are and thus and how many jumps a navigation path will take (essentially you could pretty much write a whole a navigation computer if you wanted.)
- Locate the nearest sources of minerals, station services, ships, modules, etc.
- Design and test ship fittings and load outs.
- Upload and share the data you have personally captured in game to the wider community by connecting your application to the EDDB, thus providing a fuller experience for everyone who plays.
Tie all this together in a single application and, once you start cross-referencing the different sources of data and building up different ways to query the results, it can provide a very powerful game assistant.
I would highly recommend downloading some of the community developed applications on here and having a play with them if you want to see what's really possible though. Some of the stuff that's been achieved with the above combinations of data is quite remarkable, and far beyond what I've managed to achieve with a little archaic programming knowledge from back in the day and a copy of Access