IEM API
The primary goal of this website is to make data freely available in an open manner. This page presents details the IEM's Application Programming Interface (API).
But first, perhaps there are better alternatives!
The following is a list of other web service providers. They all do a better job than this website does. Some of these are commercial and this listing should not be implied as an endorsement. Of course, you can just search google for Weather API :)
But you are here wondering about the IEM's API services? Presently, there are two portals with information about IEM APIs:
- Legacy ad-hoc/legacy (Geo)JSON services
These have been around for a while and while they work, they are generally somewhat brittle. - IEM API v1 Documentation
Work is ongoing now to migrate the services found in #1 above into a more robust and self-documenting API system. This is the future and will see significant expansion during 2020.
Scriptable CGI Services
Some of the IEM data services are not ammenable to being used within a API
service that aims for sub-second response times. These services also consume
a lot of resources and are not as scalable. As such, we have a few services
rooted within /cgi-bin/
style 2000s era web services. There are primative
help pages for these services:
- ASOS/METAR Data (/cgi-bin/request/asos.py)
- ASOS 1 Minute NCEI Data (/cgi-bin/request/asos1min.py)
- ASOS Satellite + Cloud Product (/cgi-bin/request/scp.py)
- AWC Graphical Airmets (/cgi-bin/request/gis/awc_gairmets.py)
- Center Weather Advisories (/cgi-bin/request/gis/cwas.py)
- HADS/DCP/SHEF Data (/cgi-bin/request/hads.py)
- Hourly Precip (/cgi-bin/request/hourlyprecip.py)
- Iowa NASS (/cgi-bin/request/nass_iowa.py)
- Iowa State Soil Moisture Network (/cgi-bin/request/isusm.py)
- IEM Climodat stations (/cgi-bin/request/coop.py)
- IEM Computed Daily Summaries (/cgi-bin/request/daily.py)
- Local Storm Reports (/cgi-bin/request/gis/lsr.py)
- METARs (/cgi-bin/request/metars.py)
- Miscellaneous/Other (/cgi-bin/request/other.py)
- Model Output Statistics (/cgi-bin/request/mos.py)
- NLAE Flux Stations (/cgi-bin/request/nlaeflux.py)
- NEXRAD Storm Attributes (/cgi-bin/request/gis/nexrad_storm_attrs.py)
- NWS Text Data (/cgi-bin/afos/retrieve.py)
- NWS Watch/Warning/Advisories (/cgi-bin/request/gis/watchwarn.py)
- Pilot Reports PIREPS (/cgi-bin/request/gis/pireps.py)
- RASTER 2 netcdf (/cgi-bin/request/raster2netcdf.py)
- RAOB Soundings (/cgi-bin/request/raob.py)
- Roadway Weather Information (RWIS) (/cgi-bin/request/rwis.py)
- Soil Climate Analysis Network (/cgi-bin/request/scan.py)
- SIGMETs (/cgi-bin/request/gis/sigmets.py)
- SPC MCD (/cgi-bin/request/gis/spc_mcd.py)
- SPC/WPC Outlooks (/cgi-bin/request/gis/spc_outlooks.py)
- SPC Convective Watches (/cgi-bin/request/gis/spc_watch.py)
- Special Weather Statements SPS (/cgi-bin/request/gis/sps.py)
- SPC Watch by County (/cgi-bin/request/gis/watch_by_county.py)
- Temp Winds Aloft (/cgi-bin/request/tempwind_aloft.py)
- Terminal Aerodome Forecast TAF (/cgi-bin/request/taf.py)
- WPC Mesoscale Precip Discussions (/cgi-bin/request/gis/wpc_mpd.py)
- Windrose Generator (/cgi-bin/mywindrose.py)
API Stability?
In general, we do not try to break things but bugs happen. The plan is to auto-redirect any of the legacy services into the more modern API system. As always, please email us with any concerns you have. We are extremely responsive to email :)
Service Changes
- 24 April 2020: Update this page to reflect the new API services and migrate the backend to use it!