The Heliophysics Data Application Programmer’s Interface (HAPI) specification is a time series download and streaming format specification.
When data are available from a HAPI server, there is no need to download data files and write custom file reader programs. Using a HAPI client library, data can be loaded into an array using a single command in IDL, MATLAB, and Python.
A list of HAPI-compliant data servers is available at http://hapi-server.org/servers/.
The GitHub project hapi-server contains a collection of HAPI-related software and documentation, including client and server libraries and code for verifying and testing a HAPI server.
Use the interface at http://hapi-server.org/servers/ to download data from your browser, generate ~10-line IDL/MATLAB/Python scripts to download data, and create preview plots.
The HAPI specification describes a minimum set of capabilities needed for a server to allow access to the time series data values within one or more data collections.
Prior to writing server-side software, we suggest trying the generic stand-alone HAPI server. If you can generate HAPI ASCII of your datasets with a command line program, you can use this server to quickly get a HAPI-compliant server running on your site.
User-contributed source code for servers in various languages is available at at GitHub. This contributed code is typically not up-to-date or generalized but it may be useful for getting started.
See the server-ui repoistory for a basic server entry/overview page template for a HAPI server. Code is also available for a web interface for generating URLs to download data, plotting data from a HAPI server, and generating scripts that read and plot the selected parameter (the code used by http://hapi-server.org/servers/).
Server developers can test their server for HAPI-compliance using the HAPI server verification service.