Hello, I used to worked as a NASA contractor and one of the things I did was maintain the APOD API on api.nasa.gov.
I only recently learned of this comment board. I thought it might be useful to provide some context about the APOD API, why it was created, how it is maintained, and how it relates to NASA's organizations structure.
API.NASA.GOV, DATA.NASA.GOV, and CODE.NASA.GOV are all run under NASA Office of Chief Information Officer by a group called internally "Open Innovation". Be aware there is another group until NASA Chief Technology Officer called "Open Innovation" that does public contests.
All federal agencies are required to have DATA.<insert-agency-name>.GOV and CODE.<insert-agency-name>.GOV sites that hold metadata that describes all of their agencies' public data and open source code respectively. Getting to and keeping it at a state of "everything" is hard as you might imagine.
You can think of API.<insert-agency-name>.GOV as an extension of data.nasa.gov. Technically, it isn't required to exist but many agencies have them as seen on
https://api.data.gov/
NASA uses api.nasa.gov as a place for beginner friendly APIs. If all APIs were attempted to be put there (1) it would always end up being a partial out-of-date list (2) complicated APIs not of used to most people would swamp the beginner friendly ones. This is basically what happens when students try to find things on data.nasa.gov. The signal to noise is low.
Most of the APIs on api.nasa.gov are not created or run by Open Innovation group. Instead API.nasa.gov basically acts as a pass through service. It provides the public face, the key management, the DDOS attack protection, etc. All this is actually done by GSA (General Services Administration) for all the API.<insert-agency-name>.GOV as a free service, which is pretty awesome.
The APOD API is one of the few created and maintained by Open Innovation. It was created entirely separately from the APOD website itself before my time there.
- The API is at api.nasa.gov.
- The github repository is
https://github.com/nasa/apod-api
- The API is currently deployed on AWS Elastic Beanstalk (used to be heroku but that became harder to get paid due to government procurement stuff)
- The API can be deployed by yourself on whatever cloud service you like. Several people do this actually.
The APOD API is the most used API and dataset at NASA.
I don't have access to the current numbers, but it wasn't uncommon to have 10,000s hits on that API a month and several hundred individual developers keys be used a month. If you search on GitHub for the URL of the API, you'll get 14,000 results. https://github.com/search?q=api.nasa.go ... &type=code
The long-time stability of the API interface is a key part of this popularity.
I should note that Open Innovation at time of this writing is currently down to one person plus a little extra help of others. This impacts the degree to which pull requests and issues can be responded to quickly.
I'm no longer working as a NASA contractor or have direct edit rights to the repo. However, I can provide come context. Any discussions about bugs or enhancement should be done in the repo issues though you can cross-post here for visibility if you like.
Hello, I used to worked as a NASA contractor and one of the things I did was maintain the APOD API on api.nasa.gov.
I only recently learned of this comment board. I thought it might be useful to provide some context about the APOD API, why it was created, how it is maintained, and how it relates to NASA's organizations structure.
API.NASA.GOV, DATA.NASA.GOV, and CODE.NASA.GOV are all run under NASA Office of Chief Information Officer by a group called internally "Open Innovation". Be aware there is another group until NASA Chief Technology Officer called "Open Innovation" that does public contests.
All federal agencies are required to have DATA.<insert-agency-name>.GOV and CODE.<insert-agency-name>.GOV sites that hold metadata that describes all of their agencies' public data and open source code respectively. Getting to and keeping it at a state of "everything" is hard as you might imagine.
You can think of API.<insert-agency-name>.GOV as an extension of data.nasa.gov. Technically, it isn't required to exist but many agencies have them as seen on https://api.data.gov/
NASA uses api.nasa.gov as a place for beginner friendly APIs. If all APIs were attempted to be put there (1) it would always end up being a partial out-of-date list (2) complicated APIs not of used to most people would swamp the beginner friendly ones. This is basically what happens when students try to find things on data.nasa.gov. The signal to noise is low.
Most of the APIs on api.nasa.gov are not created or run by Open Innovation group. Instead API.nasa.gov basically acts as a pass through service. It provides the public face, the key management, the DDOS attack protection, etc. All this is actually done by GSA (General Services Administration) for all the API.<insert-agency-name>.GOV as a free service, which is pretty awesome.
The APOD API is one of the few created and maintained by Open Innovation. It was created entirely separately from the APOD website itself before my time there.
- The API is at api.nasa.gov.
- The github repository is https://github.com/nasa/apod-api
- The API is currently deployed on AWS Elastic Beanstalk (used to be heroku but that became harder to get paid due to government procurement stuff)
- The API can be deployed by yourself on whatever cloud service you like. Several people do this actually.
[b]The APOD API is the most used API and dataset at NASA. [/b]
[i]I don't have access to the current numbers, but it wasn't uncommon to have 10,000s hits on that API a month and several hundred individual developers keys be used a month. If you search on GitHub for the URL of the API, you'll get 14,000 results. [/i]https://github.com/search?q=api.nasa.gov%2Fplanetary%2Fapod&type=code
The long-time stability of the API interface is a key part of this popularity.
I should note that Open Innovation at time of this writing is currently down to one person plus a little extra help of others. This impacts the degree to which pull requests and issues can be responded to quickly.
I'm no longer working as a NASA contractor or have direct edit rights to the repo. However, I can provide come context. Any discussions about bugs or enhancement should be done in the repo issues though you can cross-post here for visibility if you like.